0

我在应用程序负载均衡器后面有一个自动缩放组。它们都配置为对 2 个不同的 AZ 使用 2 个子网。

自动缩放组设置为仅配置 1 个实例(最小:1,最大:1,期望:1)

现在,如果 AZ 发生故障,负载均衡器将检测到实例不健康并停止向其发送 tarfic。

但是我假设 Autoscaling Group 会认为该实例是健康的,因此它不会在第二个 AZ 中创建新实例。

所以我的问题是有没有办法让负载均衡器通知自动缩放组终止失败 AZ 中的实例并在正常 AZ 中启动一个新实例?

我现在最好的做法是将 Autoscaling 组设置为例如配置 2 个实例,每个 AZ 中一个。但是有没有办法让它只使用 1 个实例?

谢谢。

4

1 回答 1

2

ASG 有两种健康检查选项。默认情况下,它使用 EC2 运行状况检查。但是由于您使用的是 ALB,您应该将 ASG 设置为使用 ALB 健康检查(除了 EC2 健康检查)。

这样,如果 ALB 确定您的实例由于某种原因不健康,ASG 也会认为它不健康。

还有自定义健康检查,但在您的情况下,使用 ALB 健康检查就足够了。

更多内容在这里:https ://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html

于 2020-03-06T12:12:48.190 回答