AI ゲートウェイでは、API レベルでポリシーの追加とプラグインの設定を行い、API のセキュリティ、パフォーマンス、保守性を向上させることができます。
ポリシー構成の変更はすぐに有効になります。API を再公開する必要はありません。
操作手順
-
AI ゲートウェイコンソールの [インスタンス] ページに移動します。上部のナビゲーションバーで、ターゲットインスタンスが配置されているリージョンを選択し、ターゲットの [インスタンス ID] をクリックします。
-
左側のナビゲーションウィンドウで [モデル API] をクリックし、ターゲットの [API 名] をクリックして [API 詳細] ページに移動します。
-
Policies and Plug-ins タブをクリックします。More policies and plugins セクションで、ポリシーまたはプラグインを設定する場所として Inbound Processing/Outbound Processing を選択し、次に Enable Policy/Plug-in をクリックします。
-
Enable Policy/Plug-in パネルで、ポリシーまたはプラグインを選択して構成します。詳細については、「ポリシー構成」および「プラグイン構成」をご参照ください。
ポリシー構成
同時実行制御
同時実行制御は、同時リクエスト数を制限することでバックエンドサービスを保護します。ゲートウェイは処理中のリクエストをカウントし、このカウントが指定されたしきい値に達すると、後続のトラフィックを即座にブロックして、バックエンドサービスの過負荷を防ぎ、可用性を確保します。
トラフィックシェーピング
トラフィックシェーピングは、API の秒間クエリ数 (QPS) をモニターします。QPS が指定されたしきい値に達すると、ゲートウェイは即座にトラフィックをブロックします。これにより、急激なトラフィックスパイクによるバックエンドサービスの過負荷を防ぎ、高可用性を確保します。
サーキットブレーカーポリシー
サーキットブレーカーポリシーは、バックエンドサービスの応答時間またはエラー率をモニターすることで、サービスを保護します。指定されたしきい値を超えると、ゲートウェイは「サーキットをトリップ」させ、一定期間サービスへのリクエスト送信を停止します。このアクションにより、カスケード障害を防ぎ、高可用性を確保します。期間が経過すると、ゲートウェイは慎重にリソースへのリクエスト送信を再開します。
IP ブロックリスト/許可リストポリシー
IP ブロックリスト/許可リストポリシーは、許可する IP アドレス (許可リスト) または拒否する IP アドレス (ブロックリスト) を事前に設定し、それに基づいてクライアントのサービスへのアクセスを制御します。
タイムアウトポリシー
AI ゲートウェイでは、API レベルのタイムアウトを設定でき、ゲートウェイがバックエンドサービスからの応答を待つ最大時間を定義します。この期間内に応答がない場合、ゲートウェイは HTTP 504 Gateway Timeout ステータスコードをクライアントに返します。
リトライポリシー
AI ゲートウェイは、API レベルで失敗したリクエストを自動的にリトライできます。接続の失敗、バックエンドサービスが利用できない、または特定の HTTP ステータスコードなど、特定条件によってリトライがトリガーされるように設定できます。
ヘッダー変更ポリシー
ヘッダー変更機能を使用すると、リクエストヘッダーをバックエンドサービスに送信する前、およびレスポンスヘッダーをクライアントに返す前に変更できます。
プラグイン構成
-
Add Plug-in タブをクリックします。
-
Quick Navigation セクションで、タイプ別、または名前で検索して目的のプラグインを探し、プラグインカードをクリックします:
-
プラグインがインストールされていない場合、表示されるダイアログボックスでInstall and Configureをクリックします。次に、プラグインのルールを設定して有効にします。
-
プラグインがすでにインストールされている場合は、表示されるダイアログボックスでプラグインのルールを設定して有効にします。
-
-
OK をクリックします。 API 添付ファイルリストにリダイレクトされ、添付ファイルのステータスを表示できます。
添付リストの [インバウンド処理] セクションには、jwt-auth (無効) と key-auth (有効) が表示されます。[アウトバウンド処理] セクションには、key-auth (有効) と jwt-auth (無効) が表示されます。バックエンドサービスのアドレスは test.static です。リクエストは、フロントエンド API からインバウンド処理を経てバックエンドサービスに流れ、その後アウトバウンド処理を通過します。