AWS自动伸缩组伸缩

时间:2020-08-15 02:54:24

标签: amazon-web-services aws-auto-scaling

我正在使用自动缩放组来为我的应用程序添加和删除其他实例。我使用CPU使用率作为缩放参数,想知道当实例正在运行程序并且CPU使用率低于65%(即阈值)时会发生什么。

它是在等待实例完成程序还是在那一刻终止实例吗?如果此时终止实例,则可能导致数据丢失/数据不一致。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

如果您想要在扩展期间阻止或延迟实例,可以查看lifecycle hooks

通过启用此自动缩放功能,可以发送notification特定实例动作即将发生(向外扩展或向外扩展)。使用服务组合(例如SNS,Lambda,SSM等),您将能够以编程方式通知即将终止的实例,然后您可以采取任何必要的措施。

实例终止将一直等待,直到自动扩展组中有一个confirmation为止,这将导致实例终止。另外,生命周期挂钩将具有超时,如果在超时之前未收到确认,则终止仍将发生。

答案 1 :(得分:0)

我认为您正在寻找终止政策

查看此链接:

https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#default-termination-policy

根据我的经验,无论实例正在运行什么都将终止

答案 2 :(得分:0)

它是等待实例完成程序还是在那时终止实例。

可悲的是,我不等。 ASG在您的实例之外运行,并且与您的实例上运行的任何程序无关。

话虽如此,您可以做的事情很少,其中一些描述如下:

通常来说,您应该将应用程序开发为无状态。这意味着应用程序应该“知道”它们可以随时终止。一种实现方法是使用外部存储系统,例如S3或EFS,它将在终端之间持久存储数据。

其他方法是使用termination protection。在这种情况下,应用程序将在处理开始时将其实例置于此状态,然后计算完成,终止保护将被删除。