存档说明:本文反映了 2019 年发布时的 AWS 术语和行为。
使用应用程序负载均衡器(ALB)和 Auto Scaling 组时,有一个容易忽略的小细节。
默认情况下,Auto Scaling 组采用 EC2 健康检查。实例及操作系统仍正常运行时,检查就可能通过。ALB 则使用另外配置的健康检查,通常通过 HTTP 或 HTTPS 请求某个资源,并检查是否返回例如 200 这样的成功状态码。
如果应用出问题、不再返回 200,ALB 会把目标判为不健康,不再把新请求发给它。但只要 EC2 健康检查仍然通过,Auto Scaling 组未必会替换这个实例。结果可能是负载均衡器没有健康目标,用户依然打不开网站。
因此,在 ALB 后运行时,应根据需要把 Auto Scaling 组配置为采用 ELB 健康检查。


云 / 系统