適用対象: Developer | Premium
この記事では、Azure API Management のセルフホステッド ゲートウェイ コンポーネントを Docker 環境にデプロイする手順について説明します。
Note
Docker でのセルフホステッド ゲートウェイのホストは、評価と開発のユース ケースに最適です。 運用環境での使用には Kubernetes が推奨されます。 Helm を使用して、またはデプロイ YAML ファイルを使用して、セルフホステッド ゲートウェイを Kubernetes にデプロイする方法について説明します。
前提条件
- 次のクイック スタートを完了します。 Azure API Management インスタンスを作成します。
- Docker 環境を作成する: Docker for Desktop は、開発と評価の目的に適したオプションです。 Docker のすべてのエディション、その機能、および Docker 自体に関する包括的なドキュメントについては、「Docker Documentation (Docker ドキュメント)」を参照してください。
- Azure API Management インスタンスでゲートウェイ リソースをプロビジョニングします。
Note
セルフホステッド ゲートウェイは、x86-64 Linux ベースの Docker コンテナーとしてパッケージ化されています。
Docker にセルフホステッド ゲートウェイをデプロイする
[デプロイ + インフラストラクチャ] で [セルフホステッド ゲートウェイ] を選択します。
デプロイするゲートウェイ リソースを選択します。
設定>を選択します。
[ トークン ] テキスト ボックスのアクセス トークンは、既定の [有効期限 ] と [ 秘密鍵 ] の値を使用して自動生成されることに注意してください。 必要に応じて、いずれかまたは両方のコントロールで必要な値を選択して、新しいトークンを生成します。
[デプロイ スクリプト] 下で [Docker] が選択されていることを確認します。
環境の横にある env.conf ファイル リンクを選択して、ファイルをダウンロードします。
[実行] テキスト ボックスの右端にある [コピー] アイコンを選択して、Docker コマンドをクリップボードにコピーします。
コマンドをターミナル (またはコマンド) ウィンドウに貼り付けます。 必要に応じて、ポート マッピングとコンテナー名を調整します。 このコマンドは、ダウンロードした環境ファイルが現在のディレクトリに存在することを前提としています。
docker run -d -p 80:8080 -p 443:8081 --name <gateway-name> --env-file env.conf mcr.microsoft.com/azure-api-management/gateway:<tag>コマンドを実行します。 このコマンドは、Microsoft Artifact Registry の コンテナー イメージ を使用してコンテナーを実行し、コンテナーの HTTP (8080) ポートと HTTPS (8081) ポートをホスト上のポート 80 と 443 にマップするように Docker 環境に指示します。
次のコマンドを実行して、ゲートウェイ コンテナーが実行されているかどうかを確認します。
docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 895ef0ecf13b mcr.microsoft.com/azure-api-management/gateway:latest "/bin/sh -c 'dotnet …" 5 seconds ago Up 3 seconds 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8081/tcp my-gatewayAzure portal に戻り、[ 概要] を選択し、先ほどデプロイしたセルフホステッド ゲートウェイ コンテナーが正常な状態を報告することを確認します。
ヒント
console docker container logs <gateway-name> コマンドを使用して、セルフホステッド ゲートウェイ ログのスナップショットを表示します。
docker container logs --help コマンドを使用して、すべてのログ表示オプションを表示します。
関連コンテンツ
- セルフホステッド ゲートウェイの詳細については、セルフ ホステッド ゲートウェイの概要に関するページを参照してください。
- セルフホステッド ゲートウェイのカスタム ドメイン名を構成します。