azure-aigateway

작성자: Azure

Azure API Management(APIM)을 AI 게이트웨이로 구성하여 AI 모델, MCP 서버, 에이전트를 보호, 관찰, 제어합니다. 속도 제한, 의미론적 캐싱, 콘텐츠 안전, 로드 밸런싱에 도움이 됩니다.

npx skills add https://github.com/microsoft/github-copilot-for-azure --skill azure-aigateway

Azure AI Gateway

Configure Azure API Management (APIM) as an AI Gateway for governing AI models, MCP tools, and agents.

To deploy APIM, use the azure-prepare skill. See APIM deployment guide.

When to Use This Skill

CategoryTriggers
Model Governance"semantic caching", "token limits", "load balance AI", "track token usage"
Tool Governance"rate limit MCP", "protect my tools", "configure my tool", "convert API to MCP"
Agent Governance"content safety", "jailbreak detection", "filter harmful content"
Configuration"add Azure OpenAI backend", "configure my model", "add AI Foundry model"
Testing"test AI gateway", "call OpenAI through gateway"

Quick Reference

PolicyPurposeDetails
azure-openai-token-limitCost controlModel Policies
azure-openai-semantic-cache-lookup/store60-80% cost savingsModel Policies
azure-openai-emit-token-metricObservabilityModel Policies
llm-content-safetySafety & complianceAgent Policies
rate-limit-by-keyMCP/tool protectionTool Policies

Get Gateway Details

# 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>

Test AI Endpoint

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}'

Common Tasks

Add AI Backend

See references/patterns.md for full steps.

# 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>

Apply AI Governance Policy

Recommended policy order in <inbound>:

  1. Authentication - Managed identity to backend
  2. Semantic Cache Lookup - Check cache before calling AI
  3. Token Limits - Cost control
  4. Content Safety - Filter harmful content
  5. Backend Selection - Load balancing
  6. Metrics - Token usage tracking

See references/policies.md for complete example.


Troubleshooting

IssueSolution
Token limit 429Increase tokens-per-minute or add load balancing
No cache hitsLower score-threshold to 0.7
Content false positivesIncrease category thresholds (5-6)
Backend auth 401Grant APIM "Cognitive Services User" role

See references/troubleshooting.md for details.


References

SDK Quick References

Azure의 다른 스킬

azure-cost-optimization
Azure
Azure 구독 전반에서 실제 비용, 사용률 메트릭을 분석하여 비용 절감 기회를 식별하고 정량화하며, 실행 가능한 최적화 권장 사항을 생성합니다.
azure-hosted-copilot-sdk
Azure
GitHub Copilot SDK 앱을 Azure에 빌드하고 배포합니다.
azure-observability
Azure
Azure Observability Services는 Azure Monitor, Application Insights, Log Analytics, Alerts 및 Workbooks를 포함합니다. 메트릭, APM, 분산 추적, KQL 쿼리 및 대화형 보고서를 제공합니다.
azure-rbac
Azure
사용자가 최소 권한 액세스로 적절한 Azure RBAC 역할을 찾은 후, 이를 할당하기 위한 CLI 명령어와 Bicep 코드를 생성할 수 있도록 도와줍니다.
azure-messaging
Azure
Azure Messaging SDK(Event Hubs 및 Service Bus)의 문제를 진단하고 해결합니다. 연결 실패, 인증 오류, 메시지 처리 문제, SDK 구성 문제를 다룹니다.
azure-resource-visualizer
Azure
Azure 리소스 그룹을 분석하고 개별 리소스 간의 관계를 보여주는 상세한 Mermaid 아키텍처 다이어그램을 생성합니다.
azure-ai
Azure
Azure AI: Search, Speech, OpenAI, Document Intelligence에 사용됩니다. 검색, 벡터/하이브리드 검색, 음성-텍스트 변환, 텍스트-음성 변환, 전사, OCR을 지원합니다.
azure-kusto
Azure
Azure Data Explorer(Kusto/ADX)에서 KQL을 사용하여 로그 분석, 원격 분석 및 시계열 분석을 위한 데이터를 쿼리하고 분석합니다.