ec2 实例在未完成生命周期操作的情况下终止

San*_*eep 1 amazon-ec2 amazon-web-services autoscaling

我正在使用 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 实例终止,它们几乎没有用。

Joh*_*ein 5

是的,当 Auto Scaling 执行缩减/扩展操作时,将调用生命周期挂钩。

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

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