次の方法で共有


プロビジョニング済みデプロイのスピルオーバーを使用してトラフィックを管理する

この記事では、Azure OpenAI でプロビジョニングされたデプロイのスピルオーバーを使用してトラフィックを管理する方法について説明します。 スピルオーバーは、超過トラフィックを対応する標準デプロイにルーティングすることで、トラフィックの変動を管理します。 このオプション機能は、デプロイ上のすべての要求に対して設定することも、要求ごとに管理することもできます。これにより、トラフィックバースト中の中断を減らすことができます。

[前提条件]

  • Azure サブスクリプション。 無料で作成できます

  • プロビジョニングされたマネージド デプロイと、同じ Azure OpenAI リソース内の標準デプロイ

  • REST API の例用にインストールされたAzure CLI、または Foundry ポータルへのアクセス

  • Azure OpenAI エンドポイント URL に設定された AZURE_OPENAI_ENDPOINT 環境変数

  • Cognitive Services 共同作成者 ロールまたはそれ以上が必要なAzure OpenAI リソースでデプロイを作成または変更する。

プロビジョニングされたデプロイのすべての要求に対してスピルオーバーを有効にする

スピルオーバーを有効にする方法については、REST API タブを参照してください。

スピルオーバーを有効にするタイミング

プロビジョニングされたデプロイの使用率を最大限に高めるために、グローバルおよびデータ ゾーンでプロビジョニングされたすべてのデプロイでスピルオーバーを有効にします。 スピルオーバーにより、トラフィックのバーストまたは変動をサービスによって自動的に管理できます。 この機能により、プロビジョニングされたデプロイが完全に利用されたときに中断が発生するリスクが軽減されます。 また、スピルオーバーは要求ごとに構成可能で、さまざまなシナリオやワークロードに柔軟性を提供します。 スピルオーバーは 、Foundry Agent Service でも機能します。

スピルオーバーが発生した場合

デプロイのスピルオーバーを有効にするか、特定の推論要求に対して構成すると、次のいずれかのシナリオの結果として、特定の200 以外の応答コードを受信したときにスピルオーバーが開始されます。

  • プロビジョニングされたスループット ユニット (PTU) が完全に使用されるため、 429 応答コードになります。

  • 長いコンテキスト トークン要求を送信すると、 400 エラー コードが発生します。 たとえば、 gpt 4.1 シリーズ モデルを使用する場合、PTU は 128K 未満のコンテキスト長のみをサポートし、HTTP 400 を返します。

  • サーバー エラーは要求の処理中に発生し、エラー コード 500 または 503が発生します。

要求の結果、200 以外の応答コードのいずれかが発生すると、Azure OpenAI は、プロビジョニングされたデプロイから処理される標準デプロイに要求を自動的に送信します。

要求のサブセットが標準デプロイにルーティングされた場合でも、サービスは、超過分の要求を標準デプロイに送信する前に、プロビジョニングされたデプロイへの要求の送信に優先順位を付けます。 この優先順位付けにより、待機時間が長くなる可能性があります。

スピルオーバー要求を特定する

次の HTTP 応答ヘッダーは、特定の要求がスピルオーバーしたことを示しています。

  • x-ms-spillover-from-<deployment-name>。 このヘッダーには、PTU デプロイ名が含まれています。 このヘッダーの存在は、要求がスピルオーバー要求であることを示します。

  • x-ms-<deployment-name>。 このヘッダーには、要求を処理するデプロイの名前が含まれています。 要求がオーバーフローした場合、デプロイ名は標準デプロイメントの名称になります。

要求がオーバーフローする場合、標準的なデプロイ要求が何らかの理由で失敗した際は、元のPTU応答が顧客への応答に使用されます。 お客様は、スピルオーバー要求の応答コード (x-ms-spillover-error429など) を含むヘッダー 500を確認して、スピルオーバーが失敗した理由を把握します。

スピルオーバーの使用状況を監視する

スピルオーバー機能は、プロビジョニング済みデプロイと標準デプロイの組み合わせに依存してトラフィック超過を管理するため、各デプロイのデプロイ レベルで監視を実行できます。 プライマリ プロビジョニングされたデプロイとスピルオーバー標準デプロイで処理された要求の数を表示するには、Azure Monitorメトリックで分割機能を適用して、各デプロイによって処理された要求とそれぞれの状態コードを表示します。 同様に、分割機能を使用して、特定の期間のプライマリ プロビジョニング済みデプロイとスピルオーバー標準デプロイで処理されたトークンの数を表示します。

スピルオーバー コスト

スピルオーバーでは、プロビジョニングされたデプロイと標準のデプロイの組み合わせを使用してトラフィックの変動を管理するため、スピルオーバーの課金には次の 2 つのコンポーネントが含まれます。

  • プロビジョニングされたデプロイによって処理される要求には、時間単位のプロビジョニング済みデプロイ コストのみが適用されます。 これらの要求に対して追加コストは発生しません。

  • 標準デプロイにルーティングされた要求の場合、要求は、指定されたモデルのバージョンとデプロイの種類に対して、関連付けられている入力トークン、キャッシュされたトークン、および出力トークンのレートで課金されます。

Azure ポータルでメトリックを監視する

次のAzure Monitorメトリック グラフは、スピルオーバーが開始されたときに、プライマリ プロビジョニングされたデプロイとスピルオーバー標準デプロイの間の要求の分割の例を示しています。 グラフを作成するには、Azure ポータルでリソースに移動します。

  1. 左側のナビゲーション メニューから [ 監視>メトリック ] を選択します。

  2. Azure OpenAI Requests メトリックを追加します。

    Azure portal における基本的なスピルオーバーの例のメトリックを示すスクリーンショットです。

  3. Apply split を選択し、ModelDeploymentName 分割と StatusCode 分割を Azure OpenAI Requests メトリックに適用します。 これは、リソースに対して生成された 200 (成功) と 429 (要求が多すぎる) 応答コードを含むグラフを示しています。

    分割を追加するためのメニューを示すAzureポータルのスクリーンショット。

    ModelDeploymentName 分割を適用するときに表示するモデル デプロイを必ず追加してください。

    使用可能なモデル フィルターを示すスクリーンショット。

    次の例は、プロビジョニング済みスループット デプロイに送信された要求の急増によって、エラーコード 429 が生成されるケースを示しています。 その直後にスピルオーバーが発生し、要求はスピルオーバーに使用される従量課金制のデプロイに移動し始め、そのデプロイに対する 200 応答が生成されます。

    スピルオーバーを視覚化するためのメトリックを示すスクリーンショット。

    要求が従量課金制のデプロイに移動しても、リダイレクトされる前にプロビジョニングされたデプロイで 429 応答コードが生成されます。 プロビジョニング済みデプロイからの応答コードを示すスクリーンショット。

スピルオーバー メトリックを表示する

IsSpillover 分割を適用すると、スピルオーバーデプロイにリダイレクトされた、元のデプロイへの要求を表示できます。 前の例に従って、プライマリ デプロイからの 429 応答が、スピルオーバーデプロイによって生成された 200 応答コードとどのように一致するかを確認できます。

Azure ポータルでのスピルオーバー分割を示すスクリーンショット

こちらも参照ください