我在 Classic Load Balancer 访问日志、CloudWatch 指标或在浏览器/客户端中点击负载均衡器 DNS 名称时看到 HTTP 503 错误。如何修复此问题?
确保满足以下条件:在您的负载均衡器被配置响应的每个可用区内注册至少一个实例,已注册的后端实例能够通过运行状况检查,并且它们能够适当扩展以处理应用程序所需的负载。
要查看负载均衡器后正常后端实例的数量,请在 CloudWatch 中检查 HealthyHostCount 和 UnHealthyHostCount 指标。如果 CloudWatch 指标显示没有正常主机或有一个或多个不正常主机,您可以做如下检查以排查问题:
确保后端实例能够响应运行状况检查
如果后端实例看似运行正常,但 UnhealthyHostCount 指标显示您有一个或多个不正常实例,请确保负载均衡器能够响应运行状况检查请求。对于 HTTP/HTTPS 运行状况检查,请确保负载均衡器能够从后端收到 200 响应代码。对于第 4 层运行状况检查,如果实例成功完成了 TCP 握手,则负载均衡器会将实例标记为正常。有关说明,请参阅 Classic Load Balancer 问题排查:运行状况检查。
确保负载均衡器和后端实例能够处理负载
检查负载均衡器和后端实例,确保它们能够处理 CPU 使用率、内存、磁盘使用率和应用程序需要的连接数量。
例如,检查 SpilloverCount 和 SurgeQueueLength CloudWatch 指标。如果 SurgeQueueLength 达到或接近 1024 个排队请求的最大值,或 SpilloverCount 为非零数字,则说明后端的请求处理速度跟不上请求传入速度,或根本无法处理请求。
另请检查后端实例的 CPUUtilization CloudWatch 指标 - 如果发现 CPU 利用率达到 100% 或长时间保持高利用率,请考虑添加更多后端实例,或增大当前实例大小。有关检查其他值 (如内存和磁盘使用情况) 的说明,请查阅实例供应商文档。