デプロイの概要

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

このセクションでは、主にハイブリッド UI 内でのデプロイの管理方法について説明します。Apigee API を使用したデプロイの管理については、API を使用したデプロイの管理をご覧ください。

デプロイについて

Apigee ハイブリッドでは、API プロキシの新しいリビジョンを Synchronizer と MP 経由で反映します。MP は継続的に Synchronizer をポーリングして、API プロキシ バンドルへの変更の有無を確認します。変更を検出すると、HTTP 経由で取得し、そのバンドルをデプロイします。

Apigee ハイブリッドでは、MP は互いに独立して動作するため、ある特定の MP が他の MP と異なる状態(アクティブや無効など)になる場合があります。これは、API プロキシの「結果整合性のあるデプロイモデル」と呼ばれます。

次の図は、ハイブリッド上の新しい API プロキシのデプロイ ライフサイクルを示しています。

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

プロキシ リビジョンには次の制限が適用されます。

  • API プロキシに変更を加えた場合は、新しいリビジョンとしてデプロイする必要があります。
  • API プロキシをデプロイすると、そのリビジョンは読み取り専用になります。API プロキシ リビジョンは変更できません(段階的な変更など)。リビジョンを「変更」するには、新しいリビジョンを作成してデプロイする必要があります。
  • MP はプロキシ バンドルを全体としてのみデプロイできます。フラグメントやポリシーを個別に変更した場合も、MP はプロキシ バンドル全体をデプロイします。

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

Apigee ハイブリッドに対する API プロキシ デプロイが成功した場合はすべて、ゼロダウンタイム デプロイとなります。プロキシのデプロイは次の順序で行われます。

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

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

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

MP はプロキシのステータスを UDCA に通知し、UDCA はそのステータスを GCP と管理プレーンに送信します。

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

API プロキシのデプロイ ステータスは、次のいずれかの方法で取得できます。

  • ハイブリッド UI(このセクション)
  • Apigee API

ハイブリッド UI には、API プロキシのデプロイ ステータスを示すビューがいくつかあります。

ハイブリッド UI ビュー 手順と説明
プロキシ
  1. [Develop] > [API Proxies] を選択します。

ハイブリッド UI では、次のアイコンを使用して、各プロキシのステータスを素早く示します。

: 選択した環境にプロキシがデプロイされていません。
: 選択した環境に、そのプロキシのエラーや警告がありません。
: 選択した環境に、注意を必要とするポッドが 1 つ以上あります。
: 選択した環境に、エラーと、注意を必要とするポッドが 1 つ以上あります。

ステータス アイコンは、[Develop] タブをクリックすると、[Deploy to] ボタンの横に表示されます。

[Develop] > [API Proxies] を選択して、プロキシをクリックしても表示されます。

デプロイ
  1. [Develop] > [API Proxies] を選択します。
  2. プロキシをクリックします。
  3. [Deployments] の下にある [Details] リンクにカーソルを合わせます。

    次の例は、デプロイが成功した場合の結果を示しています。

    デプロイ中に問題が発生した場合は、次の情報(問題の原因に関する情報を含む)が提供されます。

    • n pods reported errors: 最新の同期プロセスでエラーを報告した MP の数。
    • n pods in unknown status: 過去 5 分以内にアクティブであると判断されているものの、最新のデプロイに固有のステータス(成功または失敗)を報告していない MP の数。デプロイ プロセスの非同期という性質のため、ハイブリッドでは現在、これらのポッドにデプロイされているリビジョンは認識されません。

デプロイ ステータス情報を取得するために、UI は Unified Analytics Platform(UAP)をポーリングします。UAP は MP(ランタイム)ポッドから直接デプロイ ステータスを取得します。UI は UAP を 5 分間ポーリングし、できるだけ 100% のポッドからステータスの報告を受け、UI がこのビューで更新されるようにします。5 分後にビューを更新すると、ポーリングを再開できます。

[Develop] タブをクリックして [Details] リンクにカーソルを合わせても、デプロイの問題に関する詳細を表示できます。

デプロイ中、UI にポッド同期ステータスバーが表示されます。このバーの横には、ポッドのステータス メッセージも表示されます。

ポッド同期ステータスバーには、過去 5 分以内にそのリビジョンに関連するステータス(成否に関係なく)を報告したポッドの割合も表示されます。

ポッド同期ステータスバーにカーソルを合わせると、UI にランタイム ポッドのポップアップも表示されます。

デフォルトのデプロイ環境の変更

UI の [Develop] タブには、デフォルト環境のリビジョンとステータスを示す便利なインジケーターが多数表示されます。次の画像は、これらのインジケーターをハイライト表示しています。

デフォルト環境は、ハイブリッド組織内の任意の環境に変更できます。

デフォルト環境を変更するには:

  1. [Develop] タブの [Deploy to] プルダウン リストをクリックします。

    プルダウン リストが展開します。各行には、環境、その環境にデプロイされているリビジョン、[Undeploy] ボタンが表示されます。

    次の例は、3 つの環境を示しています。最初に表示されているのはデフォルト環境です。

  2. 別の環境の行をクリックします。[Undeploy] ボタンと [Deploy] ボタン以外の場所であればどこでも構いません。

    たとえばデフォルトの環境を「test-env-42」環境に変更するには、次のようにします。

    ハイブリッド UI が更新され、新しいデフォルト環境のステータスが表示されます。さらに、[Deploy to] プルダウン リストのデフォルトの環境が、新しく選択された環境になります。