このページは Apigee と Apigee ハイブリッドに適用されます。
Apigee Edge ドキュメントを表示する
API プロキシに変更を加えたら、新しいリビジョンとして保存し、クラスタにデプロイできます。
デプロイについて
次の図に、Apigee での API プロキシ リビジョンのデプロイ ライフサイクルを示します。
API プロキシ リビジョンの制限事項
API プロキシ リビジョンには次の制限があります。
- API プロキシに変更を加えた場合は、新しいリビジョンとしてデプロイする必要があります。
- API プロキシをデプロイすると、そのリビジョンは読み取り専用になります。API プロキシのリビジョンは変更できません(増分変更を行う場合など)。リビジョンを変更するには、新しいリビジョンを作成してデプロイする必要があります。
- MP はプロキシ バンドル全体のみデプロイできます。個々のフラグメントまたはポリシーに変更を加えた場合でも、MP は引き続きプロキシ バンドル全体をデプロイします。
- Apigee の使用状況が標準プロキシと拡張プロキシの間で区別され、API プロキシを標準プロキシから拡張プロキシに変更するリビジョンをデプロイする場合:
- 費用が発生する可能性があります。従量課金制(更新された属性)をご利用の方は従量課金制の利用資格をご覧ください。サブスクリプションをご利用の方は、プランの詳細をご覧ください。
- デプロイにかかる時間が長くなります。デプロイ期間中に API 呼び出しのフローが中断されることはありませんが、プロキシのデプロイ、デプロイ解除、削除はできません。また、デプロイ中に現在のリビジョンや新しいリビジョンを削除することもできません。API プロキシの変更と新しいリビジョンの作成は可能です。
ゼロ ダウンタイムでのデプロイ
Apigee への API プロキシのデプロイはゼロ ダウンタイムのデプロイです。API プロキシのデプロイは次の順序で行われます。
- API プロキシ
/hello
のリビジョン 1 がデプロイされ、トラフィックを処理しています。 /hello
のリビジョン 2 がデプロイされます。- リビジョン 2 がランタイム プレーンのメッセージ プロセッサにデプロイされます。
- リビジョン 1 のデプロイが解除されます。
これで、API プロキシ リビジョンのデプロイがダウンタイムなしで完了します。
デプロイ ステータスの表示
Apigee で API プロキシをデプロイしてもすぐには使用できません。ランタイム プレーンのすべての MP 間で API プロキシが同期されるまで時間がかかります。ただし、Apigee には API プロキシ リビジョンのステータスに関する情報を確認できるツールが用意されています。
Apigee UI
Apigee UI では、いくつかのビューに API プロキシのデプロイ ステータスが表示されます。
Apigee UI ビュー | 手順と説明 |
---|---|
プロキシ |
Apigee UI では、各 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 の説明をご覧ください。
次のステップ
デプロイ方法については、以下をご覧ください。
|
デプロイ解除方法については、以下をご覧ください。
|