1

我有一种情况,就是在特定的可用区中一直运行一个健康的 ec2 实例。

ec2 Auto Scaling 组中是否有一个选项可以确保给定的可用区(比如说 ap-southeast-2b)在扩展和扩展期间始终包含至少一个健康的 ec2 实例?

谢谢, 阿维纳什

4

1 回答 1

1

当 Auto Scaling启动新实例时,它会尝试平衡可用区。因此,它将在 Auto Scaling 组中实例数量最少的 AZ 中启动一个新实例。如果它们都包含相同的数量,则将随机选择 AZ。

当 Auto Scaling因缩减策略而终止实例时,它首先会从 Auto Scaling 组中选择运行实例数量最多的可用区。然后它将终止该 AZ 中的一个实例。如果所有 AZ 具有相同数量的实例,则将随机选择一个 AZ。

在选定的 AZ 内,它将根据Termination Policy选择要终止的实例。请参阅:控制在缩减期间终止哪些 Auto Scaling 实例 - Amazon EC2 Auto Scaling

如果您想确保“在给定的 AZ 中始终至少有一个 EC2 实例可用”,那么您需要确保 Auto Scaling 组中有足够的实例来覆盖所有已配置的 AZ。例如,如果 Auto Scaling 组配置了两个 AZ,则将组的最小大小设置为2. 这将确保两个 AZ 都有实例。

还有Instance Scale-In Protection可以将实例标记为“受保护”,这样它就不会被终止。但是,这不一定适合您的情况,因为每当替换实例时都需要对其进行标记。它旨在用于非常特定的情况。

于 2020-08-10T02:05:01.647 回答