APIM モデル負荷分散ポリシー
概要
本ドキュメントでは、Azure API Management (APIM) 用に開発されたOpenAI互換モデルの負荷分散ポリシーについて説明します。このポリシーは最新バージョンのTerraformデプロイスクリプトに統合されており、複数のOpenAI互換バックエンドサービス間でリクエストをインテリジェントに分散し、高可用性、自動フェイルオーバー、インテリジェントなレートリミット処理機能を提供します。
アーキテクチャ設計
全体アーキテクチャ図
コア機能特性
1. 複数プロトコル対応
- Azure OpenAI:
api-keyヘッダー認証を使用 - OpenAI互換サービス:
Authorization: Bearer認証を使用 - パス形式自動適応:
- Azure OpenAI:
/openai/deployments/{model}/chat/completions - 汎用形式:
/openai/{provider}/{model}/chat/completions
- Azure OpenAI:
2. インテリジェント負荷分散アルゴリズム
Providerグループ化メカニズム
負荷分散ポリシーはまずリクエスト内のProviderでグループ化を行います:
- 同一Providerのバックエンドサービスのみが同じ負荷分散グループに参加
- 異なるProvider間では負荷分散しない、それぞれ独立して動作
- 各Providerグループ内で独立して優先度・重みアルゴリズムを実行
多層負荷分散ポリシー
コアアルゴリズム特性:
- 優先度スケジューリング: 高優先度バックエンドを優先使用、障害時は自動で低優先度へ切替
- 重み付き負荷分散: 同一優先度内で重みに応じてトラフィックを分配
- インテリジェント障害検知: レートリミットやエラー状態を自動識別
- 動的復旧: バックエンドが復旧した場合、自動で負荷分散に再組み込み