有没有办法从 ELB 自动终止不健康的 EC2 实例?

Posted

技术标签:

【中文标题】有没有办法从 ELB 自动终止不健康的 EC2 实例?【英文标题】:Is there a way to automatically terminate unhealthy EC2 instances from ELB? 【发布时间】:2013-01-13 12:10:13 【问题描述】:

有什么方法可以让 ELB 或 EC2 自动扩展组从 ELB 中终止(或重启)运行状况不佳的实例?

我们的前端存在一些特定的数据库故障情况,使其变得不健康,因此 ELB 将停止将流量路由到它。该实例也是自动缩放组的一部分,该组会根据组的 CPU 负载进行缩放。因此,最终发生的情况是实例不再从 ELB 获取流量,因此它没有 CPU 负载,并且扭曲了组的 CPU 负载,从而破坏了扩展条件。

是否有一种“简单”的方法可以以某种方式配置 ELB 或自动缩放组以自动终止组中不正常的实例,而无需实际编写代码来通过 EC2 API 进行轮询和终止?

【问题讨论】:

***.com/questions/10541363/… 【参考方案1】:

如果您将自动伸缩组的健康检查类型设置为 ELB,那么它将自动停用任何未通过 ELB 健康检查的实例(即未及时响应配置的 URL)

只要配置的运行状况检查正确报告一个实例是坏的(听起来就是这种情况,因为你说 ELB 将实例标记为不健康)这应该可以工作

【讨论】:

将运行状况检查更改为 ELB 是否意味着将忽略 CPU 利用率等 EC2 指标? @VardaElentári 应该没有任何区别。

以上是关于有没有办法从 ELB 自动终止不健康的 EC2 实例?的主要内容,如果未能解决你的问题,请参考以下文章

ELB 健康检查行为 - 健康阈值

elb健康检查和ec2健康检查有啥区别?

单个自动扩展组的多个 ELB

ELB 总是将实例报告为 inservice

在 Elastic beanstalk 中将 ELB 设置为 Autoscaling Health Check Type

宽限期? - AWS EC2 容器服务和弹性负载均衡器