问题描述
我正在更改 GCP 上全球 HTTP 云负载均衡器映射的原点,在我看到应用更新的通知后,在大约 1 分钟的时间内响应是由 Google 提供的 502。
GCP 负载均衡器日志显示这些 502,并指示“Failed_to_pick_backend”的 statusDetail。大多数条目显示的 backendServiceName 为空,这是存储桶后端所期望的,但最后几个 502 显示的是恢复前的原始 backendServiceName。
原始源是外部服务,新源是存储桶。存储桶及其后端服务在映射更改发生前几个小时就已存在,并且两者都运行良好。
在 502 秒后,它开始正常从存储桶中提供服务,没有错误,也没有采取任何行动。
有没有办法在更新过程中避免 502s?
解决方法
当您create a bucket用作 HTTP(S) 负载平衡的后端时,建议您选择多区域存储桶,它会自动跨多个 Google Cloud 区域复制对象。这可以提高内容的可用性并提高整个应用的容错能力。
此外,建议使用下面的 Cloud Logging 高级过滤器查看 statusDetail HTTP failure messages,以便了解错误种类和 potential causes and solutions
resource.type="http_load_balancer"
resource.labels.url_map_name="[URL Map]"
httpRequest.status=502
jsonPayload.statusDetails="[Failure Message]"