本文說明如何將已遷移的資源從全域外部應用程式負載平衡器基礎架構,還原至傳統版應用程式負載平衡器基礎架構。
如要在變更負載平衡配置後的 90 天內還原遷移的資源,請依下列順序操作:
- 回溯轉送規則。
- 復原後端 bucket。
- 將附加至轉送規則的所有後端服務回溯。
如要將後端服務回溯至 EXTERNAL 負載平衡架構,請先回溯轉送規則。
事前準備
回溯遷移的資源前,請務必將傳統版應用程式負載平衡器資源遷移至全域外部應用程式負載平衡器基礎架構,並將負載平衡架構變更為 EXTERNAL_MANAGED。請注意,只有在過去 90 天內從 EXTERNAL 架構遷移至 EXTERNAL_MANAGED 架構的資源可以復原。
開始回溯程序前,您也必須移除資源上設定的進階流量管理功能。
必要角色
如要取得管理負載平衡器元件所需的權限,請要求管理員授予專案的Compute 網路管理員 (roles/compute.networkAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如需詳細資訊,請參閱以下頁面:
還原轉送規則
控制台
如要復原轉送規則,請使用 gcloud CLI。
gcloud
將轉送規則的負載平衡機制從
EXTERNAL_MANAGED變更為EXTERNAL。如果後端 bucket 已附加至轉送規則,請略過這個步驟並復原後端 bucket。
gcloud compute forwarding-rules update FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL \ --global將
FORWARDING_RULE_NAME替換為轉送規則的名稱。例如:web-map-http-forwarding-rule。稍待片刻 (至少六分鐘)。
選用:檢查轉送規則的記錄。您會看到負載平衡機制已變更為
EXTERNAL。
復原後端 Bucket
控制台
如要還原後端 bucket,請使用 gcloud CLI。
gcloud
將後端 bucket 的架構變更為
EXTERNAL,並將遷移狀態變更為TEST_ALL_TRAFFIC。gcloud compute forwarding-rules update FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL \ --external-managed-backend-bucket-migration-state=TEST_ALL_TRAFFIC \ --global稍待片刻 (至少六分鐘)。
如要將部分傳統版應用程式負載平衡器網路流量傳送至後端 bucket,請將後端 bucket 的遷移狀態變更為
TEST_BY_PERCENTAGE,並設定百分比。 例如,90。也就是說,90% 的要求會繼續傳送至全域外部應用程式負載平衡器基礎架構,其餘 10% 的要求則會傳送至傳統版應用程式負載平衡器基礎架構進行測試。gcloud compute forwarding-rules update FORWARDING_RULE_NAME \ --external-managed-backend-bucket-migration-state=TEST_BY_PERCENTAGE \ --external-managed-backend-bucket-migration-testing-percentage=90 \ --global稍待片刻 (至少六分鐘)。
您可以查看負載平衡器的指標,確認要求總平衡與您設定的回溯率相符。
將後端 bucket 的遷移狀態變更為
PREPARE。gcloud compute forwarding-rules update FORWARDING_RULE_NAME \ --external-managed-backend-bucket-migration-state=PREPARE \ --global稍待片刻 (至少六分鐘)。
將後端 bucket 的遷移狀態變更為遷移前狀態。
gcloud compute forwarding-rules update FORWARDING_RULE_NAME \ --clear-external-managed-backend-bucket-migration-state \ --global稍待片刻 (至少六分鐘)。
復原後端服務
控制台
將流量傳送至傳統版應用程式負載平衡器基礎架構
前往 Google Cloud 控制台的「Load balancing」(負載平衡) 頁面。
按一下負載平衡器的名稱。例如
web-map-http。按一下「遷移」分頁標籤。
在「後端服務」部分,針對後端服務驗證下列項目,然後按一下「還原」。
- 狀態:已遷移
- 遷移率:100%
- 架構活動:EXTERNAL:0%,EXTERNAL_MANAGED:100%
在「管理遷移」窗格中,選取「狀態變更」的「測試所有流量」。也就是說,所有要求仍會傳送至全域外部應用程式負載平衡器基礎架構。
按一下「儲存」。 等待一段時間 (至少六分鐘),讓資源完成遷移。「狀態」欄會變更為「測試所有流量」,「架構活動」則會變更為「EXTERNAL:0% EXTERNAL_MANAGED:100%」。
按一下「管理遷移作業」。
在「管理遷移」窗格中,選取「狀態變更」的「依百分比測試」。
在「測試百分比」中,輸入要傳送至全域外部應用程式負載平衡器基礎架構的要求百分比。例如,
90。也就是說,90% 的要求會繼續傳送至全域外部應用程式負載平衡器基礎架構,其餘 10% 的要求則會傳送至傳統版應用程式負載平衡器基礎架構進行測試。按一下 [儲存]。
請稍候一段時間 (至少六分鐘),等待資源準備就緒。「狀態」欄會變更為「依百分比測試」,「遷移率」會變更為「90%」,「架構活動」會變更為「EXTERNAL:10% EXTERNAL_MANAGED:90%」。
資源準備就緒後,會將 90% 的要求傳送至全域外部應用程式負載平衡器基礎架構,並將 10% 的要求傳送至傳統版應用程式負載平衡器基礎架構。
測試負載平衡器,確保系統能如預期處理要求。
在網路瀏覽器的網址列中輸入
http://IP_ADDRESS。畫面上應會顯示Page served from: lb-backend-example-xxxx訊息。您可以重複執行這些步驟,逐步減少傳送至全域外部應用程式負載平衡器基礎架構的流量百分比。
將所有流量傳送至傳統版應用程式負載平衡器後,後端服務回溯程序即完成。「狀態」欄會顯示「依百分比測試」,「遷移率」設為 0%,而「架構活動」會顯示「EXTERNAL:100% EXTERNAL_MANAGED:0%」。
gcloud
將後端服務的架構變更為
EXTERNAL,並將遷移狀態變更為TEST_ALL_TRAFFIC。gcloud compute backend-services update BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL \ --external-managed-migration-state=TEST_ALL_TRAFFIC \ --global將
BACKEND_SERVICE_NAME替換為後端服務的名稱。例如:web-backend-service。稍待片刻 (至少六分鐘)。
如要將部分傳統版應用程式負載平衡器網路流量傳送至後端服務,請將後端服務的遷移狀態變更為
TEST_BY_PERCENTAGE,並設定百分比。 例如,90。也就是說,90% 的要求會繼續傳送至全域外部應用程式負載平衡器基礎架構,其餘 10% 的要求則會傳送至傳統版應用程式負載平衡器基礎架構進行測試。gcloud compute backend-services update BACKEND_SERVICE_NAME \ --external-managed-migration-state=TEST_BY_PERCENTAGE \ --external-managed-migration-testing-percentage=90 \ --global稍待片刻 (至少六分鐘)。
您可以查看負載平衡器的指標,確認要求總平衡與您設定的回復率相符。
將後端服務的遷移狀態變更為
PREPARE。gcloud compute backend-services update BACKEND_SERVICE_NAME \ --external-managed-migration-state=PREPARE \ --global稍待片刻 (至少六分鐘)。
將後端服務的遷移狀態變更為遷移前狀態。
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --clear-external-managed-migration-state \ --global稍待片刻 (至少六分鐘)。
回溯後端服務後,請檢查其記錄。您會看到負載平衡機制已變更為
EXTERNAL。