当 SSM 运行 命令状态改变时终止 AWS EC2 实例

Terminate AWS EC2 instance when SSM Run Command status changes

我想 (1) 启动 AWS EC2 实例,(2) 运行 shell 脚本(将输出发送到 S3 存储桶)和 (3) 自动终止实例当脚本终止时,所有远程操作都无需登录实例。我已经设法使用 AWS CLI 命令 aws ec2 run-instancesaws ssm send-command 让第 (1) 和 (2) 部分正常工作。我正在努力处理第 (3) 部分 - 让实例在脚本完成时自动终止。

我在 AWS 文档中看到您可以使用 CloudWatch 来监控 SSM 运行 命令状态,我认为这可能是一个解决方案 - 当状态发生变化时,终止实例。这是一个可行的选择吗?如果是这样,您如何使用 AWS CLI 实施它?

在 ssm 脚本中,您可以向操作系统发出命令以关闭计算机。如果您使用 关闭行为 Terminate 启动实例,那么这将终止实例。

或者,脚本可以检索它所在实例的实例 ID 运行,并发出 aws ec2 terminate-instances 命令,指定它自己的实例 ID。

参见:Self-Terminating AWS EC2 Instance?