App Service Environment の概要

App Service Environment は、App Service アプリを大規模かつ安全に実行するために完全に分離された専用の環境を提供する、Azure App Service の機能です。

注意

この記事では、App Service Isolated v2 プランで使用される App Service Environment v3 の機能、利点、およびユースケースについて説明します。

App Service Environment は、次のものをホストできます。

  • Windows Web アプリ
  • Linux Web アプリ
  • Docker コンテナー (Windows と Linux)
  • 関数
  • ロジック アプリ (Standard)

App Service Environment は、以下を必要とするアプリケーション ワークロードに最適です。

  • 高スケール。
  • 分離およびセキュリティで保護されたネットワーク アクセス。
  • 高いメモリ使用率。
  • 高い RPS (Requests Per Second: 1 秒あたりの要求数)。 複数の App Service Environment を 1 つの Azure リージョン内に作成することも、複数の Azure リージョンにわたって作成することもできます。 この柔軟性により、App Service Environment は、RPS 要件の厳しいステートレス アプリケーションの水平方向のスケーリングに最適です。

App Service Environment では、単一の顧客のみのアプリケーションをホストすることができ、顧客の仮想ネットワークの 1 つでそれが行われます。 顧客は、受信と送信の両方のアプリケーション ネットワーク トラフィックをきめ細かく制御することができます。 アプリケーションは VPN を介した、オンプレミスの企業リソースへのセキュリティで保護された高速な接続を確立することができます。

使用シナリオ

App Service Environment には、次のようなさまざまなユース ケースがあります。

  • 内部基幹業務アプリケーション。
  • 30 以上の App Service プラン インスタンスを必要とするアプリケーション。
  • 内部のコンプライアンスまたはセキュリティ要件を満たすための単一のテナント システム。
  • ネットワーク分離アプリケーションのホスト。
  • 多層アプリケーション。

マルチテナント App Service 内のアプリをネットワーク分離リソースに接続したり、それ自体をネットワークから分離するためのネットワーク機能が多数あります。 これらの機能は、アプリケーション レベルで有効になります。 App Service Environment を使えば、仮想ネットワークに配置するアプリに追加の構成が不要になります。 アプリは、仮想ネットワークに既に存在するネットワーク分離環境にデプロイされます。 完全な分離環境が実際に必要な場合は、App Service Environment を専用のハードウェアにデプロイすることもできます。

専用の環境

App Service Environment は、仮想ネットワーク内で実行される Azure App Service のシングル テナント デプロイです。

アプリケーションをホストするのは、App Service Environment 内に作成する App Service プランです。 この App Service プランは、つまるところアプリケーション ホストのプロビジョニング プロファイルです。 App Service プランをスケールアウトしていくと、アプリケーション ホストの数が増えていきます。各ホストでは、その App Service プラン内のアプリがすべてホストされます。 1 つの App Service Environment v3 に作成できる App Service プラン インスタンスの数は、全 App Service プランの合計で最大 200 件です。 App Service Isolated v2 (Iv2) プランの場合には、1 つにつきインスタンスを 100 件まで作成できます。

専用ハードウェア (ホスト) にデプロイする場合、すべての App Service プランのスケーリングは、この種類の環境のコアの数に制限されます。 専用ホストにデプロイされる App Service Environment では、132 の仮想コアを使用できます。 I1v2 では 2 つの仮想コアを使用、I2v2 では 4 つの仮想コアを使用、I3v2 ではインスタンスあたり 8 個の仮想コアを使用します。 専用ホストにデプロイされた App Service Environment では、I1v2、I2v2、I3v2 の SKU サイズのみを使用できます。

Virtual Network のサポート

App Service Environment 機能は、仮想ネットワーク内の単一のサブネットに Azure App Service をデプロイすることです。 App Service Environment にアプリをデプロイすると、そのアプリが App Service Environment に割り当てられている受信アドレスで公開されます。 内部仮想 IP (VIP) アドレスで App Service Environment がデプロイされている場合は、すべてのアプリの受信アドレスは、App Service Environment サブネット内のアドレスになります。 外部 VIP アドレスで App Service Environment がデプロイされている場合は、受信アドレスはインターネットでアドレス指定可能なアドレスとなり、アプリはパブリック ドメイン ネーム システムに含まれます。

サブネット内の App Service Environment v3 によって使用されるアドレスの数は、インスタンスの数とトラフィックの量によって異なります。 一部のインフラストラクチャ ロールでは、App Service プランの数とその負荷に応じて自動でスケーリングが発生します。 App Service Environment v3 のサブネットに推奨されるサイズは、/24 のクラスレス ドメイン間ルーティング (CIDR) ブロック (アドレス数: 256) です。このサイズであれば、最大限スケールアウトした App Service Environment v3 であってもできるためです。

