デプロイの概要

API プロキシに変更を加えた場合、新しいリビジョンとして保存して、ランタイム プレーンにデプロイできます。これによって、変更がクラスタに反映されます。

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

デプロイについて

Apigee ハイブリッドでは、API プロキシの新しいリビジョンを MP 経由で反映します。Apigee ハイブリッドでは、MP は互いに独立して動作するため、特定の MP が他の MP と異なる状態(アクティブや無効など)になる場合があります。

MP はクラスタのファイル システムをポーリングし、新しい API プロキシ バンドルが利用可能かどうかを判断します。新しいバンドルが利用可能であることを検出すると、MP はファイル システムからバンドルを取り出してデプロイします。各 MP は、クラスタ内の他のすべての MP とは無関係にこれを実行します。これは、API プロキシの「結果整合性のあるデプロイモデル」と呼ばれます。

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

プロキシ リビジョンについて

API プロキシをデプロイすると、そのリビジョンは読み取り専用になります。API プロキシ リビジョンは変更できません。リビジョンを「変更」するには、新しいリビジョンを作成してデプロイする必要があります。

プロキシ バンドルは全体としてのみデプロイできます。フラグメントやポリシーを個別に変更した場合も、プロキシ バンドル全体をデプロイする必要があります。

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

Apigee ハイブリッドに対する API プロキシ デプロイはすべて、ゼロダウンタイム デプロイです。そのため、デプロイは次の順序で行われます。

  1. プロキシ /hello のリビジョン 1 がデプロイされ、トラフィックが処理されます。
  2. /hello のリビジョン 2 が保存され、デプロイされます。
  3. リビジョン 2 は、ランタイム プレーンのメッセージ プロセッサに追加されます。
  4. リビジョン 2 の「追加」が正常に行われると、リビジョン 1 は削除されます。

    新しいリビジョンがデプロイされ、デプロイが完了すると、すでにデプロイされているリビジョンがデプロイ解除されます。これでプロキシ リビジョンのデプロイは、ダウンタイムなしに完了します。

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

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

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

    [Deployments] ビューを初めて読み込むと、すべての MP ポッドがポーリングされ、現在のステータスが取得されます。ハイブリッドは MP を 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] プルダウン リストのデフォルトの環境が、新しく選択された環境になります。