ELB 始终将实例报告为服务中

ELB always reports instances as inservice

我正在使用 aws ELB 将我的实例状态报告给一个自动缩放组,这样一个非功能性实例将被终止并被一个新实例取代。 ELB 配置为每 60 秒 ping TCP:3000 并等待超时 10 秒认为健康检查失败。不健康阈值是 5 次连续检查。 然而,ELB 始终将我的实例报告为健康且一直处于服务状态,即使我定期手动遇到一个超时的实例并且我必须手动终止它并启动一个新实例,尽管 ELB 一直将其报告为处于服务状态

为什么会这样?

经过一番调查,我发现 我正在尝试通过 api 调用实例上的 Web 应用程序 运行 来评估应用程序的运行状况,并等待响应超时以声明实例有故障。我需要使用 http 作为协议来通过负载均衡器而不是 tcp 使用自定义路径调用端口 3000。

注意:api 需要return 状态码 200 才能让负载均衡器认为它是健康的。它现在完美运行