次の方法で共有


Azure API Management のセルフホステッド ゲートウェイを Azure Kubernetes Service にデプロイする

適用対象: Developer | Premium

この記事では、Azure API Management のセルフホステッド ゲートウェイ コンポーネントを Azure Kubernetes Service (AKS) にデプロイする手順について説明します。 Kubernetes クラスターへのセルフホステッド ゲートウェイのデプロイについては、デプロイ YAML ファイル または Helm を使用したデプロイの方法に関する記事を参照してください。

Note

また、セルフホステッド ゲートウェイを Azure Arc 対応 Kubernetes クラスタークラスター拡張機能としてデプロイすることもできます。

前提条件

AKS にセルフホステッド ゲートウェイをデプロイする

  1. [Deployment and infrastructure](デプロイとインフラストラクチャ) から [ゲートウェイ] を選択します。

  2. デプロイするセルフホステッド ゲートウェイ リソースを選択します。

  3. [Deployment]/(デプロイ/) を選択します。

  4. 既定の [有効期限] および [秘密鍵] の値を使用して、 [トークン] テキスト ボックスに新しいトークンが自動生成されています。 必要に応じていずれかまたは両方を調整し、 [生成] を選択して新しいトークンを作成します。

  5. [デプロイ スクリプト][Kubernetes] が選択されていることを確認します。

  6. <] の横にある >gateway-name.yml ファイル リンクを選択して、ファイルをダウンロードします。

  7. 必要に応じて、yml ファイルの config.service.endpoint、ポート マッピング、コンテナー名を調整します。

  8. シナリオによっては、サービスの種類の変更が必要になる場合があります。

    • 既定値は LoadBalancer です。これは外部ロード バランサーです。
    • 内部ロード バランサーを使用すると、セルフホステッド ゲートウェイへのアクセスを内部ユーザーのみに制限できます。
    • 次の例では、 NodePortを使用します。
  9. [Deploy]/(デプロイ/) テキストボックスの右端にある [コピー] アイコンを選択して、kubectl コマンドをクリップボードに保存します。

  10. コマンドをターミナル (またはコマンド) ウィンドウに貼り付けます。 コマンドでは、ダウンロードした環境ファイルが現在のディレクトリに存在している必要があります。

    kubectl apply -f <gateway-name>.yaml
    
  11. コマンドを実行します。 コマンドは、AKS クラスターに次のことを指示します。

    • Microsoft Container Registry からダウンロードしたセルフホステッド ゲートウェイのイメージを使用して、コンテナーを実行する。
    • HTTP (8080) および HTTPS (443) ポートを公開するようにコンテナーを構成する。
  12. 次のコマンドを実行して、ゲートウェイ ポッドが実行されていることを確認します。 このポッド名は例です。

    kubectl get pods
    NAME                                   READY     STATUS    RESTARTS   AGE
    contoso-apim-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  13. 次のコマンドを実行して、ゲートウェイ サービスが実行されていることを確認します。 サービス名と IP アドレスは例です。

    kubectl get services
    NAME             TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
    contosogateway   NodePort    10.110.230.87   <none>        80:32504/TCP,443:30043/TCP   1m
    
  14. Azure portal に戻り、デプロイしたゲートウェイ ノードが正常な状態を報告していることを確認します。

ヒント

kubectl logs <gateway-pod-name> コマンドを使用して、セルフホステッド ゲートウェイ ログのスナップショットを表示します。