我们的ELB间歇性地对实例进行运行状况检查失败并引发错误"环境运行状况已从“正常”转换为“警告”。 2个实例中有2个受到影响。有关详细信息,请参阅实例运行状况。一分钟之后它就会抛出"环境健康已从警告转变为严重。 ELB健康状况失败或不适用于所有实例"
它每天都在同一时间发生。此外,我怀疑它会在我们的CRON运行时发生,但我不确定,因为它不会在其他ELB实例上发生。
我想通过论坛搜索这个问题的根本原因,每个人都有不同的情况,无法弄清楚它对我们会有什么问题。
这是我们的生产实例。
答案 0 :(得分:0)
应用程序负载均衡器(ELB的一部分)在默认的“ /”端点中进行健康检查,并且ELB获取404状态代码,因此ElasticBeanstalk实例变为红色。您应该为健康检查创建一个端点,并发送200个状态代码。如果要使用其他路径,则应修改负载均衡器 例如: 从“默认80 HTTP /”更改为“默认80 HTTP / healthCheck”
答案 1 :(得分:0)
我遇到了与您相同的问题,并遵循了GökhanAyhan的方法。
将负载均衡器从“默认80 HTTP /”修改为“默认80 HTTP / healthCheck”没有帮助,但是您也可以设置预期的响应代码。我将其设置为404并且可以正常工作,但这不是此过程的预期目的。不过,我仅使用负载均衡器在我的应用程序上获取SSL,因此它不会打扰我。
负载平衡器旨在平衡连接的节点上的负载,因此它需要了解各个节点的状态。如果我正确理解,则可以通过运行状况检查程序来完成。您可以如上所述配置该过程,或者为平衡器提供一个实际的端点以正确评估运行状况。
答案 2 :(得分:0)
为健康检查创建一个端点并发送 200 状态代码。 如果您想使用其他路径,您应该修改负载均衡器。 例如:“默认 80 HTTP /”到默认 80 HTTP“/ping”