まずはAzure CLI拡張から始めてください

対象:AI Gateway(プレビュー)

Important

AI Gatewayは現在パブリックプレビュー中です。 パブリックプレビュー期間中、AI Gatewayは以下の地域で利用可能です:

  • 米国 - 米国東部 2
  • ヨーロッパ - スウェーデン中央

aigateway Azure CLI拡張機能を使って、共有ゲートウェイを通じてアプリケーションが既存のMicrosoft Foundryモデルの展開にアクセスできるようにします。

このクイックスタートでは az aigateway コマンドを紹介し、Bash や PowerShell 端末から最初のモデル リクエストを行う手順を追って説明します。

Prerequisites

  • Azure CLI バージョン 2.75.0 以降。
  • Azureサブスクリプションと既存のリソースグループです。
  • サブスクリプションに登録されている Microsoft.ApiManagement リソース プロバイダー。 「リソース プロバイダーの登録」を参照してください。
  • リソース グループの 共同作成者 ロール。
    • 既存のゲートウェイを使うには、そのゲートウェイの Contributor または同等の権限が必要です。
    • AI ゲートウェイ リソースの種類が Microsoft.ApiManagement/gateways であるか、 それに移行済みであることを確認します。
  • 少なくとも 1 つのデプロイ済みモデルがあり、Chat Completions および公開アクセス可能なバックエンド エンドポイントをサポートしている 1 つのサブスクリプション内の Microsoft Foundry アカウント。
  • デプロイメントを検出し、ゲートウェイ ID にアクセス権を付与するには、Foundry アカウント上の Reader ロールおよび User Access Administrator ロール、または同等の継承されたアクセス権が必要があります。
  • curl を含む Bash ターミナル、または PowerShell ターミナル。 Bashインストーラーには、shasum または sha256sum も必要です。

この例では、gpt-6.1-solという名前のFoundryアカウントでai-foundry-demo-learnデプロイメントを使用しています。 モデル要求では推論料金が発生することがあります。

拡張機能をインストールする

AI Gateway CLIリポジトリからインストーラーを使いましょう。 お使いのシェル用のコマンドを選択してください:

curl -fsSL https://aka.ms/aigateway-cli-install | sh

インストーラーは公開リリースをダウンロードし、SHA-256チェックサムを確認し、 aigateway 拡張機能のインストールまたはアップグレードを行います。 インストールにはHTTPSアクセスとAzure CLI拡張ディレクトリへの書き込み権限が必要ですが、Azureのサインインは必要ありません。 スクリプトを実行する前に確認するには、 install.sh または install.ps1を参照してください。

インストールと利用可能なコマンドを確認してください:

az aigateway version
az aigateway --help

AIGateway SKU を使用している以前の Microsoft.ApiManagement/service リソースの種類のゲートウェイを Microsoft.ApiManagement/aigateways に移行することをお勧めします。 2027年1月15日までに移行完了。 「AI Gateway リソースの種類への移行」を参照して、設定を再作成し、クライアントを更新してください。 拡張機能をインストールまたはアップグレードしても、ゲートウェイは移行されません。

ゲートウェイを作成または選択してください

