![针对 ECS 服务的 AWS ALB 健康检查会定期失败,且原因不明](https://linux22.com/image/787713/%E9%92%88%E5%AF%B9%20ECS%20%E6%9C%8D%E5%8A%A1%E7%9A%84%20AWS%20ALB%20%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5%E4%BC%9A%E5%AE%9A%E6%9C%9F%E5%A4%B1%E8%B4%A5%EF%BC%8C%E4%B8%94%E5%8E%9F%E5%9B%A0%E4%B8%8D%E6%98%8E.png)
我们完全在 AWS 中托管一系列服务(这些服务没有外部依赖)。我们会定期收到健康检查失败(公共服务尝试联系内部服务 ALB 时出现 502 错误),频率大概是每小时或每两小时一次。这些服务完全没有中断。
我尝试了各种健康检查设置(长和短持续时间、高和低计数 [直到被视为成功或失败])。当我过去查看 HTTP 日志时,我相信失败的请求没有任何记录;我只是假设服务在请求完成之前就关闭了,并且可以写入一个。我们有常规活动,但不会被认为是高流量。拥塞不是一个因素(这可能会中断正常请求,但根据上述情况并非如此)。
每个服务都有多个负载平衡实例。
这是一个长期存在的问题,我定期搜索并尝试任何建议的合理方法,但我没有学到任何进一步的东西。
该平台主要是 Nginx 背后的 uWSGI(Python)。
我该如何进一步调试这个问题?
答案1
这是一个超级麻烦的问题,需要使用控制台提供的服务进行故障排除。如果您真的想深入研究这个问题,请支付他们现在想要的任何费用以获得开发人员支持。以前是每月 20 美元……但您将获得高级支持人员的帮助。他们很聪明,而且会花钱深入研究这种事情!您提到您已经尝试了各种设置……这里的服务配额是一团糟!您可能只是触及了从一开始就对所有云服务帐户施加的简单服务配额/限制?如果您支付开发人员支持费用,即使只是一个月(或根据需要),您也可以从他们的高级支持人员那里得到相当快的响应,他们可以增加配额。仍然存在一些限制,但这些应用程序服务限制可能是您遇到的问题。从这里开始:https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
如果您可以调整解决方案以适应默认限制的范围,那么总体而言,这可能是最好的。如果您确实从支持人员那里获得了配额增加,请记录下来?!稍后执行此操作的人可能不是您,他们也会遇到这个问题。给他们一个坚实的答案?
希望这能有所帮助?祝你好运!