外部 App Service 環境の作成
重要
この記事は、Isolated App Service プランで使用される App Service Environment v2 に関するものです。 App Service Environment v1 と v2 は、2024 年 8 月 31 日の時点で廃止されます。 より強力なインフラストラクチャ上で実行できる、使いやすい新しいバージョンの App Service Environment があります。 新しいバージョンの詳細については、App Service Environment の概要に関するページから始めてください。 現在 App Service Environment v1 を使用している場合は、この記事の手順に従って新しいバージョンに移行ください。
2024 年 8 月 31 日の時点で、App Service Environment v1 および v2 は廃止された製品になるため、これらのワークロードに対してはサービス レベル アグリーメント (SLA) とサービス クレジットが適用されなくなります。 App Service Environment v1 および v2 ハードウェアの廃止が開始されており、これが使用中のアプリやデータの可用性とパフォーマンスに影響を及ぼす場合があります。
お客様は、App Service Environment v3 への移行を迅速に完了する必要があります。これを行わないと、アプリとリソースが削除される場合があります。 Microsoft では、インプレース移行機能を使用して、残っている App Service Environment v1 と v2 の自動移行をベストエフォートで試みますが、自動移行後のアプリケーションの可用性については、いかなる主張および保証も行いません。 移行を完了し、ニーズに合わせて最適な App Service プラン SKU を選択するには、手動による構成が必要になる場合があります。 自動移行を実行できない場合、使用中のリソースと関連するアプリ データは削除されます。 これらの極端なシナリオを両方とも回避するために、今すぐ対処することを強くお勧めします。
時間的猶予が必要な場合は、移行を完了するための一回限りの 30 日間の猶予期間を設定することができます。 この猶予期間の詳細と要求方法について、猶予期間の概要に関する記事を確認した後、Azure portal にアクセスして、各 App Service Environment の [移行] ブレードに移動してください。
App Service Environment v1/v2 の提供終了に関する最新情報については、App Service Environment v1 と v2 の提供終了に関する更新情報の記事を参照してください。
Azure App Service Environment は、Azure 仮想ネットワーク (VNet) 内のサブネットに Azure App Service をデプロイしたものです。 App Service Environment (ASE) をデプロイするには、次の 2 つの方法があります。
- 外部の公開 IP アドレスの VIP を使用する。外部 ASE と呼ばれます。
- 内部 IP アドレスの VIP を使用する。内部エンドポイントは内部ロード バランサー (ILB) であるため、ILB ASE と呼ばれます。
この記事では、外部 ASE を作成する方法について説明します。 ASE の概要については、App Service Environment の概要に関するページをご覧ください。 ILB ASE の作成方法について詳しくは、ILB ASE の作成と使用に関するページをご覧ください。
ASE を作成する前に
ASE を作成した後は、次の変更は行えません。
- 場所
- サブスクリプション
- Resource group
- 使用する VNet
- 使用するサブネット
- サブネットのサイズ
Note
VNet を選択し、サブネットを指定するときは、将来的な規模の拡大縮小に対応できる大きさにしてください。 推奨されるサイズは、256 のアドレスを持つ /24
です。
ASE を作成する 3 つの方法
ASE を作成する方法は、3 つあります。
- App Service プランを作成中に作成する。 この方法では、1 つの手順で、ASE と App Service プランを作成します。
- スタンドアロン アクションとして作成する。 この方法では、何も含まない ASE である、スタンドアロン ASE を作成します。 この方法は、ASE を作成するより高度なプロセスです。 これを使用して ILB を備えた ASE を作成します。
- Azure Resource Manager テンプレートから作成する。 この方法は、高度な知識を持つユーザー向けです。 詳細については、テンプレートからの ASE の作成に関するページをご覧ください。
外部 ASE はパブリック VIP を持ちます。つまり、ASE 内のアプリへのすべての HTTP/HTTPS トラフィックは、インターネットからアクセス可能な IP アドレスに届きます。 ILB を備えた ASE には、ASE によって使用されるサブネットの IP アドレスがあります。 ILB ASE 内でホストされているアプリは、インターネットに直接は公開されません。
ASE と App Service プランを一緒に作成する
App Service プランは、アプリのコンテナーです。 App Service でアプリを作成するときは、App Service プランを選択または作成します。 App Service Environment に App Service プランが存在し、App Service プランにアプリが存在します。
App Service プランを作成中に ASE を作成するには、次の手順を実行します。
Azure Portal で、 [リソースの作成]>[Web + モバイル]>[Web アプリ] を選択します。
サブスクリプションを選択します。 アプリと ASE は、同じサブスクリプションに作成されます。
リソース グループを選択または作成します。 リソース グループを使用すると、関連する複数の Azure リソースを 1 つの単位として管理できます。 リソース グループは、アプリ用にロールベースのアクセス制御規則を作成する際にも便利です。 詳細については、「Azure Resource Manager の概要」を参照してください。
お使いの OS (Windows、Linux、Docker) を選択します。
App Service プランを選択し、 [新規作成] を選択します。 Linux Web アプリと Windows Web アプリを同じ App Service プランに追加することはできませんが、同じApp Service Environment に追加することはできます。
[場所] ドロップダウン リストで、ASE を作成するリージョンを選択します。 既存の ASE を選択した場合、新しい ASE は作成されません。 選択した ASE に、App Service プランが作成されます。
[価格レベル] を選択し、 [分離] 価格の SKU のいずれかを選択します。 [分離] SKU カードと ASE 以外の場所を選択すると、新しい ASE がその場所に作成されます。 ASE を作成するプロセスを開始するには、 [選択] を選択します。 [分離] SKU は、ASE と組み合わせた場合にのみ使用できます。 また、ASE では、 [分離] 以外の他の価格 SKU は使用できません。
ASE の名前を入力します。 この名前は、アプリのアドレス可能な名前に使用されます。 たとえば、ASE の名前が appsvcenvdemo の場合、ドメイン名は .appsvcenvdemo.p.azurewebsites.net になります。 ここで mytestapp という名前のアプリを作成した場合、この Web アプリのアドレスは mytestapp.appsvcenvdemo.p.azurewebsites.net になります。 名前に空白文字は使用できません。 大文字を使用した場合、ドメイン名はその名前をすべて小文字で表記したバージョンになります。
Azure の仮想ネットワークの詳細を指定します。 [新規作成] または [既存のものを選択] のいずれかを選択します。 既存の VNet を選択するオプションは、選択したリージョンに VNet がある場合にのみ使用できます。 [新規作成] を選択した場合、VNet の名前を入力します。 その名前の新しい Resource Manager VNet が作成されます。 選択したリージョンのアドレス空間
192.168.250.0/23
が使用されます。 [既存のものを選択] を選択した場合は、次のことを行う必要があります。a. 複数ある場合は、VNet のアドレス ブロックを選択します。
b. 新しいサブネット名を入力します。
c. サブネットのサイズを選択します。 ご使用の ASE の将来的な規模の拡大に対応できるサイズを選択するのを忘れないでください。 推奨されるのは、256 個のアドレスがあり、最大サイズの ASE に対応できる
/24
です。 たとえば、/28
は 16 のアドレスしか使用できないため、推奨されません。 インフラストラクチャは少なくとも 7 つのアドレスを使用し、Azure のネットワークはさらに 5 つを使用します。/28
サブネットでは、外部 ASE に対して最大スケーリングの 4 App Service プラン インスタンス、ILB ASE に対して 3 App Service プラン インスタンスのみが残されています。d. サブネット IP の範囲を選択します。
[作成] を選択して、ASE を作成します。 このプロセスにより、App Service プランとアプリも作成されます。 ASE、App Service プラン、およびアプリはすべて同じサブスクリプションの下に作成され、同じリソース グループに入ります。 ご使用の ASE に別のリソース グループが必要な場合、または ILB ASE が必要な場合は、単独で ASE を作成する手順に進みます。
カスタム Docker イメージを一緒に使用して ASE と Linux Web アプリを作成する
Azure Portal で、 [リソースの作成]>[Web + モバイル]>[Web App for Containers] をクリックします。
サブスクリプションを選択します。 アプリと ASE は、同じサブスクリプションに作成されます。
リソース グループを選択または作成します。 リソース グループを使用すると、関連する複数の Azure リソースを 1 つの単位として管理できます。 リソース グループは、アプリ用にロールベースのアクセス制御規則を作成する際にも便利です。 詳細については、「Azure Resource Manager の概要」を参照してください。
App Service プランを選択し、 [新規作成] を選択します。 Linux Web アプリと Windows Web アプリを同じ App Service プランに追加することはできませんが、同じApp Service Environment に追加することはできます。
[場所] ドロップダウン リストで、ASE を作成するリージョンを選択します。 既存の ASE を選択した場合、新しい ASE は作成されません。 選択した ASE に、App Service プランが作成されます。
[価格レベル] を選択し、 [分離] 価格の SKU のいずれかを選択します。 [分離] SKU カードと ASE 以外の場所を選択すると、新しい ASE がその場所に作成されます。 ASE を作成するプロセスを開始するには、 [選択] を選択します。 [分離] SKU は、ASE と組み合わせた場合にのみ使用できます。 また、ASE では、 [分離] 以外の他の価格 SKU は使用できません。
ASE の名前を入力します。 この名前は、アプリのアドレス可能な名前に使用されます。 たとえば、ASE の名前が appsvcenvdemo の場合、ドメイン名は .appsvcenvdemo.p.azurewebsites.net になります。 ここで mytestapp という名前のアプリを作成した場合、この Web アプリのアドレスは mytestapp.appsvcenvdemo.p.azurewebsites.net になります。 名前に空白文字は使用できません。 大文字を使用した場合、ドメイン名はその名前をすべて小文字で表記したバージョンになります。
Azure の仮想ネットワークの詳細を指定します。 [新規作成] または [既存のものを選択] のいずれかを選択します。 既存の VNet を選択するオプションは、選択したリージョンに VNet がある場合にのみ使用できます。 [新規作成] を選択した場合、VNet の名前を入力します。 その名前の新しい Resource Manager VNet が作成されます。 選択したリージョンのアドレス空間
192.168.250.0/23
が使用されます。 [既存のものを選択] を選択した場合は、次のことを行う必要があります。a. 複数ある場合は、VNet のアドレス ブロックを選択します。
b. 新しいサブネット名を入力します。
c. サブネットのサイズを選択します。 ご使用の ASE の将来的な規模の拡大に対応できるサイズを選択するのを忘れないでください。 128 のアドレスを持ち、最大サイズの ASE に対応できる
/24
が推奨されています。 たとえば、/28
は 16 のアドレスしか使用できないため、推奨されません。 インフラストラクチャは少なくとも 7 つのアドレスを使用し、Azure のネットワークはさらに 5 つを使用します。/28
サブネットでは、外部 ASE に対して最大スケーリングの 4 App Service プラン インスタンス、ILB ASE に対して 3 App Service プラン インスタンスのみが残されています。d. サブネット IP の範囲を選択します。
[コンテナーの構成] を選択します。
- カスタム イメージ名を入力します (Azure Container Registry、Docker Hub、および独自のプライベート レジストリを使用できます)。 独自のカスタム コンテナーを使用しない場合は、上記の手順に従って、コードを持ち込み、App Service on Linux と組み込みイメージを使用します。
[作成] を選択して、ASE を作成します。 このプロセスにより、App Service プランとアプリも作成されます。 ASE、App Service プラン、およびアプリはすべて同じサブスクリプションの下に作成され、同じリソース グループに入ります。 ご使用の ASE に別のリソース グループが必要な場合、または ILB ASE が必要な場合は、単独で ASE を作成する手順に進みます。
ASE を単独で作成する
ASE スタンドアロンを作成する場合、ASE には何も含まれません。 空の ASE でも、インフラストラクチャに対して月額料金が発生します。 以下の手順は、ILB を備えた ASE を作成するか、独自のリソース グループ内に ASE を作成する場合に行います。 ASE を作成した後は、通常のプロセスを使用してその中にアプリを作成できます。 場所として、新しい ASE を選択します。
Azure Marketplace で App Service Environment を検索するか、 [リソースの作成]>[Web + モバイル]>[App Service Environment] の順に選択します。
ご使用の ASE の名前を入力します。 この名前は、ASE で作成されるアプリで使用されます。 名前が mynewdemoase の場合、サブドメイン名は .mynewdemoase.p.azurewebsites.net になります。 ここで mytestapp という名前のアプリを作成した場合、この Web アプリのアドレスは mytestapp.mynewdemoase.p.azurewebsites.net になります。 名前に空白文字は使用できません。 大文字を使用した場合、ドメイン名はその名前をすべて小文字で表記したバージョンになります。 ILB を使用する場合、ASE の名前はサブドメインでは使用されず、ASE の作成時に明示的に指定されます。
サブスクリプションを選択します。 このサブスクリプションは、ASE 内のすべてのアプリが使用するものでもあります。 サブスクリプションが異なる VNet に ASE を配置することはできません。
新しいリソース グループを選択するか指定します。 ASE で使用されるリソース グループは、VNet で使用されるものと同じである必要があります。 既存の VNet を選択すると、ASE のリソース グループの選択は、VNet のリソース グループを反映するように更新されます。 ASE は、Resource Manager テンプレートを使用する場合は、VNet のリソース グループとは異なるリソース グループで作成できます。 テンプレートから ASE を作成するには、テンプレートからの App Service Environment の作成に関するページをご覧ください。
VNet と場所を選択します。 新しい VNet を作成するか、既存の VNet を選択できます。
新しい VNet を選択した場合は、名前と場所を指定できます。
新しい VNet のアドレス範囲は 192.168.250.0/23 になり、サブネットの名前は [既定] になります。 サブネットは、192.168.250.0/24 として定義されます。 Resource Manager VNet のみを選択できます。 選択した [VIP の種類] によって、インターネット (外部) から ASE に直接アクセスできるか、ILB を使用するかが決まります。 これらのオプションについて詳しくは、「App Service Environment で内部ロード バランサーを作成して使用する」をご覧ください。
[VIP の種類] として [外部] を選択した場合は、システムが IP ベースの SSL 用に作成する外部 IP アドレスの数を選択できます。
[VIP の種類] として [内部] を選択した場合は、ASE で使用するドメインを指定する必要があります。 パブリックまたはプライベートのアドレス範囲を使用する VNet に ASE をデプロイできます。 パブリック アドレス範囲の VNet を使用するには、あらかじめ VNet を作成しておく必要があります。
既存の VNet を選択した場合、ASE が作成されたときに、新しいサブネットが作成されます。 ポータルで事前に作成したサブネットを使用することはできません。 Resource Manager テンプレートを使用する場合は、既存のサブネットを持つ ASE を作成できます。 テンプレートから ASE を作成するには、テンプレートからの App Service Environment の作成に関するページをご覧ください。
App Service Environment v1
最初のバージョンの App Service Environment (ASEv1) のインスタンスを作成することもできます。 そのプロセスを開始するには、Marketplace で App Service Environment v1 を検索します。 スタンドアロン ASE を作成するのと同じ方法で、ASE を作成します。 完了すると、ASEv1 は 2 つのフロントエンドと 2 つの worker を持ちます。 ASEv1 では、フロントエンドや worker を管理する必要があります。 App Service プランを作成するときに自動的には追加されません。 フロントエンドは HTTP/HTTPS エンドポイントとして動作し、worker にトラフィックを送信します。 worker は、アプリをホストするロールです。 ASE を作成した後は、フロントエンドと worker の数を調整できます。
ASEv1 について詳しくは、「App Service Environment v1 の概要」をご覧ください。 ASEv1 のスケーリング、管理、および監視について詳しくは、App Service Environment の構成方法に関するページをご覧ください。