テストゲートウェイを作成するか、公開ランタイムアクセスを持つ既存の Microsoft.ApiManagement/aigateways リソースを選択してください:

  1. サインインして、ゲートウェイとFoundryアカウントを含むサブスクリプションを選択してください:

    az login
    az account set --subscription "<subscription-id>"
    
  2. デフォルトのリソースグループを、ゲートウェイを含む、またはこれから含まれるグループに設定してください:

    az configure --defaults group="<gateway-resource-group>"
    

    ゲートウェイコマンドはクイックスタート全体でこのデフォルトを使います。 ファウンドリーコマンドは独自のリソースグループを指定します。 デフォルトは変更またはクリアするまで維持されます。

  3. ゲートウェイ名と他のリソース名を設定します。 既存のゲートウェイの名前を使用するか、新しいゲートウェイの名前を選択します。 Foundryの値を自分のものに置き換え、未使用のプロバイダー名とキー名を選択してください:

    GATEWAY="aigw-demo-learn"
    FOUNDRY_RG="aigw-microsoft-learn-docs"
    FOUNDRY_ACCOUNT="ai-foundry-demo-learn"
    KEY_NAME="cli-quickstart-app"
    
  4. 新しいゲートウェイが必要なら、サポートされている地域で作成してください。 既存のゲートウェイを選択している場合は、ゲートウェイチェックに進んでください:

    az aigateway create \
      --name "$GATEWAY" \
      --location eastus2 \
      --system-assigned true
    
  5. 作成した、または選択したゲートウェイを確認してください:

    az aigateway show --name "$GATEWAY"
    
  6. typeがMicrosoft.ApiManagement/aigatewaysされ、properties.provisioningStateがSucceededされていることを確認します。

    {
       "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/aigw-microsoft-learn-docs/providers/Microsoft.ApiManagement/aigateways/aigw-demo-learn",
       "identity": {
         "principalId": "00000000-1111-1111-1111-000000000000",
         "tenantId": "00000000-1111-1111-1111-000000000000",
         "type": "SystemAssigned"
       },
       "location": "eastus2",
       "name": "aigw-demo-learn",
       "properties": {
         "frontend": {
           "defaultHostname": "aigw-demo-learn.eastus2-01.ai.gateway.azure.com"
         },
         "provisioningState": "Succeeded"
       },
       "resourceGroup": "aigw-microsoft-learn-docs",
       "sku": {
         "name": "Premium"
       },
       "tags": {},
       "type": "Microsoft.ApiManagement/aigateways"
    }
    

Foundry モデルをインポート

Microsoft Foundryのモデルを接続してゲートウェイで使いましょう。 インポート コマンドはゲートウェイのシステム割り当てマネージド ID を有効にし、アカウントに Foundry User を付与して、アカウントの現在のデプロイを 1 つのプロバイダーの下で登録します。

Foundryのデプロイメントをインポートするには:

  1. FoundryアカウントのリソースIDを調べてみてください。 プロジェクト名やデプロイメント名ではなく、アカウント名を使用してください:

    FOUNDRY_RESOURCE_ID="$(az cognitiveservices account show \
      --resource-group "$FOUNDRY_RG" --name "$FOUNDRY_ACCOUNT" \
      --query id --output tsv)"
    
  2. デプロイメントをインポート:

    az aigateway model-provider create \
      --gateway-name "$GATEWAY" \
      --name "$FOUNDRY_ACCOUNT" \
      --foundry-resource-id "$FOUNDRY_RESOURCE_ID"
    
  3. 進む前に、失敗した登録のインポート概要を確認してください。 クリーンアップ レビューのために、返された roleAssignmentId は保持しておきます。 推論をテストする前に、新しい役割割り当てが有効になるまで時間を設けてください。

  4. インポートモデルをリストアップ:

    az aigateway model list \
      --gateway-name "$GATEWAY" \
      --model-provider "$FOUNDRY_ACCOUNT" --output table
    
  5. 出力は次のようになります。

    Name                    Provider               Kind     Model                   Version
    ----------------------  ---------------------  -------  ----------------------  ----------
    deepseek-v4-flash       ai-foundry-demo-learn  Foundry  DeepSeek-V4-Flash       2026-04-23
    fw-deepseek-v4-1-flash  ai-foundry-demo-learn  Foundry  FW-DeepSeek-V4.1-Flash  1
    fw-kimi-k3              ai-foundry-demo-learn  Foundry  FW-Kimi-K3              1
    gpt-6-1-sol             ai-foundry-demo-learn  Foundry  gpt-6.1-sol             2026-09-29
    gpt-6-astra             ai-foundry-demo-learn  Foundry  gpt-6-astra             2026-09-03
    gpt-6-luna              ai-foundry-demo-learn  Foundry  gpt-6-luna              2026-09-22
    grok-4-7                ai-foundry-demo-learn  Foundry  grok-4.7                1
    
  6. MODELをチャットコンプリートをサポートするデプロイメントの登録名に設定します。 デプロイメント例について:

    MODEL="gpt-6-1-sol"
    

プロバイダーはあなたのアカウントのモデル登録をグループ化します。

ランタイムAPIキーを作成する

端末はゲートウェイのランタイムAPIキーを使ってゲートウェイに対して認証を行います。 テスト用のキーを別に作成し、他のアプリケーションの認証情報を変えずにそのキーを取り消せるようにしましょう。

Warning

