azure-aigateway について
Azure AI Gateway は、Azure API Management(APIM)を AI ゲートウェイとして構成し、LLM、MCP ツール、エージェントへのアクセスを管理するためのスキルです。Azure 上で AI サービスを運用する開発者や運用担当者を想定しています。内容はポリシー設定、バックエンド構成、テストコマンドが中心です。
主な機能
- 01トークン制限やセマンティックキャッシュのモデルポリシー
- 02MCP ツールに対するレート制限によるツールガバナンス
- 03コンテンツセーフティとジェイルブレイク検出のエージェントポリシー
- 04Azure OpenAI と AI Foundry のバックエンド構成
- 05ゲートウェイエンドポイントのテストとトークン使用量メトリクス
活用シーン
- 01Azure OpenAI のデプロイにトークン制限と負荷分散を追加
- 02APIM を経由した MCP ツール呼び出しへのレート制限の適用
- 03有害なコンテンツをフィルタリングするコンテンツセーフティ策の構成
MCP 対応
本スキルは、APIM を通じて MCP ツールを管理する方法を説明しており、レート制限や API の MCP ツールへの変換を含みます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ microsoft/ azure-skills --skill azure-aigatewayインストール後、Claude Code で/azure-aigatewayを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/auth-best-practices.mdpatterns.mdpolicies.mdtroubleshooting.mdreferences/sdk/azure-ai-contentsafety-py.mdazure-ai-contentsafety-ts.mdazure-mgmt-apimanagement-dotnet.mdazure-mgmt-apimanagement-py.md詳細
Azure AI Gateway
AI モデル、MCP ツール、エージェントをガバナンスするために、Azure API Management(APIM)を AI Gateway として構成します。
APIM をデプロイするには、azure-prepare スキルを使用してください。APIM デプロイガイドを参照してください。
このスキルを使用する場面
| カテゴリ | トリガー |
|---|---|
| モデルのガバナンス | 「セマンティックキャッシュ」「トークン制限」「AI の負荷分散」「トークン使用量の追跡」 |
| ツールのガバナンス | 「MCP のレート制限」「ツールの保護」「ツールの構成」「API を MCP に変換」 |
| エージェントのガバナンス | 「コンテンツの安全性」「ジェイルブレイクの検出」「有害なコンテンツのフィルタリング」 |
| 構成 | 「Azure OpenAI バックエンドの追加」「モデルの構成」「AI Foundry モデルの追加」 |
| テスト | 「AI Gateway のテスト」「Gateway 経由での OpenAI の呼び出し」 |
クイックリファレンス
| ポリシー | 目的 | 詳細 |
|---|---|---|
azure-openai-token-limit | コスト管理 | モデルポリシー |
azure-openai-semantic-cache-lookup/store | コストを 60~80% 削減 | モデルポリシー |
azure-openai-emit-token-metric | 可観測性 | モデルポリシー |
llm-content-safety | 安全性とコンプライアンス | エージェントポリシー |
rate-limit-by-key | MCP/ツールの保護 | ツールポリシー |
Gateway の詳細を取得する
# Get gateway URL
az apim show --name <apim-name> --resource-group <rg> --query "gatewayUrl" -o tsv
# List backends (AI models)
az apim backend list --service-name <apim-name> --resource-group <rg> \
--query "[].{id:name, url:url}" -o table
# Get subscription key
az apim subscription keys list \
--service-name <apim-name> --resource-group <rg> --subscription-id <sub-id>
AI エンドポイントをテストする
GATEWAY_URL=$(az apim show --name <apim-name> --resource-group <rg> --query "gatewayUrl" -o tsv)
curl -X POST "${GATEWAY_URL}/openai/deployments/<deployment>/chat/completions?api-version=2024-02-01" \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <key>" \
-d '{"messages": [{"role": "user", "content": "Hello"}], "max_tokens": 100}'
一般的なタスク
AI バックエンドを追加する
手順の詳細は、references/patterns.mdを参照してください。
# Discover AI resources
az cognitiveservices account list --query "[?kind=='OpenAI']" -o table
# Create backend
az apim backend create --service-name <apim> --resource-group <rg> \
--backend-id openai-backend --protocol http --url "https://<aoai>.openai.azure.com/openai"
# Grant access (managed identity)
az role assignment create --assignee <apim-principal-id> \
--role "Cognitive Services User" --scope <aoai-resource-id>
AI ガバナンスポリシーを適用する
<inbound> で推奨されるポリシーの順序:
- 認証 - マネージド ID でバックエンドに接続
- セマンティックキャッシュの検索 - AI を呼び出す前にキャッシュを確認
- トークン制限 - コスト管理
- コンテンツの安全性 - 有害なコンテンツをフィルタリング
- バックエンドの選択 - 負荷分散
- メトリック - トークン使用量を追跡
完全な例は、references/policies.mdを参照してください。
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| トークン制限の 429 | tokens-per-minute を増やすか、負荷分散を追加します |
| キャッシュヒットがない | score-threshold を 0.7 に下げます |
| コンテンツの誤検出 | カテゴリのしきい値を上げます(5~6) |
| バックエンド認証の 401 | APIM に「Cognitive Services User」ロールを付与します |
詳細は、references/troubleshooting.mdを参照してください。
参考資料
- 詳細なポリシー - ポリシーの詳細な例
- 構成パターン - 手順ごとのパターン
- トラブルシューティング - よくある問題
- AI-Gateway サンプル
- GenAI Gateway ドキュメント
SDK クイックリファレンス
- コンテンツの安全性:Python | TypeScript
- API Management:Python | .NET
コメント
Markdown 対応