将已迁移的资源回滚到传统应用负载均衡器

本文档介绍了如何将已迁移的资源从全球外部应用负载均衡器基础设施回滚到传统应用负载均衡器基础设施。

在更改负载均衡方案后的 90 天内,您可以按以下顺序回滚已迁移的资源:

  1. 回滚转发规则
  2. 回滚后端存储桶。
  3. 回滚附加到转发规则的所有后端服务。

如需将后端服务回滚到 EXTERNAL 负载均衡方案,您必须先回滚转发规则。

准备工作

在回滚已迁移的资源之前,请确保您已将传统应用负载均衡器资源迁移到全球外部应用负载均衡器基础设施,并将其负载均衡方案更改为 EXTERNAL_MANAGED。请注意,只有在过去 90 天内从 EXTERNAL 方案迁移到 EXTERNAL_MANAGED 方案的资源才能回滚。

您还必须先移除在资源上配置的所有高级流量管理功能,然后才能开始回滚流程。

权限

若要按照本文档中的说明操作,您必须拥有管理负载均衡器组件的权限。确保您具有 Compute Network Admin 角色 (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