【问题标题】:ec2 instance terminated without completing lifecycle actionec2 实例在未完成生命周期操作的情况下终止
【发布时间】:2019-05-07 06:24:53
【问题描述】:

我正在使用 autoscaling:EC2_INSTANCE_LAUNCHING 和 autoscaling:EC2_INSTANCE_TERMINATING 生命周期挂钩在自动缩放组中启动一堆 ec2 实例。当我使用 aws 管理控制台启动实例终止时,实例会在不等待我完成生命周期操作 https://docs.aws.amazon.com/cli/latest/reference/autoscaling/complete-lifecycle-action.html

的情况下终止

自动缩放组 UI 中的实例状态显示为 Terminating:Wait 。 EC2 Instances UI 中的实例状态显示为 Terminated 。这使我无法在完成生命周期操作和实际终止实例之前采取纠正措施。

当我减少自动缩放组中所需的实例大小时,这似乎不适用于这种情况。当我减小所需的实例大小进而导致实例终止时,它似乎经历了适当的生命周期阶段。

这就是 aws asg 生命周期挂钩的工作方式吗?对于在更改 asg 所需实例大小之外触发的任何 asg 实例终止,它们几乎毫无用处。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 autoscaling


    【解决方案1】:

    是的,Auto Scaling 执行扩展/扩展操作时会调用生命周期挂钩

    直接终止实例这一事实绕过了 Auto Scaling,因此它没有机会激活终止挂钩。它所看到的只是一个实例不再健康。

    如果您希望终止 Auto Scaling 组中的特定实例,请使用 terminate-instance-in-auto-scaling-group。这会告诉 Auto Scaling 终止实例并使用挂钩。

    【讨论】:

    • 非常感谢你,这让我发疯了!
    猜你喜欢
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 2017-05-10
    • 2020-02-03
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多