使用实例生命周期策略控制实例保留 - Amazon A EC2 uto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用实例生命周期策略控制实例保留

实例生命周期策略提供保护,防止在终止生命周期操作被放弃时 Amazon A EC2 uto Scaling 终止。与单独的生命周期挂钩不同,实例生命周期策略旨在确保在正常关闭过程未成功完成时,实例会进入保留状态。

何时使用实例生命周期策略

如果应用程序的正常关闭不是可选的,而是强制性的,并且失败的关闭需要手动干预,则使用实例生命周期策略。常见使用案例包括:

  • 有状态的应用程序,在终止之前必须完成数据持久化。

  • 需要延长耗尽时间且可能超过 48 小时生命周期挂钩超时上限的应用程序。

  • 处理敏感数据的工作负载,如果清理失败或不完整,可能会导致数据丢失或损坏。

  • 突然关闭会影响可用性的关键任务服务。

有关如何优雅地处理实例终止的更多信息,请参阅设计您的应用程序以妥善处理实例终止

实例生命周期策略如何与终止生命周期挂钩配合使用

实例生命周期策略与终止生命周期挂钩结合使用,不能作为替代品。该过程分为几个阶段:

  1. 终止生命周期操作将执行。当 Amazon A EC2 uto Scaling 选择要终止的实例时,系统会调用您的终止生命周期挂钩,并且该实例进入开始执行终止生命周期操作的Terminating:Wait状态。

  2. 优雅的关机尝试开始了。您的应用程序,无论是在实例上运行还是通过控制平面运行,都会收到终止生命周期操作通知并开始正常关闭过程,例如耗尽连接、完成正在进行的工作或传输数据。

  3. 终止生命周期操作已完成。终止生命周期操作可能以CONTINUEABANDON结果结束。

  4. 实例生命周期策略对情况进行评估。如果未配置实例生命周期策略,即使终止生命周期操作已完成并ABANDON产生结果,实例也会立即进入终止状态。将实例生命周期策略配置为保持实例处于开启状态后TerminateHookAbandon,如果终止生命周期操作已完成并ABANDON产生结果,则实例将进入保留状态。

  5. 保留的实例等待手动操作。处于保留状态的实例继续收取 Amazon 的标准 EC2 费用。这些实例不计入您的 Auto Scaling 组的所需容量,因此 Auto Scaling 会启动替换实例以保持所需的大小。Auto Scaling 功能(例如实例刷新和最大实例生命周期)也会忽略保留的实例。这允许您在手动终止实例之前手动完成清理程序、恢复数据或调查自动关闭失败的原因。

  6. 发生手动终止。在您对保留的实例完成必要操作后,您需要调用 TerminateInstanceInAutoScalingGroup API 来终止该实例。