次の方法で共有


Azure App Service プランとは

"Azure App Service プラン" では、Web アプリを実行するための一連のコンピューティング リソースを定義します。 アプリ サービスは、常に App Service プランで実行されます。 また、Azure Functions には、App Service プランで実行するオプションもあります。

特定のリージョンの App Service プランを作成する場合、そのリージョンのそのプランに対して一連のコンピューティング リソースを作成します。 App Service プランに入れたアプリは、プランで定義されたとおりにそれらのコンピューティング リソースで実行されます。

各 App Service プランは以下を定義します。

  • オペレーティング システム (Windows、Linux)
  • リージョン (米国西部、米国東部など)
  • 仮想マシン (VM) インスタンスの数
  • VM インスタンスのサイズ (小、中、大)
  • 価格レベル (Free、Shared、Basic、Standard、Premium、PremiumV2、PremiumV3、IsolatedV2)

価格レベル

App Service プランの価格レベルは、取得する App Service の機能とプランの価格を決定します。 App Service プランで使用できる価格レベルは、作成時に選択したオペレーティング システムによって異なります。 次の表は、価格レベルのカテゴリを示しています。

カテゴリ レベル 説明
共有コンピューティング Free、Shared 2 つの基本レベルである Free と Shared は、他のお客様のアプリを含む他の App Service アプリと同じ Azure VM 上でアプリを実行します。 これらのレベルは共有リソースで実行される各アプリに CPU クォータを割り当てます。 リソースはスケールアウトできません。これらのレベルは、開発とテストのみを目的としています。
専用のコンピューティング Basic、Standard、Premium、PremiumV2、PremiumV3 Basic、Standard、Premium、PremiumV2、PremiumV3 の各レベルの場合、アプリは専用の Azure VM 上で実行されます。 同じ App Service プラン内のアプリのみが同じコンピューティング リソースを共有します。 レベルが高いほど、スケールアウトに使用できる VM インスタンスが多くなります。
孤立 IsolatedV2 IsolatedV2 レベルでは、専用の Azure 仮想ネットワーク上で専用の Azure VM が実行されます。 このレベルでは、アプリに対して、コンピューティングの分離の上にネットワークの分離が提供されます。 最大スケールアウト機能を提供します。

各レベルには、App Service 機能の特定のサブセットも用意されています。 これらの機能には、カスタム ドメインと TLS/SSL 証明書、自動スケーリング、デプロイ スロット、バックアップ、Azure Traffic Manager の統合などが含まれます。 レベルが高いほど、多くの機能を使用できます。 各価格レベルでサポートされる機能については、App Service プランの詳細に関するページをご覧ください。

プランのその他の比較については、「App Service の制限」を参照してください。

PremiumV3 価格レベル

PremiumV3 価格レベルでは、Standard レベルと比較して、さらに高速なプロセッサ (仮想 CPU 1 台あたり 195 Azure コンピューティング ユニット以上)、SSD ストレージ、メモリ最適化オプション、4 倍のメモリ対コア比を備えたマシンが提供されます。

PremiumV3 では、使用するインスタンス数が多いためサポートできるスケールも大きく、その一方で Standard レベルの高度な機能も提供されます。 PremiumV3 には、PremiumV2 レベルで利用できるすべての機能が含まれています。

このレベルでは、4 対 1 と 8 対 1 のメモリ対コア比率を含む、複数の VM サイズを使用できます。

App Service プラン コア数 (vCPU) メモリ (GiB)
P0v3 1 4
P1v3 2 8
P1mv3 2 16
P2v3 4 16
P2mv3 4 32
P3v3 8 32
P3mv3 8 64
P4mv3 16 128
P5mv3 32 256

PremiumV3 の価格については、「App Service の価格」を参照してください。

PremiumV3 価格レベルを使用するには、「Azure App Service の PremiumV3 レベルの構成」を参照してください。

アプリの実行とスケーリングに関する考慮事項

Free と Shared のレベルでは、アプリは共有 VM インスタンス上の CPU 時間 (分) を受け取り、スケールアウトできません。

他のレベルでは、アプリは次のように実行およびスケーリングされます。

  • App Service でアプリを作成すると、それは App Service プランの一部となります。 アプリを実行すると、App Service プランで構成されているすべての VM インスタンスで実行されます。
  • 複数のアプリが同じ App Service プランにある場合、これらはすべて同じ VM インスタンスを共有します。
  • アプリのデプロイ スロットが複数ある場合は、すべてのデプロイ スロットも同じ VM インスタンスで実行されます。
  • 診断ログを有効にする、バックアップを実行する、または Web ジョブを実行すると、これらもこれらの VM インスタンス上の CPU サイクルとメモリを使用します。

このように、App Service プランは App Service アプリのスケール ユニットです。 プランが 5 つの VM インスタンスを実行するように構成されている場合、プラン内のすべてのアプリが 5 つすべてのインスタンスで実行されます。 プランが自動スケール用に構成されている場合は、プラン内のすべてのアプリが自動スケール設定に基づいて一緒にスケールアウトされます。

