EC2 实例可以拒绝自动缩放终止吗?
Posted
技术标签:
【中文标题】EC2 实例可以拒绝自动缩放终止吗?【英文标题】:can an EC2 instance decline an autoscale termination? 【发布时间】:2016-03-09 13:36:13 【问题描述】:自动扩展组中的 EC2 实例是否可以拒绝缩减终止请求?我处于高度动态负载的情况......我不想终止处于充电时间第一部分的实例。即使使用自动缩放策略 losttToNextInstanceHour,我也会看到实例在其小时还剩 40 分钟的情况下终止......并且在这 40 分钟内负载再次增加。
因此,我希望我的实例能够“感谢您要求我终止但我拒绝”。这可能吗?
【问题讨论】:
这可能会有所帮助,具体取决于您的用例:aws.amazon.com/premiumsupport/knowledge-center/… 这几乎就是我想要的。这将允许我从实例中获得剩余的小时价值,这很好,但是当实例处于终止:: 等待时,所有其他 AutoScaling 都处于暂停状态。当我进行手动自动缩放时,我们检查了一个条件以确定我们是否应该缩小规模,但如果在其小时边界的 5 分钟内没有实例,则跳过缩小规模。仍在尝试使用 AutoScaling / CloudWatch 来做同样的事情。 您可以通过多种方式处理此问题(包括上面 Anthony 的建议)。其他选项包括增加 ASG 的冷却时间,以及在实例生命周期的第一个小时内打开实例的终止保护。您可以在 IAM 角色中有一个策略,允许实例修改其自己的实例保护,并有一个在启动时启动的任务/脚本,将其打开并在某处放置时间戳。您还有一个 cronjob 或一个小时后运行的东西,并且基于先前记录的时间戳,关闭实例保护等。 【参考方案1】:对于要拒绝缩减终止的实例,您可以将实例保护更改为“防止缩减”。 http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/AutoScalingBehavior.InstanceTermination.html#instance-protection
【讨论】:
【参考方案2】:是的,你可以。您可以在 Autoscaling 组中选择一个实例,然后选择 Protect From Scale in。 它可以通过 AWS 控制台轻松完成。转到 ASG,然后选择实例,然后选择要保护的实例,然后从选择框上方的操作中选择该选项。
您也可以通过:http://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-termination.html#instance-protection
您甚至可以在 ASG 中编辑设置并根据实例的生命周期更改设置:http://docs.aws.amazon.com/autoscaling/latest/userguide/as-instance-termination.html#custom-termination-policy
【讨论】:
以上是关于EC2 实例可以拒绝自动缩放终止吗?的主要内容,如果未能解决你的问题,请参考以下文章