我正在使用自动缩放组来为我的应用程序添加和删除其他实例。我使用CPU使用率作为缩放参数,想知道当实例正在运行程序并且CPU使用率低于65%(即阈值)时会发生什么。
它是在等待实例完成程序还是在那一刻终止实例吗?如果此时终止实例,则可能导致数据丢失/数据不一致。
任何帮助将不胜感激。
答案 0 :(得分:1)
如果您想要在扩展期间阻止或延迟实例,可以查看lifecycle hooks。
通过启用此自动缩放功能,可以发送notification特定实例动作即将发生(向外扩展或向外扩展)。使用服务组合(例如SNS,Lambda,SSM等),您将能够以编程方式通知即将终止的实例,然后您可以采取任何必要的措施。
实例终止将一直等待,直到自动扩展组中有一个confirmation为止,这将导致实例终止。另外,生命周期挂钩将具有超时,如果在超时之前未收到确认,则终止仍将发生。
答案 1 :(得分:0)
我认为您正在寻找终止政策
查看此链接:
根据我的经验,无论实例正在运行什么都将终止
答案 2 :(得分:0)
它是等待实例完成程序还是在那时终止实例。
可悲的是,我不等。 ASG在您的实例之外运行,并且与您的实例上运行的任何程序无关。
话虽如此,您可以做的事情很少,其中一些描述如下:
通常来说,您应该将应用程序开发为无状态。这意味着应用程序应该“知道”它们可以随时终止。一种实现方法是使用外部存储系统,例如S3或EFS,它将在终端之间持久存储数据。
其他方法是使用termination protection。在这种情况下,应用程序将在处理开始时将其实例置于此状态,然后计算完成,终止保护将被删除。