App Service Environment 内のアプリは、特に何か機能を有効にしておかなくても、その App Service Environment がデプロイされている仮想ネットワーク内のリソースにアクセスできます。 App Service Environment の仮想ネットワークが別のネットワークに接続されている場合には、その App Service Environment 内のアプリがそのネットワーク内のリソースにアクセスできます。 トラフィックのブロックは、ネットワークのユーザー構成で行うことができます。

マルチテナント バージョンの Azure App Service には、アプリをさまざまなネットワークに接続できる機能が多数用意されています。 それらのネットワーク機能を使用すると、アプリは仮想ネットワークにデプロイされているかのように動作できます。 App Service Environment v3 内のアプリには、仮想ネットワークに配置するための追加の構成が一切必要ありません。

マルチテナント サービスではなく App Service Environment を使用する利点は、App Service Environment ではホストするアプリに対するネットワーク アクセス制御が、アプリケーション構成の外部に置かれるという点です。 マルチテナント サービス内のアプリでは、アプリ単位で機能を有効にし、ロールベースのアクセス制御またはポリシーを使用して構成の変更を防ぐ必要があります。

機能の違い

App Service Environment v3 は、次の点で、以前のバージョンと異なります。

  • お客様の仮想ネットワークにネットワーキング関連の依存関係がありません。 すべての受信トラフィックと送信トラフィックをセキュリティで保護し、必要に応じて送信トラフィックをルーティングすることができます。
  • ゾーン冗長が有効になっている App Service Environment v3 をデプロイできます。 ゾーン冗長は、作成中のタイミングで、かつ、App Service Environment v3 の依存関係のすべてがゾーン冗長になっているリージョンの場合に限り設定します。 この場合、App Service Environment 上の各 App Service プランには、ゾーン間で分散できるように、少なくとも 3 つのインスタンスが必要です。 詳細については、「App Service Environment を可用性ゾーンのサポートありに移行する」を参照してください。
  • App Service Environment v3 を専用のホスト グループにデプロイすることができます。 ホスト グループに対するデプロイはゾーン冗長ではありません。
  • スケーリングが、App Service Environment v2 よりもはるかに高速です。 スケーリングは、依然としてマルチテナント サービスのように即時には行われませんが、それでも格段に高速になりました。
  • フロントエンドのスケーリング調整が不要になりました。 App Service Environment v3 のフロント エンドはニーズに合わせて自動的にスケーリングされ、より優れたホストにデプロイされます。
  • スケーリングの際にその App Service Environment v3 内の他のスケーリング操作がブロックされることがなくなりました。 スケーリング操作は、OS とサイズの組み合わせ 1 つにつき 1 件のみ有効になります。 たとえば、Windows Smallの App Service プランでスケーリングを実行している間に、同時に Windows Medium (ほか、Windows Small以外であれば何でもかまいません) でスケーリング操作を開始することができます。
  • 内部 VIP の App Service Environment v3 内のアプリに、グローバル ピアリングによりアクセスできます。 以前のバージョンでは、このようなアクセスはできませんでした。

App Service Environment v3 では、以前のバージョンの App Service Environment で利用できた機能のいくつかが利用できなくなっています。 たとえば、次の操作を行うことはできません。

  • ファイアウォールの背後にあるストレージ アカウントでのバックアップおよび復元操作の実行。
  • カスタム ドメイン サフィックスを使用して FTPS エンドポイントにアクセスします。

価格

App Service Environment v3 では、App Service Environment のデプロイの種類に応じて価格モデルが異なります。 価格モデルには次の 3 つがあります。

  • App Service Environment v3: App Service Environment が空の場合には、Windows I1v2 のインスタンスが 1 件あるものとして料金が発生します。 このインスタンス 1 件分の料金は追加の料金ではなく、App Service Environment が空の場合にのみ適用されます。
  • ゾーン冗長 App Service Environment v3: 18個 のコアの最小料金が発生します。 App Service プラン インスタンス全体で 18 個以上のコアがある場合、可用性ゾーンのサポートに対する追加料金は発生しません。 ゾーン冗長 App Service Environment で App Service プラン全体で使用しているコアが 18 個未満の場合、18 と実行中のインスタンス数のコアの合計との差が、追加の Windows I1v2 インスタンスとして課金されます。
  • 専用ホスト App Service Environment v3: 専用ホストのデプロイでは、App Service Environment v3 の作成時に Microsoft の価格設定に従って専用ホスト 2 つ分の料金が発生したうえで、その後はスケーリング時に Isolated v2 の 1 仮想コアあたりの特別料金が発生します。 I1v2 では 2 つの仮想コアを使用、I2v2 では 4 つの仮想コアを使用、I3v2 ではインスタンスあたり 8 個の仮想コアを使用します。

