自動スケールの一般的なパターンの概要

自動スケール設定を使用すると、アプリケーションの変動する負荷に対応するために適切な量のリソースを確実に実行できます。 負荷やパフォーマンスを示すメトリック、またはスケジュールされた日時にトリガーするメトリックに基づいてトリガーされるように自動スケーリング設定を構成できます。

Azure 自動スケーリングでは、多くのリソースの種類がサポートされています。 サポートされているリソースの詳細については、自動スケーリングでサポートされているリソースに関するセクションを参照してください。

この記事では、Azure でリソースをスケーリングするために使用できる一般的なパターンについて説明します。

前提条件

この記事は、自動スケーリングを熟知していることを前提としています。 詳細については、リソースのスケーリングの概要に関する記事を参照してください。

メトリックに基づいてスケーリングする

リソース自体またはその他のリソースによって生成されたメトリックに基づいてリソースをスケーリングします。 次に例を示します。

  • 仮想マシンの CPU 使用率に基づいて仮想マシン スケール セットをスケーリングします。
  • インスタンスの最小数を確保します。
  • インスタンス数の上限を設定します。

次の画像は、仮想マシン スケール セットの既定のスケール条件を示しています。

  • [スケール ルール] タブには、メトリック ソースがスケール セット自体であり、使用されているメトリックが [CPU 使用率] であることが表示されています。
  • 実行中のインスタンスの最小数は 2 に設定されています。
  • インスタンスの最大数は 10 に設定されています。
  • スケール セットが開始されると、インスタンスの既定の数は 3 になります。

CPU 使用率でスケーリングする自動スケーリング設定を示すスクリーンショット。

別のリソースのメトリックに基づいてスケーリングする

別のリソースのメトリックに基づいてリソースをスケーリングします。 次の画像は、ロード バランサーに割り当てられたポート数に基づいて仮想マシン スケール セットをスケーリングするスケール ルールを示しています。

ロード バランサーのメトリックに基づく自動スケーリング ルールを示すスクリーンショット。

週末には異なる方法でスケーリングする

曜日ごとに異なる方法でリソースをスケーリングできます。 たとえば、仮想マシン スケール セットがあり、以下を行うとします。

  • 平日の最小インスタンス数を 3 に設定し、受信フローに基づいてスケーリングします。
  • トラフィックが少ない週末には、固定の 1 インスタンスにスケールインします。

次の点に注意してください。

  • 週末のプロファイルは、土曜日の朝 0 時 1 分から始まり、月曜日の朝 4 時に終了します。
  • 終了時刻は空白のままにします。 平日のプロファイルは、週末のプロファイルが開始されると終了し、逆に、週末のプロファイルが終了すると開始されます。
  • 既定のプロファイルは関係しません。他のプロファイルの対象にならない時間が存在しないためです。

注意

終了時刻のない定期的なプロファイルの作成は、Azure portal と Azure Resource Manager テンプレート (ARM テンプレート) でのみサポートされます。 ARM テンプレートを使用して定期的なプロファイルを作成する方法の詳細については、「ARM テンプレートを使用して定期的なプロファイルを追加する」を参照してください。

CLI コマンドに終了時刻が含まれていない場合は、名前付け規則 "name": {\"name\": \"Auto created default scale condition\", \"for\": \"<non-default profile name>\"} の既定のプロファイルのコピーを作成することで、既定の終了時刻 23:59 が実装されます。

2 つの自動スケーリング プロファイルを示すスクリーンショット。1 つは既定で、1 つは週末用です。

特定のイベント中は異なる方法でスケーリングする

特定のイベントに対して異なる方法でスケール ルールとインスタンス制限を設定できます。 たとえば次のような点です。

  • 既定ではインスタンスの最小数を 3 に設定する

  • ブラックフライデーの週については、予想されるトラフィックを処理するために、インスタンスの最小数を 10 に設定する。

    2 つの自動スケーリング プロファイルを示すスクリーンショット。1 つは既定で、1 つは特定の日付範囲用です。

カスタム メトリックに基づいてスケーリングする

アプリケーションによって生成されたカスタム メトリックによってスケーリングします。 たとえば、バックエンドと通信する Web フロントエンドと API 層があり、フロントエンドのカスタム イベントに基づいて API 層をスケーリングする必要があるとします。

自動スケーリング プロファイルと、カスタム メトリックによってスケーリングするルールを示すスクリーンショット。

次のステップ

自動スケーリングについて詳しくは、次の記事を参照してください。