トラフィックの移行

トラフィック移行は、アプリケーションのサービス内にあるバージョン間でリクエストのルーティングを切り替えて、1 つ以上のバージョンから単一の新しいバージョンにトラフィックを移行する機能です。

フレキシブル環境ではバージョン間でトラフィックが直ちに移行されます。スタンダード環境のバージョンとは異なり、フレキシブル環境では段階的なトラフィック移行はサポートされていません。

インスタンスを実行していない状態でトラフィックを直ちに新しいバージョンに移行すると、インスタンスの作成中にアプリのレイテンシが急増します。App Engine Admin API を使用して、トラフィックを移行する前に新しいアプリのバージョンのインスタンスを十分な数だけプロビジョニングすることで、レイテンシの急増を避けることができます。

新しいバージョンの minTotalInstances を、予想されるトラフィックを処理するために必要な数に設定します。移行が完了したら、このフィールドをリセットして、トラフィックが低下した場合に自動スケーリングが行われるようにすることが可能です。

アプリのバージョン間でトラフィックを分割して、各バージョンが受け取るトラフィックの量を段階的に増やすことができます。

アプリの複数のバージョン間でトラフィックを分割する方法については、トラフィック分割をご覧ください。

始める前に

あるバージョンへのトラフィックを構成する際は、ユーザー アカウントに必要な権限が含まれていることを確認してください。

新しいバージョンへのトラフィックの移行

コンソール

Google Cloud コンソールでトラフィックを移行するには、[バージョン] ページに移動します。

[バージョン] に移動

  1. すべてのトラフィックの移行先となるバージョンを選択します。
  2. [トラフィックを移行] をクリックします。
  3. 省略可: ウォームアップ リクエストを有効にすると、トラフィックは段階的に移行されます。トラフィックをすぐに移行するには、[詳細設定を表示] でオプションを選択します。

gcloud

Google Cloud CLI をインストールした後、gcloud app services set-traffic コマンドを実行して、すべてのトラフィックを 1 つのバージョンに移行します。次に例を示します。

  • トラフィックをすぐに移行するには、次のコマンドを実行します。
    gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1
  • トラフィックを段階的に移行するには、任意の --migrate フラグを使用します。
    gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1 --migrate

API

プログラムでトラフィックを移行する場合は、Admin API を使用できます。詳細については、トラフィックの移行と分割をご覧ください。