存档说明:本文反映了 2019 年发布时的 AWS 术语和行为。
对于在 AWS 中使用应用程序负载均衡器 (ALB) 和 Auto Scaling 组的任何人来说,这是一个小而重要的提示。
默认情况下,Auto Scaling 组使用 EC2 运行状况检查。只要该实例及其操作系统处于运行状态,该小组就会认为 EC2 实例运行正常。相比之下,ALB 使用您定义的单独运行状况检查。通常,它通过 HTTP 或 HTTPS 请求资源,并期望获得成功的状态码,例如 200。
当负载均衡器的实例运行状况不佳时会发生什么,例如,当站点出现故障且 EC2 实例停止返回 200 个响应时?负载均衡器会耗尽来自这些实例的连接,因为它认为它们不正常。您通常会希望 Auto Scaling 组替换它们,但如果其 EC2 运行状况检查仍然通过,这种情况就不会发生。因此,负载均衡器可能没有任何健康的目标,客户仍将无法使用该站点。
解决方案:将 Auto Scaling 组配置为在 ALB 后面运行时使用 ELB 运行状况检查。
BERND KUHLEN所有笔记 ↗