トラフィックの移行

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

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

始める前に

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

トラフィックを徐々に移行する

スタンダード環境では、リクエストをターゲット バージョンに段階的にルーティングするのか、すぐにルーティングするのかを選択できます。

デフォルトでは、ウォームアップ リクエストは有効です。トラフィックはバージョンに段階的に移行します。

トラフィックをバージョンに即時に移行する必要がある場合は、ウォームアップ リクエストを無効にできます。そうしなければ({% else %})段階的に移行されます。インスタンスを実行していない状態で直ちにトラフィックを新しいバージョンに移行すると、リクエストを読み込む際のレイテンシが急増します。既存のバージョンと同じ名前の新しいバージョンをデプロイすると、トラフィックは直ちに移行されます。古いバージョンのすべてのインスタンスが即時にシャットダウンされます。そのため、新しいバージョンに対するリクエストの読み込みによってレイテンシが急増します。

ウォームアップ リクエストを有効にした場合、異なる環境に存在するバージョン間でトラフィックを移行するには、トラフィックの即時移行を指定する必要があります。

アプリケーションにウォームアップ リクエストを追加する

ウォームアップ リクエストを有効にすると、トラフィックは段階的に移行されます。最初にウォームアップ リクエストが新しいインスタンスに送信され、その後、インスタンスがユーザー リクエストを受信します。ウォームアップ リクエストを使用すると、これらのリクエストが現在トラフィックを受信しているバージョンで処理され、新しいインスタンスの作成中に新しいバージョンにトラフィックが移行されるので、ユーザーのレスポンス時間が改善されます。

ウォームアップ リクエストが有効でない場合、新しいインスタンスが作成される前にユーザー リクエストが送信されます。新しいインスタンスが作成され、アプリケーション コードが読み込まれるまでに遅延が生じるため、ユーザー レスポンスでレイテンシが発生します。

ウォームアップ リクエストを有効にする方法については、ウォームアップ リクエストを構成してパフォーマンスを改善するをご覧ください。

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

Console

GCP Console でトラフィックを移行するには、[バージョン] ページに移動します。

[バージョン] ページに移動

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

gcloud

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

  • トラフィックを直ちに移行するには、次のコマンドを実行します。
    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 を使用できます。詳細については、トラフィックの移行と分割をご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Java の App Engine スタンダード環境