下面我粘贴了默认的终止策略。这是我在 AWS 文档中找到的。但第 3 步存在问题。它说它选择最接近下一个计费小时的实例。现在 EC2 实例按秒计费,此步骤不再有效。那么默认终止策略究竟如何选择要终止哪些实例?我们直接跳过第 3 步吗?
(1) Auto Scaling 确定是否有多个可用区中的实例。如果是,它会选择具有最多实例且至少有一个不受缩减保护的实例的可用区。如果有多个可用区具有此数量的实例,Auto Scaling 会选择使用最旧启动配置的实例的可用区。
(2)Auto Scaling 确定所选可用区中哪些未受保护的实例使用最旧的启动配置。如果有这样的实例,它会终止它。
(3) 如果有多个实例使用最早的启动配置,Auto Scaling 将确定哪些未受保护的实例最接近下一个计费小时。(这可以帮助您最大限度地利用 EC2 实例并管理您的 Amazon EC2 使用成本。)如果有这样的实例,Auto Scaling 将终止它。
(4)如果距离下一个计费小时最近有多个不受保护的实例,Auto Scaling 会随机选择其中一个实例。
答案1
我的猜测是,#3 和 #4 对于按需实例不再重要,但对于 Spot 实例仍然重要。
但是您现在应该自定义终止策略以从中选择:
最旧实例Auto Scaling 终止组中最早的实例。当您将 Auto Scaling 组中的实例升级为新的 EC2 实例类型时,此选项非常有用。您可以逐步用新类型的实例替换旧类型的实例。
最新实例。Auto Scaling 终止组中的最新实例。当您测试新的启动配置但不想将其保留在生产中时,此策略很有用。
最旧启动配置。Auto Scaling 终止具有最旧启动配置的实例。当您更新组并逐步淘汰先前配置中的实例时,此策略非常有用。
答案2
此政策对于运行非 Linux 操作系统的任何 EC2 仍然适用。Windows、MAC OS 和 RedHat Enterprise Linux 均按小时计费,因此这很重要。
“定价是按每个实例所消耗的实例小时数计算的,从实例启动到终止或停止。Linux 实例所消耗的每个部分实例小时将按秒计费,所有其他实例类型则按整小时计费。”
看:ec2-按需定价