当负载均衡器没有健康实例时触发 AWS 自动扩展

当负载均衡器没有健康实例时触发 AWS 自动扩展

我目前有一个弹性负载均衡器,后面有一些服务器。我希望它们能够随着流量的上下移动而扩展。

我目前有一个扩展策略,即每当 CPU 利用率超过 50% 持续 60 秒时添加实例。这种方法还不错。

但是,当没有健康实例时,我如何触发自动扩展操作?因此,如果流量激增并且服务器突然死机,它们不会报告 CPU 利用率超过 50%,并且自动扩展不会发生任何事情。

如何设置 ELB/自动扩展,以便在没有健康实例时立即启动?或者有更好的方法来实现这一点?

谢谢

答案1

你可能正在寻找根据指标进行扩展,它允许您使用 Cloudwatch 收集的指标来做出扩展决策。可以通过 Cloudwatch 访问 ELB 的健康/不健康实例数量。

自动扩展可以使用 ELB 确定的实例运行状况但这可能不是您所追求的,因为不健康的实例将被宣布死亡并被替换,这并不是您想要的,因为如果不健康状态是由负载引起的,那么您就不想通过摆脱可能恢复的机器来加剧问题......

...但您可能还需要更积极地预测负载,以防止机器一开始就进入这种状态。一旦实例由于流量负载而无法通过健康检查,我认为您可能已经行动太晚了,您的系统将花一些时间陷入死亡螺旋。您还希望 ELB 使用最少数量的连续成功检查(2)来恢复实例,以便它们快速重新加入池中。

答案2

您可以将 ASG 配置为使用 ELB 运行状况检查,而不是标准 EC2 运行状况检查。我相信这将实现您的目标。

相关内容