アプリのスケールアウトの詳細については、「Azure での自動スケールの使用」を参照してください。

App Service プランのコスト

このセクションでは、App Service アプリの課金方法について説明します。 リージョン固有の価格情報について詳しくは、「App Service の価格」をご覧ください。

Free レベルを除き、App Service プランでは、使用するコンピューティング リソースに対して課金されます。

  • Shared レベル: 各アプリが CPU の分単位のクォータを受け取るので、"各アプリ" の CPU クォータに対して課金されます。
  • 専用コンピューティング レベル (Basic、Standard、Premium、PremiumV2、PremiumV3): App Service プランによって、アプリがスケーリングされる VM インスタンスの数が定義されるので、App Service プラン内の "各 VM インスタンス" に対して課金されます。 これらの VM インスタンスには、実行されているアプリの数に関係なく、同じ料金が課金されます。 予期しない課金を避けるには、「App Service プランを削除する」を参照してください。
  • IsolatedV2 レベル: App Service Environment によって、アプリを実行する分離された worker の数が定義されるので、"各 worker" に対して課金されます。

利用可能な App Service 機能の使用に対して課金されることはありません。 これらの機能には、カスタム ドメイン、TLS/SSL 証明書、デプロイ スロット、バックアップの構成が含まれます。 ただし、次のような例外があります。

  • App Service ドメイン: Azure での購入時と毎年の更新時に支払います。
  • App Service 証明書: Azure での購入時と毎年の更新時に支払います。
  • IP ベースの TLS 接続: IP ベースの TLS 接続ごとに時間単位の課金がありますが、Standard 以上の一部のレベルでは、1 つの IP ベースの TLS 接続が無料で提供されます。 Server Name Indication (SNI) ベースの TLS 接続は無料です。

App Service を別の Azure サービスと統合する場合は、そのサービスの料金の考慮が必要な場合があります。 たとえば、Azure Traffic Manager を使用してアプリを地理的にスケーリングする場合、Traffic Manager も使用状況に基づいて課金されます。 Azure でクロスサービス コストを見積もるには、「料金計算ツール」をご覧ください。

ヒント

Azure サービスは有料です。 Microsoft Cost Management を使用すると、予算を設定し、支出を制御するためのアラートを構成できます。 Cost Management を使用して Azure のコストを分析、管理、最適化できます。 詳細については、コスト分析に関するクイック スタートに関するページを参照してください。

能力や機能のスケーリング

App Service プランはいつでもスケールアップまたはスケールダウンできます。 プランの価格レベルを変更するだけなのでシンプルです。 最初に低い価格レベルを選び、後で App Service 機能がさらに必要になったときにスケールアップできます。

たとえば、Free レベルの App Service プランで Web アプリのテストを無料で開始できます。 カスタム DNS 名を Web アプリに追加する場合は、プランを Shared レベルにスケールアップしてください。 後で TLS バインドを作成するときに、プランを Basic レベルにスケールアップします。 ステージング環境が必要な場合は、Standard レベルにスケールアップします。 さらに多くのコア、メモリ、ストレージが必要になった場合は、同じレベルのより大きな VM サイズにスケールアップします。

逆もこの同じプロセスが機能します。 上位レベルの能力や機能が不要になった場合は、下位レベルにスケールダウンして、コストを節約できます。

App Service プランのスケールアップについて詳しくは、「Azure App Service でアプリをスケールアップする」をご覧ください。

アプリが他のアプリと同じ App Service プランにある場合は、コンピューティング リソースを分離すると、アプリのパフォーマンスが向上する可能性があります。 リソースを分離するには、アプリを別の App Service プランに移動します

アプリに新しいプランを使用するか、既存のプランを使用するかの決定

コストに関する前のセクションで説明したように、App Service プランによって割り当てられるコンピューティング リソースの料金を支払います。 複数のアプリを 1 つの App Service プランに組み込むことで、コストを削減できる可能性があります。 プランに負荷を処理するための十分なリソースがある限り、既存のプランにアプリを追加し続けることができます。

ただし、同じ App Service プラン内のアプリはすべて同じコンピューティング リソースを共有することにご注意ください。 新しいアプリが必要なリソースを持てるかどうかを判断するには、既存の App Service プランの容量と新しいアプリの予想される負荷について理解する必要があります。 App Service プランのオーバーロードは、新規および既存のアプリのダウンタイムを引き起こす可能性があります。 プラン間のその他の比較については、「App Service の制限」を参照してください。

次の場合にはアプリを新しい App Service プランに分離してください。

  • アプリが多くのリソースを消費している。
  • 既存のプランの他のアプリから独立してアプリをスケーリングする必要がある。
  • アプリに別の地理的なリージョンのリソースが必要である。 こうすると、アプリの新しいリソース セットを割り当てることができるため、アプリをより効果的に制御できます。

アクティブなスロットは、同じ App Service プランのリソースに対する競合があるため、アクティブなアプリとしても分類されます。