マネージド オンライン エンドポイントを自動スケーリングする (プレビュー)

自動スケールでは、アプリケーションの負荷を処理するために適切な量のリソースが自動的に実行されます。 マネージド エンドポイントは、Azure Monitor 自動スケーリング機能との統合によって、自動スケールをサポートします。

Azure Monitor 自動スケーリング機能では、豊富なルール セットがサポートされています。 メトリックベースのスケーリング (たとえば、CPU 使用率 >70%)、スケジュールに基づくスケーリング (たとえば、営業時間のピーク時のルールのスケーリング)、またはその組み合わせを構成できます。 詳細については、「Microsoft Azure の自動スケールの概要」を参照してください。

必要に応じてインスタンスを追加または削除する自動スケーリングの図

現在、自動スケールは、Azure CLI、REST、ARM、またはブラウザー ベースの Azure portal を使用して管理できます。 Python SDK などの他の Azure ML SDK によって、今後サポートが追加される予定です。

重要

現在、この機能はパブリック プレビュー段階にあります。 このプレビュー バージョンはサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。

前提条件

自動スケール プロファイルの定義

エンドポイントに対して自動スケールを有効にするには、最初に自動スケール プロファイルを定義します。 このプロファイルでは、スケール セット容量の既定値、最小値、および最大値が定義されます。 次の例では、既定容量と最小容量を 2 つの VM インスタンスとして設定し、最大容量を 5 に設定します。

次のスニペットでは、エンドポイントとデプロイの名前を設定します。

次に、デプロイとエンドポイントの Azure Resource Manager ID を取得します。

次のスニペットでは、自動スケーリング プロファイルを作成します。

注意

詳細については、自動スケーリングのリファレンス ページを参照してください

メトリックを使用してスケールアウトするルールを作成する

一般的なスケールアウト ルールは、平均 CPU 負荷が高い場合に VM インスタンスの数を増やすというルールです。 次の例では、5 分間の CPU 平均負荷が 70% を超える場合に、さらに 2 つのノード (最大) を割り当てます。

このルールは my-scale-settings プロファイルに含まれます (autoscale-name はプロファイルの name と一致)。 condition 引数の値は、"VM インスタンス間の平均 CPU 消費量が 5 分間で 70% を超えた場合にルールがトリガーされる必要がある" ことを示しています。 その条件が満たされた場合、さらに 2 つの VM インスタンスが割り当てられます。

注意

CLI 構文の詳細については、az monitor autoscale を参照してください。

メトリックを使用してスケールインするルールを作成する

負荷が軽い場合、スケールインのルールを使用することで、VM インスタンスの数を減らすことができます。 次の例では、CPU 負荷が 5 分間 30% 未満の場合、下限 2 まで、1 つのノードを解放します。

エンドポイント メトリックに基づいてスケーリング ルールを作成する

前のルールがデプロイに適用されました。 次に、エンドポイントに適用されるルールを追加します。 この例では、要求の待機時間が 5 分間、平均 70 ミリ秒を超える場合、別のノードを割り当てる必要があります。

スケジュールに基づいてスケーリング ルールを作成する

特定の日または特定の時間にのみ適用されるルールを作成することもできます。 この例では、週末のノード数が 2 に設定されています。

リソースを削除する

デプロイを使用しない場合は、次のように削除します。

次の手順

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