移行されたリソースを従来のアプリケーション ロードバランサにロールバックする

このドキュメントでは、グローバル外部アプリケーション ロードバランサ インフラストラクチャから従来のアプリケーション ロードバランサ インフラストラクチャに移行されたリソースをロールバックする方法について説明します。

ロード バランシング スキームを変更してから 90 日以内に移行したリソースをロールバックする場合は、次の順序で行います。

  1. 転送ルールをロールバックする。
  2. バックエンド バケットをロールバックする。
  3. 転送ルールに関連付けられているすべてのバックエンド サービスをロールバックする。

バックエンド サービスを EXTERNAL ロード バランシング スキームにロールバックするには、まず転送ルールをロールバックする必要があります。

始める前に

移行したリソースをロールバックする前に、従来のアプリケーション ロードバランサのリソースをグローバル外部アプリケーション ロードバランサ インフラストラクチャに移行し、ロード バランシング スキームを EXTERNAL_MANAGED に変更していることを確認します。ロールバックできるのは、過去 90 日以内に EXTERNAL スキームから EXTERNAL_MANAGED スキームに移行されたリソースのみです。

また、ロールバック プロセスを開始する前に、リソースに構成されている高度なトラフィック管理機能を削除する必要があります。

権限

このドキュメントの手順を行うには、ロードバランサ コンポーネントを管理する権限が必要です。Compute ネットワーク管理者のロールroles/compute.networkAdmin)があることを確認します。

詳しくは次のページをご覧ください。

転送ルールをロールバックする

コンソール

転送ルールをロールバックするには、gcloud CLI を使用します。

gcloud

  1. 転送ルールのロード バランシング スキームを EXTERNAL_MANAGED から EXTERNAL に変更します。

    バックエンド バケットが転送ルールに関連付けられている場合は、この手順をスキップして、バックエンド バケットをロールバックします。

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --load-balancing-scheme=EXTERNAL \
      --global
    

    6 分以上待ちます。

  2. 省略可: 転送ルールのログを確認します。ロード バランシング スキームが EXTERNAL に変更されていることが確認できます。

バックエンド バケットをロールバックする

コンソール

バックエンド バケットをロールバックするには、gcloud CLI を使用します。

gcloud

  1. バックエンド バケットのスキーマを EXTERNAL に、移行ステータスを TEST_ALL_TRAFFIC に変更します。

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --load-balancing-scheme=EXTERNAL \
      --external-managed-backend-bucket-migration-state=TEST_ALL_TRAFFIC \
      --global
    

    6 分以上待ちます。

  2. 従来のアプリケーション ロードバランサのネットワーク トラフィックの一部をバックエンド バケットに送信するには、バックエンド バケットの移行ステータスを TEST_BY_PERCENTAGE に変更し、割合を指定します。

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --external-managed-backend-bucket-migration-state=TEST_BY_PERCENTAGE \
      --external-managed-backend-bucket-migration-testing-percentage=10 \
      --global
    

    6 分以上待ちます。

    ロードバランサの指標から、リクエストの全体的なバランスが構成したロールバック率と一致していることを確認できます。

  3. バックエンド バケットの移行ステータスを PREPARE に変更します。

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --external-managed-backend-bucket-migration-state=PREPARE \
      --global
    

    6 分以上待ちます。

  4. バックエンド バケットの移行ステータスを移行前のステータスに変更します。

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --clear-external-managed-migration-state \
      --global
    

    6 分以上待ちます。

バックエンド サービスをロールバックする

コンソール

従来のアプリケーション ロードバランサ インフラストラクチャにトラフィックを送信する

  1. [バックエンド サービス] セクションの web-backend-service で、次のフィールドを確認し、[元に戻す] をクリックします。
    • ステータス: 移行済み
    • 移行率: 100%
    • スキームのアクティビティ: EXTERNAL: 0% EXTERNAL_MANAGED: 100%
  2. [移行を管理] ペインの [ステータスの変更] で [すべてのトラフィックをテスト] を選択します。これにより、すべてのリクエストが引き続きグローバル外部アプリケーション ロードバランサ インフラストラクチャに送信されます。
  3. [保存] をクリックします。リソースの移行が完了するまで 6 分以上待ちます。[ステータス] 列が [すべてのトラフィックをテスト中] に変わり、[スキームのアクティビティ] が [EXTERNAL: 0% EXTERNAL_MANAGED: 100%] になります。

  4. 再度 [移行を管理] をクリックします。

  5. [移行を管理] ペインの [ステータスの変更] で [割合を指定してテスト] を選択します。

  6. [テストの割合] に「90」と入力します。これにより、リクエストの 90% が引き続きグローバル外部アプリケーション ロードバランサ インフラストラクチャに送信され、残りの 10% のリクエストはテストとして従来のアプリケーション ロードバランサ インフラストラクチャに送信されます。

  7. [保存] をクリックします。

    リソースの準備が完了するまで 6 分以上待ちます。[ステータス] 列が [テスト中(%)] に変わり、[移行率] が [90%]、[スキームのアクティビティ] が [EXTERNAL: 10% EXTERNAL_MANAGED: 90%] になります。

    リソースの準備が完了すると、リクエストの 90% がグローバル外部アプリケーション ロードバランサ インフラストラクチャに送信され、10% のリクエストが従来のアプリケーション ロードバランサ インフラストラクチャに送信されます。

  8. ロードバランサをテストして、リクエストが想定どおりに処理されていることを確認します。

    ウェブブラウザのアドレスバーに「http://IP_ADDRESS」と入力します。Page served from: lb-backend-example-xxxx というメッセージが表示されます。

  9. この手順を繰り返し、グローバル外部アプリケーション ロードバランサ インフラストラクチャに送信するトラフィックの割合を徐々に減らしていきます。

    すべてのトラフィックを従来のアプリケーション ロードバランサに送信するようになったら、バックエンド サービスのロールバック プロセスは完了です。[ステータス] 列は [ テスト中(%)]、[移行率] は [0%]、[スキームのアクティビティ] は [EXTERNAL: 100% EXTERNAL_MANAGED: 0%] になります。

gcloud

  1. バックエンド サービスのスキーマを EXTERNAL に、移行ステータスを TEST_ALL_TRAFFIC に変更します。

    gcloud compute backend-services update web-backend-service \
      --load-balancing-scheme=EXTERNAL \
      --external-managed-migration-state=TEST_ALL_TRAFFIC \
      --global
    

    6 分以上待ちます。

  2. 従来のアプリケーション ロードバランサのネットワーク トラフィックの一部をバックエンド サービスに送信するには、バックエンド サービスの移行ステータスを TEST_BY_PERCENTAGE に変更し、割合を指定します。

    gcloud compute backend-services update web-backend-service \
      --external-managed-migration-state=TEST_BY_PERCENTAGE \
      --external-managed-migration-testing-percentage=10 \
      --global
    

    6 分以上待ちます。

    ロードバランサの指標から、リクエストの全体的なバランスが構成したロールバック率と一致していることを確認できます。

  3. バックエンド サービスの移行ステータスを PREPARE に変更します。

    gcloud compute backend-services update web-backend-service \
      --external-managed-migration-state=PREPARE \
      --global
    

    6 分以上待ちます。

  4. バックエンド サービスの移行ステータスを移行前のスタータスに変更します。

    gcloud compute backend-services update web-backend-service \
      --clear-external-managed-migration-state \
      --global
    

    6 分以上待ちます。

  5. バックエンド サービスのロールバック完了後、ログを確認します。ロード バランシング スキームが EXTERNAL に変更されていることが確認できます。