Note

ゾーン冗長 App Service Environment v3 の価格の計算例:

  1. ゾーン冗長 App Service Environment v3 には、1 つの App Service プラン内に 3 つの Linux I1v2 インスタンスがあります。
  • I1v2 インスタンスには 2 つのコアがあります。
  • インスタンス全体で合計 6 つのコアがあります。
  • 18 コア - 6 コア = 12 コア
  • 12 個のコアは、6 つの I1v2 インスタンスに相当します。
  • 3 つの Linux I1v2 インスタンスに加えて、6 つの追加の Windows I1v2 インスタンスに対して課金されます。
  1. ゾーン冗長 App Service Environment v3 には、1 つの App Service プラン内に 3 つの Linux I2v2 インスタンスがあります。
  • I2v2 インスタンスには 4 個のコアがあります。
  • インスタンス全体で合計 12 個のコアがあります。
  • 18 コア - 12 コア = 6 コア
  • 6 コアは、3 つの I1v2 インスタンスに相当します。
  • 3 つの Linux I2v2 インスタンスに加えて、3 つの追加の Windows I1v2 インスタンスに対して課金されます。
  1. ゾーン冗長 App Service Environment v3 には、1 つの App Service プラン内に 4 つの Linux I3v2 インスタンスがあります。
  • I3v2 インスタンスには 8 個のコアがあります。
  • インスタンス全体で合計 32 個のコアがあります。
  • 32 個のコアは 18 個のコアより大きい
  • 追加のコアには課金されません。

Isolated v2 の予約インスタンスの料金が利用可能です。詳細は、Azure App Service に予約割引を適用する方法に関するページで説明されています。 料金については、予約インスタンスの料金と共に、「App Service の料金」の Isolated v2 プランで確認できます。

リージョン

App Service Environment v3 は、次のリージョンで使用できます。

Azure Public:

リージョン 単一ゾーンのサポート 可用性ゾーンのサポート 単一ゾーンのサポート
App Service Environment v3 App Service Environment v3 App Service Environment v1/v2
オーストラリア中部
オーストラリア中部 2 ✅*
オーストラリア東部
オーストラリア南東部
ブラジル南部
ブラジル南東部
カナダ中部
カナダ東部
インド中部
米国中部
東アジア
米国東部
米国東部 2
フランス中部
フランス南部
ドイツ北部
ドイツ中西部
イタリア北部 ✅**
東日本
西日本
JIO インド西部
韓国中部
韓国南部
米国中北部
北ヨーロッパ
ノルウェー東部
ノルウェー西部
ポーランド中部
カタール中部 ✅** ✅**
南アフリカ北部
南アフリカ西部
米国中南部
インド南部
東南アジア
スウェーデン中部
スイス北部
スイス西部
アラブ首長国連邦中部
アラブ首長国連邦北部
英国南部
英国西部
米国中西部
西ヨーロッパ
インド西部 ✅*
米国西部
米国西部 2
米国西部 3

* 可用性は制限され、専用ホスト デプロイはサポートされません。
** これらのリージョンの可用性ゾーンおよび利用可能なサービス サポートの詳細については、Microsoft の営業またはカスタマー担当者にお問い合わせください。

Azure Government:

リージョン 単一ゾーンのサポート 可用性ゾーンのサポート 単一ゾーンのサポート
App Service Environment v3 App Service Environment v3 App Service Environment v1/v2
US DoD Central
US DoD East
US Gov アリゾナ
US Gov アイオワ
US Gov テキサス
US Gov バージニア州

21Vianet によって運営される Microsoft Azure:

リージョン 単一ゾーンのサポート 可用性ゾーンのサポート 単一ゾーンのサポート
App Service Environment v3 App Service Environment v3 App Service Environment v1/v2
中国東部 2
China East 3
中国北部 2
China North 3

リージョンのデータ所在地

App Service Environmentでは、アプリのコンテンツ、設定、シークレットを含む顧客データのみが、デプロイされているリージョン内に格納されます。 すべてのデータは、リージョン内に残ることを保証されます。 詳細については、「Azure でのデータ所在地」を参照してください。

App Service Environment v2

App Service Environment には 3 つのバージョン (App Service Environment v1、App Service Environment v2、App Service Environment v3) があります。 この記事の情報は App Service Environment v3 に基づいています。 App Service Environment v2 について詳しくは、App Service Environment v2 の概要に関するページを参照してください。

次の手順