如何立即从实例本身的用户数据脚本终止 EC2 实例?

How to terminate EC2 instance from user-data script on the instance itself immediately?

我有一些用户数据脚本可以在我的 EC2 实例上配置一些应用程序。 如果在该脚本 运行.

期间发生特定情况,我希望 立即终止新实例

我已经在脚本中尝试了以下两个命令。但是,在命令发出 10+ 分钟后才会终止。

aws autoscaling terminate-instance-in-auto-scaling-group --instance-id $instanceid --no-should-decrement-desired-capacity


aws ec2 terminate-instances --instance-ids $instanceid 

有什么方法可以强制提前终止吗?

无需要求 Amazon EC2 服务终止实例,您只需调用操作系统并告诉它停止实例:

sudo shutdown now -h

-h 告诉它 'halt' 虚拟硬件,它向 EC2 实例发出计算机现在已关闭的信号,就像您的家用计算机在 'Shutdown'命令。)

根据配置的实例 Shutdown Behavior,它将进入 StoppedTerminated 状态。

我注意到您正在使用 Auto Scaling。如果 Auto Scaling 发现实例 stopped/terminated,它将自动启动替换。但是,检测到这一点并启动替换可能需要几分钟时间。