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

適用対象: Developer | Premium

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

重要

Azure API Management セルフホステッド ゲートウェイ バージョン 0 およびバージョン 1 コンテナー イメージのサポートは、それに対応する Configuration API v1 とともに 2023 年 10 月 1 日に終了します。 Configuration API v2 でセルフホステッド ゲートウェイ v2.0.0 以上を使用するには、移行ガイドを使用してください。 非推奨に関するドキュメントで詳細を確認する

Note

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

前提条件

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

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

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

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

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

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

  6. [Deployment]/(デプロイ/) の横にある <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> コマンドを使用して、セルフホステッド ゲートウェイ ログのスナップショットを表示します。

次のステップ