Azure App Service をスケールアップおよびスケールアウトする

完了

Azure App Service プランとアプリケーションのスケーリングには、"スケールアップ" と "スケールアウト" の 2 つの方法があります。アプリケーションのスケーリングは手動または自動で行うことができ、これを "自動スケーリング" と呼びます。

Azure App Service プランとアプリケーションの自動スケーリングを実装する方法については、次のビデオをご覧ください。

Azure App Service のスケーリングについて知っておくべきこと

Azure App Service プランと App Service アプリケーションのスケーリングの詳細を調べてみましょう。

  • スケールアップ方法では、CPU、メモリ、ディスク領域の量が増加します。 スケールアップにより、専用の仮想マシン、カスタム ドメインと証明書、ステージング スロット、自動スケールのような拡張機能を追加することができます。 アプリケーションが配置されている Azure App Service プランの価格レベルを変更するとスケールアップできます。

  • スケールアウト方法では、アプリケーションを実行する仮想マシン インスタンスの数が増えます。 App Service プランの価格レベルに応じて、30 個までのインスタンスにスケールアウトすることができます。 Isolated レベルの App Service 環境を活用すると、スケールアウト数をさらに 100 インスタンスに増やすことができます。 インスタンス数のスケーリングは、手動または自動 (自動スケーリング) で構成できます。

  • 自動スケーリングを使用すると、スケールアウト方法のスケール インスタンス数を自動的に増やすことができます。 自動スケーリングは、定義済みの規則とスケジュールに基づいています。

  • App Service プランは、プランの価格レベルを変更することで、いつでもスケールアップおよびダウンすることができます。

Azure App Service スケーリングを使用する際の考慮事項

App Service プランとアプリケーションのスケーリングを実装する次の利点を確認します。 ホテルの Web サイトのスケーリングの利点について考えてみましょう。

  • プランレベルを手動で調整することを検討する。 プランをより低い価格レベルで開始し、必要に応じてスケールアップして、より多くの App Service 機能を取得します。 機能が不要になったときはスケールダウンし、全体的なコストを制御します。

    Azure App Service Free レベルを使用して Web アプリのテストを開始し、何も支払わずにサービスを使用しているシナリオを考えてみましょう。 しばらくすると、カスタム DNS 名を Web アプリに追加して、プランを Shared レベルにスケールアップすることにしました。 次に、SSL バインディングを作成する必要があることがわかりました。そのため、プランを Basic レベルにスケールアップします。 その後、ステージング環境の必要性を判断し、Standard レベルにスケールアップします。 さらに多くのコア、メモリ、ストレージが必要になった場合は、同じレベルのより大きな仮想マシン サイズにスケールアップします。

    同じスケーリング プロセスは逆の順番でも機能します。 容量、機能、またはより高いサービス レベルが不要になった場合は、プランをより低いサービス レベルにスケールダウンし、コストを節約します。

  • ユーザーをサポートし、コストを削減するために、自動スケーリングを検討する。 アプリケーションで高スループットが発生している場合は、ユーザーにサービスを提供し続けます。 自動スケーリングを実装して、ユーザー設定とルールの条件に基づいて、特定の時点で提供される機能とサポートの数を制御します。 自動スケーリングは、サブスクライブされている機能を自動的に減らして、アプリケーションの負荷が減少したときにコストを節約するのに役立ちます。

  • 再デプロイを行わないことを検討する。 スケール設定を変更するときに、コードを変更したり、アプリケーションを再デプロイしたりする必要はありません。 プランのスケール設定を変更すれば、適用に要するのは数秒のみです。 変更は、App Service プラン内のすべてのアプリケーションに影響します。

  • 他の Azure サービスのスケーリングを検討する。 お使いの App Service アプリケーションが Azure SQL Database や Azure Storage などの他の Azure サービスにアプリが依存している場合は、これらのリソースも個別にスケーリングできます。 App Service プランでは、これらのリソースは管理されません。