EC2自动调整策略在不需要但在1小时之前终止实例

我已经在CPU监视器上设置了EC2自动调整策略,并且运行良好。

我偶尔会触发自动缩放,并添加更多的服务器。

如果服务器正在经历一个持续30分钟的突发事件,又增加了两个实例来帮助当前的工作,我想将它们保持59分钟(因为我付了1个小时),而不是在缩小时终止被触发。

所以基本上我想从开始的时候开始一小时左右移动检查,看看是否还需要,否则closures。 我应该玩冷却或宽限期吗?

以下是当前的规则(警报未显示),您可以看到我正在使用新的最旧OldestInstance终止策略。

 as-create-auto-scaling-group MyASGroup \ --availability-zones us-east-1c \ --launch-configuration MyLaunchConfig \ --grace-period 300 \ --health-check-type ELB \ --min-size 1 \ --max-size 3 \ --desired-capacity 1 \ --load-balancers MyELB \ --termination-policies "OldestInstance" \ --tag ... as-put-scaling-policy ScaleUp \ --type ChangeInCapacity \ --auto-scaling-group MyASGroup \ --adjustment=1 \ --cooldown 300 as-put-scaling-policy ScaleDown \ --type ChangeInCapacity \ --auto-scaling-group MyASGroup \ --adjustment=-1 \ --cooldown 300 

这样的事情可能吗? 谢谢。

您应该调整ScaleDown策略的冷却时间,以使您的实例保持更长时间。 宽限期应设置为旋转实例所需的时间,因此无需调整(如果您的实例在300秒以内),就可以调整它。 一旦制定了策略,可以使用带有–honor-cooldown参数的as-execute-policy命令对其进行testing。 这可以让你确保冷却时间以你想要的方式工作,而无需等待负载条件的满足。

您可能考虑的另一个解决scheme是将您的ASG的默认终止策略更改为“最近的实例小时”。 这仍然有一些机会,但是它让你的ASG中的所有实例都可以select,而不仅仅是最近启动的那些实例,并且根据它的工作方式,与仅仅离开实例相比,它可以为你节省资金因为无法保证ASG将在需要扩展时专门终止这些新实例。事实上,在ASG处于扩容的时候,一些原始实例可能已经完成了另一个实例小时。