このページの内容は Apigee と Apigee ハイブリッドに該当します。
Apigee Edge のドキュメントを表示する。
API プロキシは、デプロイされるまで呼び出すことはできません。新しい API プロキシを作成するか、既存の API プロキシを変更したら、それをクラスタにデプロイできます。
ベースパスを変更せずに API プロキシの新しいリビジョンを作成し、それをデプロイ済みリビジョンが存在する環境にデプロイすると、以前のリビジョンのデプロイが解除され、新しいリビジョンがデプロイされます。
API プロキシのデプロイ
以下のセクションの説明に従って、API プロキシ リビジョンをデプロイします。
新しいプロキシ エディタ
Apigee UI で API プロキシをデプロイするには:
Cloud コンソールの Apigee UI を使用している場合: [プロキシ開発] > [API プロキシ] を選択します。
従来の Apigee UI を使用している場合: [Develop] > [API Proxies] を選択して、[プロキシ] ペインでプロキシの環境を選択します。
デプロイする API プロキシをクリックします。 UI に [概要] ページが表示されます。
- 変更をデプロイするには、まず [Deploy] をクリックして [Deploy] ダイアログを表示します。
- 次のように入力します。
- Revision: デプロイするプロキシのリビジョン番号。
- Environment: プロキシをデプロイする環境。
- Service account(省略可): プロキシのサービス アカウント。
- [デプロイ] をクリックします。
選択したリビジョンのデプロイ プロセスが開始します。
プロキシがデプロイされると、[Deployments] セクションの [Status] 列には、プロキシのリビジョン 1 がデプロイされていることを示す緑色のアイコンが表示されます。
従来バージョンのプロキシ エディタ
Apigee UI で API プロキシをデプロイするには:
- Apigee UI にログインします。
- [Develop] > [API Proxies] の順に選択します。
UI に、API プロキシとそのデプロイ ステータスのリストが表示されます。
- [Environment] プルダウン リストから、API プロキシをデプロイする環境を選択します。
デプロイする API プロキシをクリックします。
UI に [API Proxies Overview] タブが表示されます。このビューでは、[Deployments]、[Proxy Endpoints]、[Target Endpoints] セクションを確認できます。
これが以前にデプロイしたことのない新しい API プロキシ(またはデプロイ解除された API プロキシ)の場合、[Revision] 列には「Not deployed」と表示されます。
- [Revision] 列でプルダウン セレクタを展開します。
これが以前にデプロイされていない新しい API プロキシである場合、プルダウン リストには [1] と [Undeploy] のみが表示されます。
複数のリビジョンがある API プロキシの場合、プルダウン リストには選択可能な全リビジョンと [Undeploy] が表示されます。
- プルダウン リストからデプロイするリビジョンを選択します。
UI にデプロイの確認を求めるメッセージが表示されます。
- [Deploy] をクリックします。
選択したリビジョンのデプロイ プロセスが開始します。
[Status] 列の [Details] リンクにカーソルを合わせると、デプロイのステータスが表示されます。すでに 1 つ以上のリビジョンがデプロイされている場合は、次の図に示すように、デプロイ解除のステータスをモニタリングできます。 詳しくは、ゼロ ダウンタイムでのデプロイをご覧ください。
デプロイが完了すると、[Status] の詳細に、リビジョンが完全にデプロイされたことが表示されます。
デプロイは短時間のプロセスではありません。Apigee の結果整合性デプロイモデルでは、新しいデプロイメントは、すぐにではなく少し間をおいてクラスタにロールアウトされます。詳細については、デプロイについてをご覧ください。
ステータス インジケーターの詳細とステータスの確認方法については、デプロイ ステータスの表示をご覧ください。
または、[Develop] タブで編集している現在のリビジョンをデプロイすることも可能です。これを行うと、Apigee で新しいリビジョンが作成されます。
- [Deploy to: env_name] プルダウン リストをクリックします。
UI に環境のリストが表示されます。[Revision] 列に、現在デプロイされているリビジョン(ない場合は「--」)が表示されます。
- [Deploy revision] をクリックして、最後に編集したリビジョンをデプロイします。
UI にデプロイの確認を求めるメッセージが表示されます。
- [Deploy] クリックします。
選択したリビジョンのデプロイ プロセスが開始されます。
Apigee API
以下のセクションでは、Apigee API を使用して API プロキシ リビジョンをデプロイし、組織のデプロイを一覧表示する例を示します。
デプロイ ステータスの表示もご覧ください。
デプロイ前にデプロイ変更レポートを作成する
同じ環境グループ内の複数の環境にプロキシをデプロイすると、未定義の動作が発生する可能性があります。これが発生するかどうかを判断するには、次のように generateDeployChangeReport
メソッドを使用してレポートを生成します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/deployments:generateDeployChangeReport" \ -X POST \ -H "Authorization: Bearer $TOKEN"
これにより、デプロイするプロキシのベースパスが、そのベースパスをすでに使用している既存のデプロイのためにトラフィックを受信しない場合に警告するデプロイ変更レポートが返されます。
API を使用した API プロキシ リビジョンのデプロイ
API プロキシ リビジョンをデプロイするには、次の API 呼び出しを使用します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments" \ -X POST \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得の説明に従って、$TOKEN
が OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
次に、レスポンス出力の例を示します。この例では、helloworld
API プロキシのリビジョン 1
が test
環境に正常にデプロイされています。
{ "environment": "test", "apiProxy": "helloworld", "revision": "1", "deployStartTime": "1559149080457" }
詳細については、API プロキシ リビジョンの API をデプロイするをご覧ください。
API を使用したデプロイの一覧表示
組織における API プロキシのすべてのデプロイと共有フローを一覧表示するには、次の API 呼び出しを入力します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/deployments" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得の説明に従って、$TOKEN
が OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。この例では、前のセクションでデプロイされた helloworld
など、3 つの API プロキシがデプロイされています。
{ "deployments": [ { "environment": "test", "apiProxy": "helloworld", "revision": "1", "deployStartTime": "1559149080457" }, { "environment": "test", "apiProxy": "weather", "revision": "1", "deployStartTime": "1558620435217" }, { "environment": "test", "apiProxy": "testproxy", "revision": "2", "deployStartTime": "1558635113086" } ] }
gcloud
以下のセクションでは、gcloud apigee
CLI コマンドを使用して API プロキシ リビジョンをデプロイし、組織のデプロイを一覧表示します。
デプロイ ステータスの表示もご覧ください。
サンプルで使用されている環境変数の詳細と説明については、Apigee で gcloud を使用するをご覧ください。
gcloud CLI を使用した API プロキシ リビジョンのデプロイ
API プロキシ リビジョンをデプロイするには、次の gcloud
コマンドを使用します。
gcloud apigee apis deploy $REV --api=$API --environment=$ENV
次に、レスポンス出力の例を示します。この例では、helloworld
API プロキシのリビジョン 1
が test
環境に正常にデプロイされています。
Using Apigee organization 'my-org' apiProxy: helloworld deployStartTime: '1598032332802' environment: test revision: '1'
詳細については、API プロキシ リビジョンの CLI をデプロイするをご覧ください。
gcloud CLI を使用したデプロイメントの一覧表示
組織の API プロキシのすべてのデプロイと共有フローを一覧表示するには、次の gcloud
コマンドを使用します。
gcloud apigee deployments list
レスポンスの例を次に示します。この例では、前のセクションでデプロイされた helloworld
など、3 つの API プロキシがデプロイされています。
Using Apigee organization `my-org` - apiProxy: helloworld deployStartTime: 1598032332802 environment: test revision: 1 - apiProxy: weather deployStartTime: 1558620435217 environment: test revision: 1 - apiProxy: testproxy deployStartTime: 1558635113086 environment: test revision: 2
詳しくは、デプロイメントの CLI の一覧表示をご覧ください。
トラブルシューティング
API プロキシをデプロイできない場合は、次の一般的なシナリオのいずれかが該当するかどうかを確認してください。
環境グループの命名に関する制限事項
環境グループ名が命名制限に準拠していない場合、プロキシはデプロイされません。これらの制限を満たさなくても、環境グループを作成してそこに環境を追加できる場合があります。ただし、プロキシをデプロイすることはできません。
命名のガイドラインと制限事項の説明については、環境グループの作成をご覧ください。
以前に使用した環境名で作成された環境
以前に削除された環境と同じ名前の環境を作成すると、プロキシはデプロイされません。たとえば、以前に prod-1
環境を作成して削除した後に prod-1
という名前の環境を作成した場合は、その環境を削除する必要があります。次の手順で問題を解決できます。
- API を使用して、環境グループから
prod-1
環境を切断します。 - API を使用して
prod-1
環境を削除します。 - 新しい環境を作成する例:
prod-2
- API を使用して、新しい
prod-2
環境を環境グループに接続します。