デプロイの概要

このページは ApigeeApigee ハイブリッドに適用されます。

Apigee Edge ドキュメントを表示する

API プロキシに変更を加えたら、新しいリビジョンとして保存し、クラスタにデプロイできます。

デプロイについて

次の図に、Apigee での API プロキシ リビジョンのデプロイ ライフサイクルを示します。

管理プレーン、ランタイム プレーン、Stackdriver を表す Apigee API プロキシのデプロイ ライフサイクル。

API プロキシ リビジョンの制限事項

API プロキシ リビジョンには次の制限があります。

  • API プロキシに変更を加えた場合は、新しいリビジョンとしてデプロイする必要があります。
  • API プロキシをデプロイすると、そのリビジョンは読み取り専用になります。API プロキシのリビジョンは変更できません(増分変更を行う場合など)。リビジョンを変更するには、新しいリビジョンを作成してデプロイする必要があります。
  • MP はプロキシ バンドル全体のみデプロイできます。個々のフラグメントまたはポリシーに変更を加えた場合でも、MP は引き続きプロキシ バンドル全体をデプロイします。
  • Apigee の使用状況が標準プロキシと拡張プロキシの間で区別され、API プロキシを標準プロキシから拡張プロキシに変更するリビジョンをデプロイする場合:
    • 費用が発生する可能性があります。従量課金制(更新された属性)をご利用の方は従量課金制の利用資格をご覧ください。サブスクリプションをご利用の方は、プランの詳細をご覧ください。
    • デプロイにかかる時間が長くなります。デプロイ期間中に API 呼び出しのフローが中断されることはありませんが、プロキシのデプロイ、デプロイ解除、削除はできません。また、デプロイ中に現在のリビジョンや新しいリビジョンを削除することもできません。API プロキシの変更と新しいリビジョンの作成は可能です。

ゼロ ダウンタイムでのデプロイ

Apigee への API プロキシのデプロイはゼロ ダウンタイムのデプロイです。API プロキシのデプロイは次の順序で行われます。

  1. API プロキシ /hello のリビジョン 1 がデプロイされ、トラフィックを処理しています。
  2. /hello のリビジョン 2 がデプロイされます。
  3. リビジョン 2 がランタイム プレーンのメッセージ プロセッサにデプロイされます。
  4. リビジョン 1 のデプロイが解除されます。

これで、API プロキシ リビジョンのデプロイがダウンタイムなしで完了します。

デプロイ ステータスの表示

Apigee で API プロキシをデプロイしてもすぐには使用できません。ランタイム プレーンのすべての MP 間で API プロキシが同期されるまで時間がかかります。ただし、Apigee には API プロキシ リビジョンのステータスに関する情報を確認できるツールが用意されています。

Apigee UI

Apigee UI では、いくつかのビューに API プロキシのデプロイ ステータスが表示されます。

Apigee UI ビュー 手順と説明
プロキシ
  1. [Develop] > [API Proxies] の順に選択します。

    現在デプロイされている API プロキシ「one-fish」のステータスが表示されています(緑色のドットアイコン)。

Apigee UI では、各 API プロキシのステータスが次のアイコンで表示されるので、すぐに確認できます。

灰色のアイコンは、選択した環境に API プロキシがデプロイされていないことを示します。 は、選択した環境に API プロキシがデプロイされていないことを示します。
緑色のドットは、選択した環境にエラーや警告なしで API プロキシがデプロイされていることを示します。 は、選択した環境でそのプロキシのエラーまたは警告が発生していません。
黄色の三角形のアイコンは、ベースパスの競合が原因で一部のルーティングが更新されなかったことを示しています。 は、ベースパスの競合のため、一部のルーティングが更新されなかったことを示します。
黄色の正方形のアイコンは、デプロイ中にエラーが発生したことを示します。 は、API プロキシのデプロイでエラーが発生したことを示します。

ステータス アイコンを表示するには、[Develop] タブをクリックします。

または、[Develop] > [API Proxies] を選択して、API プロキシをクリックします。

Apigee API

環境の API プロキシ リビジョンのデプロイ ステータスを表示するには、次の API 呼び出しを使用します。

curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/apis/$API/revisions/$REV/deployments" \
  -X GET \
  -H "Authorization: Bearer $TOKEN"

ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。

レスポンスの例を次に示します。次の例は、test 環境にデプロイされている helloworld API プロキシのリビジョン 1 のデプロイ ステータスを示しています。

{
  "environment": "test",
  "apiProxy": "helloworld",
  "revision": "1",
  "deployStartTime": "1559149080457",
  "pods": [
    {
      "podName": "apigee-runtime-myorg-test-f8bdf9d-2s72w",
      "deploymentStatus": "deployed",
      "statusCodeDetails": "Deployment Success",
      "podStatus": "active",
      "podStatusTime": "1595357668001"
    }
  ],
  "state": "READY"
}

詳細については、API プロキシ リビジョン環境のデプロイ API をご覧ください。

gcloud

環境の API プロキシ リビジョンのデプロイ ステータスを表示するには、次の gcloud コマンドを使用します。

gcloud alpha apigee deployments describe --api=$API --environment=$ENV

サンプルで使用されている環境変数の詳細と説明については、Apigee で gcloud を使用するをご覧ください。

レスポンスの例を次に示します。次の例は、test 環境にデプロイされている helloworld API プロキシのリビジョン 1 のデプロイ ステータスを示しています。

Using Apigee organization `my-org`
Using deployed revision `1`
apiProxy: helloworld
deployStartTime: '1598032332802'
environment: test
pods:
- deploymentStatus: deployed
  podName: apigee-runtime-myorg-test-f8bdf9d-2s72w
  podStatus: active
  podStatusTime: '1598302128087'
  statusCodeDetails: Deployment Success
revision: '1'
state: READY

詳細については、デプロイ CLI の説明をご覧ください。

次のステップ

 

デプロイ方法については、以下をご覧ください。

API プロキシのデプロイ

 

 

デプロイ解除方法については、以下をご覧ください。

API プロキシのデプロイ解除