ロールバック、段階的なロールアウト、トラフィックの移行

Cloud Run では、トラフィックを受信するリビジョンと、リビジョンが受信するトラフィックの割合を指定できます。この機能を使用すると、以前のリビジョンにロールバックしたり、リビジョンを段階的にロールアウトし、複数のリビジョン間でトラフィックを分割できます。このページでは、この機能を使用して Cloud Run リビジョンへのトラフィックを管理する方法について説明します。

以前のリビジョンにロールバックする

以前のリビジョンにロールバックするには:

コンソール

  1. Cloud Run に移動します

  2. サービスリストでサービスを見つけてクリックします。

  3. [リビジョン] タブをクリックして、そのサービスの現在のリビジョンのリストを表示します。

  4. リビジョンのリストで、ロールバックしているリビジョンの右側にある省略記号アイコンをクリックします。

    manage-traffic

  5. [トラフィックの管理] をクリックして、トラフィック管理フォームを表示します。

    1. プルダウン リストからロールバックする以前のリビジョンを選択します。
    2. 以前のリビジョンのトラフィックの割合を 100 に設定します。
    3. 現在、配信されているリビジョンの割合を 0 に設定します。
    4. [保存] をクリックします。

コマンドライン

次のコマンドを使用します。

gcloud alpha run services update-traffic SERVICE --to-revisions REVISION=100

  • [SERVICE] をサービスの名前に置き換えます。
  • [REVISION] をロールバックするリビジョンの名前に置き換えます。

リビジョンを段階的にロールアウトする

新しいリビジョンを段階的にロールアウトするには:

コンソール

  1. Cloud Run に移動します

  2. サービスリストでサービスを見つけてクリックします。

  3. [新しいリビジョンをデプロイ] をクリックします。

  4. 必要に応じてデプロイ フォームに記入します。[このリビジョンをすぐに利用する] のチェックボックスは必ずオフにしてください。

  5. [デプロイ] をクリックします。

  6. [トラフィックの管理] をクリックします。

  7. 新しいリビジョンが一覧表示されますが、割合は 0 に設定され、現在はトラフィックが処理されていないことを示します。フォームで次の操作を行います。

    1. たとえば 5 など、希望する割合に設定します。現在配信中のバージョンの割合は、自動的に同じ値が減少します。
    2. [保存] をクリックします。
    3. これらの [トラフィックの管理] 手順を繰り返します。割合を変更する場合は、新しいリビジョンに必要な割合を増やします。トラフィックの割合を変更するために再デプロイする必要はありません。

コマンドライン

  1. 段階的にロールアウトするリビジョンをデプロイします。初期設定では、トラフィックを受信しません。

    gcloud alpha run deploy --image IMAGE --no-traffic

    [イメージ] をデプロイ対象のイメージに置き換えます。

  2. 新しいリビジョンに処理するトラフィックの割合を指定します(たとえば、5% など)。

    gcloud alpha run services update-traffic SERVICE --to-revisions REVISION=PERCENTAGE
    • [SERVICE] をサービスの名前に置き換えます。
    • [REVISION] を段階的にロールアウトするリビジョンの名前に置き換えます。最新のリビジョンを指定するには、LATEST を使用します(たとえば、LATEST=5 など)。
    • [PERCENTAGE] を新しいリビジョンに送信するトラフィックの割合に置き換えます。たとえば、トラフィックの 5% を送信する場合は、5 など。
  3. リビジョンのパフォーマンスが十分な場合は、上記の update-traffic ステップを繰り返しますが、必要に応じて割合の値を増やします。

複数のリビジョン間でトラフィックを分割する

2 つ以上のリビジョン間でトラフィックを分割するには:

コンソール

  1. Cloud Run に移動します

  2. サービスリストでサービスを見つけてクリックします。

  3. [トラフィックの管理] をクリックします。

  4. 現在、配信されている新しいリビジョンが一覧表示されます。フォームで次の操作を行います。

    1. 現在、配信されているリビジョンの割合を目的の値に分割します。
    2. プルダウン リストを使用して以前のリビジョンの 1 つを選択し、割合を目的の分割に設定します。
    3. 他のリビジョン間でトラフィックを分割するには、[リビジョンを追加] をクリックして目的のリビジョンを選択し、割合を目的の分割に設定します。
    4. [保存] をクリックします。

コマンドライン

各リビジョンのリビジョンとトラフィックの割合をカンマ区切りリストで指定します。

gcloud alpha run services update-traffic SERVICE --to-revisions LIST

  • [SERVICE] をサービスの名前に置き換えます。
  • [LIST] をリビジョンと割合のカンマ区切りリストに置き換えます。
    REVISION1=PERCENTAGE1REVISION2=PERCENTAGE2REVISIONn=PERCENTAGEx
    たとえば、hello2-00005-red=25,hello2-00001-bod=25,hello2-00002-nan=50 など。

すべてのトラフィックを最新のリビジョンに送信する

新しいリビジョンをデプロイすると、このリビジョンを作成でき、将来のすべてのリビジョンがトラフィックの 100% をできるだけ早く処理し、確立されたトラフィック分割を上書きします。

コンソール

  1. Cloud Run に移動します

  2. サービスリストでサービスを見つけてクリックします。

  3. [新しいリビジョンをデプロイ] をクリックします。

  4. 必要に応じてデプロイ フォームに記入します。[このリビジョンをすぐに利用する] のチェックボックスは必ずオンにしてください。これにより、既存のトラフィック分割が上書きされ、新しいリビジョンがトラフィックの 100% を処理します。

  5. [デプロイ] をクリックします。

コマンドライン

すべてのトラフィックを最近デプロイされたリビジョンに送信するには:

gcloud alpha run services update-traffic SERVICE --to-latest

[SERVICE] をサービスの名前に置き換えます。