Azure App Service プランは、App Service アプリの実行に必要なリソースを提供します。 この記事では、App Service プランを管理する方法について説明します。
App Service プランを作成する
ヒント
App Service Environment 内にプランを作成したい場合は、[リージョン] の一覧でそれを選び、このセクションで説明する残りの手順に従って行います。
空の App Service プランを作成したり、またはアプリ作成の一部としてプランを作成したりすることができます。
App Service プランの作成を始めるには、Azure portal で [App Service プランの作成] に移動します。
App Service プランを構成する前に、[プロジェクトの詳細] セクションを構成します。
[App Service プランの詳細] セクションで、App Service プランの名前を指定してから、[オペレーティング システム] と [リージョン] を選びます。 リージョンは、App Service プランが作成される場所を指定します。
プランを作成するときに、新しいプランの価格レベルを選択できます。 [価格レベル] で、[価格プラン] を選ぶか、[価格プランを確認する] を選んで追加の詳細を表示します。
必要に応じて、[ゾーン冗長] セクションで [有効] または [無効] を選びます。
[確認および作成] を選択し、次に [作成] を選択します。
重要
既存のリソース グループに新しい App Service プランを作成すると、既存のアプリの特定の条件によって次のエラーがトリガーされる可能性があります。
The pricing tier is not allowed in this resource group<SKU_NAME> workers are not available in resource group <RESOURCE_GROUP_NAME>
これらのエラーは、価格レベル、リージョン、オペレーティング システム、可用性ゾーン、既存の関数アプリ、または既存の Web アプリとの互換性がないために発生する可能性があります。 これらのエラーのいずれかが発生する場合は、新しいリソース グループに App Service プランを作成してください。
アプリを別の App Service プランに移動する
アプリを別の App Service プランに移動できるのは、移動元プランと移動先プランのリソース グループと地理的リージョンが同じであり、OS の種類が同じ場合のみです。 種類の変更 (Windows から Linux や、元の種類とは異なる種類になど) はすべてサポートされていません。
App Service プランを変更する前に、アプリで構成されている仮想ネットワーク統合を無効にする必要があります。
注
Azure では、新しい App Service プランはそれぞれ、内部的に "Web スペース" と呼ばれるデプロイ ユニットにデプロイされます。 各リージョンには多数の Web スペースが存在できますが、アプリは同じ Web スペース内に作成されているプラン間でのみ移動できます。 App Service Environment には多数の Web スペースが存在できますが、アプリは同じ Web スペース内に作成されているプラン間でのみ移動できます。
プランを作成するときに Web スペースを指定することはできませんが、既存のプランと同じ Web スペースにプランが作成されるようにすることはできます。 同じリソース グループ、リージョンの組み合わせ、オペレーティング システムで作成されるプランはすべて、同じ Web スペースにデプロイされます。 たとえば、リソース グループ A とリージョン B にプランを作成した場合、それ以降にリソース グループ A とリージョン B に作成するすべてのプランは、同じ Web スペースにデプロイされます。 プランを作成した後でその Web スペースを移動することはできないため、プランを別のリソース グループに移動して、別のプランと "同じ Web スペース" に移動することはできないことに注意してください。
Azure portal で [App Services] を検索して選んでから、移動するアプリを選びます。
左側のペインの [App Service プラン] で、[App Service プラン] を選びます。
[App Service プラン] ページで [プランの変更] を選びます。
[App Service プランの変更] ペインの [App Service プラン] の一覧で、アプリの移動先にする既存のプランを選びます。 この一覧には、現在の App Service プランと同じリソース グループと地理的リージョン内にあるプランのみが表示されます。 そのようなプランが存在しない場合は、既定でプランを作成できます。 [新しいプラン] を選んでから [新規作成] を選んで、手動で新しいプランを作成することもできます。
終了したら、 [保存] を選択します。
新しいプランを作成する場合は、その価格レベルを変更できます。 詳しくは、この記事で後述する「App Service プランのスケーリング」セクションをご覧ください。
重要
上位レベルのプランから下位レベルのプランにアプリを移動する場合 (D1 から F1 など)、移動先のプランでアプリの特定の機能が失われる可能性があります。 たとえば、アプリで TLS/SSL 証明書を使っている場合は、次のようなエラー メッセージが表示されることがあります。
Cannot update the site with hostname '<app_name>' because its current TLS/SSL configuration 'SNI based SSL enabled' is not allowed in the target compute mode. Allowed TLS/SSL configuration is 'Disabled'.
アプリを異なるリージョンに移動する
アプリが実行されるリージョンは、そのアプリが存在する App Service プランのリージョンです。 ただし、App Service プランのリージョンを変更することはできません。 アプリを異なるリージョンに移動する必要がある場合の 1 つの方法として、アプリの複製の作成があります。 複製によって、任意のリージョンの新規または既存の App Service プランにアプリをコピーすることができます。
左側のペインの [開発ツール] セクションに [アプリの複製] があります。
重要
複製にはいくつかの制限があります。 これらの制限については、Azure App Service アプリの複製に関する記事を参照してください。
App Service プランのスケーリング
App Service プランの価格レベルのスケールアップについては、Azure でのアプリのスケールアップに関する記事をご覧ください。
アプリのインスタンス数のスケールアウトについては、インスタンス数の手動または自動でのスケーリングに関する記事をご覧ください。
App Service プランを非同期的にスケーリングする (プレビュー)
App Service プランを作成または手動でスケールアウトするときに、最初に要求したインスタンス数よりも少ないインスタンス数で再試行することをお勧めする状況が発生する場合があります。たとえば、15 個のインスタンスにスケールアウトするように要求したが、6 個しか使用できないと言われる可能性があるため、6 にスケーリングしてから、ターゲット 15 インスタンスに到達するまで待ってから再試行する必要があります。
App Service プラン非同期のプレビューでは、元の要求を変更して再試行することなく、ターゲットのインスタンス数を要求でき、プラットフォームはターゲット番号にスケールアウトされます。 プラットフォームは、使用可能なインスタンスの数にスケーリングされ、基になるプラットフォームをトリガーして、より多くのインスタンスを使用できるようにします。 この機能は、スケールアウト操作中またはプランの作成時に利用できます。 この機能は、Basic、Standard、Premium のすべての価格プランでサポートされています。
az appservice plan update -g <resourceGroupName> -n <App Service Plan Name> --async-scaling-enabled true --number-of-workers <number of workers to scale out to>
App Service プランを削除する
予期しない課金を避けるため、App Service プランで最後のアプリを削除すると、App Service も既定で削除されます。 プランを維持する場合は、課金されないようにプランを Free レベルに変更する必要があります。
重要
App Service プランにアプリが関連付けられていない場合でも、構成済みの VM インスタンスが引き続き確保されるため、料金が発生します。