我正在使用autoscaling:EC2_INSTANCE_LAUNCHING和autoscaling:EC2_INSTANCE_TERMINATING生命周期挂钩在自动缩放组中启动一堆ec2实例。当我使用AWS管理控制台启动实例终止时,实例被终止而无需等待我完成生命周期操作https://docs.aws.amazon.com/cli/latest/reference/autoscaling/complete-lifecycle-action.html
自动缩放组用户界面中的实例状态显示为 Terminated:Wait 。 EC2实例UI中的实例状态显示为 Terminated 。这使我无法在完成生命周期操作并实际终止实例之前采取纠正措施。
当我在自动缩放组中减小所需实例大小时,似乎不适用于此情况。当我减小所需的实例大小时,它似乎经历了适当的生命周期阶段,进而导致实例终止。
aws asg生命周期挂钩是如何工作的?对于在更改asg所需实例大小之外触发的任何asg实例终止,它们几乎没有用。
答案 0 :(得分:4)
是的,当Auto Scaling执行放大/缩小操作时,生命周期挂钩将被称为。
您直接 终止实例的事实绕过了Auto Scaling,因此它没有机会激活终止挂钩。它只看到一个实例不再健康。
如果要终止Auto Scaling组中的特定实例,请使用terminate-instance-in-auto-scaling-group
。这告诉Auto Scaling终止实例,然后将使用挂钩。