デプロイの概要

このページの内容は 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 プロキシの使用は、デプロイの割り当ての対象となる場合があります。これは、一度に使用できるデプロイ ユニット数の上限です。詳しくは、利用資格(Pay-as-you-goまたはサブスクリプション)をご覧ください。組織のプロキシのデプロイの使用状況は、以下に示すように Cloud コンソールの Apigee UI 内の複数の場所から確認できます。

Apigee の [概要] ページでデプロイの使用状況を表示する

Apigee の [概要] ページで API プロキシのデプロイの使用状況を表示するには:

  1. Google Cloud コンソールの Apigee UI で [概要] ページを開きます。

    概要を表示

  2. [Proxy Usage] カードを使用すると、組織のプロキシ デプロイの使用状況を簡単に確認できます。このカードには、組織に関する次の情報が表示されます。
    • 作成されたプロキシの合計数: デプロイ済みプロキシとデプロイされていないプロキシを含む、作成された API プロキシの合計数。
    • デプロイされたプロキシ: 組織内のすべての環境にデプロイされている API プロキシの合計数。
    • プロキシ デプロイ ユニット: 組織にデプロイされている API プロキシまたは共有フロー リビジョンの合計数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。
    • 上限に対するデプロイ済みのプロキシと共有フロー: 組織にデプロイされている API プロキシと共有フローの合計数と、組織の種類の上限。
    • 拡張デプロイ ユニット: 組織にデプロイされている拡張 API プロキシのリビジョンの数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。
    • 標準デプロイ ユニット: 組織にデプロイされている標準 API プロキシ リビジョンの数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。

[API Proxies] ページでデプロイの使用状況を表示する

[API Proxies] ページで API プロキシのデプロイの使用状況を表示するには:

  1. Google Cloud コンソールの Apigee UI で [API プロキシ] ページを開きます。

    [API プロキシ] に移動

  2. [API Proxies] ページには、次の情報が表示されます。
    • 作成されたプロキシの合計数: デプロイ済みとデプロイされていないプロキシを含む、組織で開発された API プロキシの合計数。
    • デプロイされたプロキシ: 組織内のすべての環境にデプロイされた API プロキシ リビジョンの合計数。
    • プロキシ デプロイ ユニット: 組織内のすべての環境にデプロイされている API プロキシまたは共有フローのリビジョンの合計数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。
    • 拡張プロキシのデプロイ ユニット: 組織内のすべての環境にデプロイされている拡張 API プロキシのリビジョンの数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。
    • 標準プロキシのデプロイ ユニット: 組織内のすべての環境にデプロイされている標準 API プロキシのリビジョンの数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。

[環境] ページでデプロイの使用状況を表示する

[環境] ページで API プロキシのデプロイの使用状況を表示するには:

  1. Google Cloud コンソールの Apigee UI で [環境] ページを開きます。

    [環境] に移動

  2. [環境] の概要タブを選択して、すべての環境の次の情報を表示します。
    • プロキシ デプロイ ユニットの合計: 組織内のすべての環境にデプロイされている API プロキシまたは共有フローのリビジョンの合計数。
    • 拡張プロキシのデプロイ ユニット: 組織内のすべての環境にデプロイされている拡張 API プロキシのリビジョンの数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。
    • 標準プロキシのデプロイ ユニット: 組織内のすべての環境にデプロイされている標準 API プロキシのリビジョンの数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。
    • 共有フローのデプロイ ユニット: 組織内のすべての環境にデプロイされた共有フローのリビジョンの合計数。環境とインスタンスごとに 1 つのデプロイが 1 つのユニットとしてカウントされます。
  3. 単一環境のプロキシのデプロイの使用状況を表示するには:
    1. [環境] リストで、環境名を選択して詳細を表示します。
    2. [デプロイメント] タブを選択して、選択した環境のデプロイ ユニットの使用状況を確認します。

次のステップ

 

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

API プロキシのデプロイ

 

 

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

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