ランタイムAPIキーは、インポートされたモデルだけでなくゲートウェイ全体へのアクセスを許可します。 印刷、シェル トレースの有効化、トランスクリプトへの記録、ソース管理へのコミットは行わないでください。 終わったらキーを削除してください。

テストキーの作成と取得方法:

  1. 鍵を作成:

    az aigateway api-key create \
      --gateway-name "$GATEWAY" \
      --name "$KEY_NAME" --display-name "CLI quickstart application"
    
  2. 出力を確認してください:

    {
       "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/aigw-microsoft-learn-docs/providers/Microsoft.ApiManagement/aigateways/aigw-demo-learn/apiKeys/cli-quickstart-app",
       "name": "cli-quickstart-app",
       "properties": {
         "createdDate": "2026-10-25T15:24:59.3183401Z",
         "displayName": "All APIs subscription",
         "expirationDate": null,
         "state": "active"
       },
       "resourceGroup": "aigw-microsoft-learn-docs",
       "type": "Microsoft.ApiManagement/aigateways/apiKeys"
    }
    
  3. 主な値はシェル変数に格納します:

    AI_GATEWAY_API_KEY="$(az aigateway api-key list-secrets \
      --gateway-name "$GATEWAY" \
      --name "$KEY_NAME" --query primaryKey --output tsv)"
    

キーを作成するとメタデータが返されます。 個別の list-secrets コマンドは、ランタイム要求に使用される資格情報を取得します。

モデルを呼び出す

ゲートウェイを通じてモデル登録、ゲートウェイキー、Foundry接続をまとめて確認するためにプロンプトを送信します。

最初のモデルリクエストを送信するには:

  1. 割り当てられたホスト名とランタイムモデル識別子を取得し、チャット完了URLを作成します:

    AI_GATEWAY_HOSTNAME="$(az aigateway show \
      --name "$GATEWAY" \
      --query properties.frontend.defaultHostname --output tsv)"
    
    AI_GATEWAY_CHAT_URL="https://${AI_GATEWAY_HOSTNAME}/default/models/openai/v1/chat/completions"
    
  2. ゲートウェイ名から構成するのではなく、返されたホスト名を使いましょう。 完全なChat Completions URLはhttps://<assigned-gateway-hostname>.ai.gateway.azure.com/default/models/openai/v1/chat/completionsの形式です。

  3. Chat Completions リクエストを送信:

    curl "$AI_GATEWAY_CHAT_URL" \
      -H "Content-Type: application/json" \
      -H "Authorization: Bearer $AI_GATEWAY_API_KEY" \
      --data @- <<EOF
    {
      "model": "$MODEL",
      "messages": [
        {"role": "user", "content": "Give me three uses for an AI gateway."}
      ]
    }
    EOF
    

回答にはモデルの返信が choices[0].message.contentで含まれています。 成功した応答により、モデル登録、ゲートウェイキー、Foundry接続が連携して動作することが確認されます。

リソースをクリーンアップする

このクイックスタートのために作成したリソースだけを削除してください。 既存のゲートウェイ、すべてのリソースグループ、Foundryアカウントとデプロイメントは保持してください。

テスト設定を削除するには:

  1. ランタイムAPIキーを削除し、その値をターミナルセッションから消去してください:

    az aigateway api-key delete \
      --gateway-name "$GATEWAY" --name "$KEY_NAME"
    unset AI_GATEWAY_API_KEY
    
  2. テストプロバイダーを削除:

    az aigateway model-provider delete \
      --gateway-name "$GATEWAY" --name "$FOUNDRY_ACCOUNT"
    
  3. FoundryアカウントでのFoundryユーザーロールの割り当てを確認してください。 このクイック スタート用に作成した場合は、他のゲートウェイ接続で不要な場合にのみアクセス制御 (IAM) から削除してください。 他の接続がゲートウェイを使っている場合は、そのゲートウェイのマネージドIDを保持してください。

  4. このクイックスタート用にゲートウェイを作成していて、もう不要な場合は削除してください。 既存のゲートウェイに対してこのコマンドを実行しないでください:

    az aigateway delete --name "$GATEWAY"
    
  5. ゲートウェイを削除する前に確認プロンプトを確認してください。

  6. リソースグループのデフォルトをクリアする:

    az configure --defaults group=""