0

我有一个要求,当实例状态从停止变为运行时,我需要在我的 ec2 实例中运行 shell 脚本。我使用 cloud watch 来满足这个要求,但是当实例处于挂起状态而不是运行状态时,事件会触发 shell 脚本(我使用“ec2 实例状态更改通知”和“运行”作为参数。目标作为 RunCommand) . 现在我正在尝试使用 SSM 关联,​​我成功地手动触发了 shell 脚本,但我需要自动化它(即,当 ec2 实例状态更改为运行时,只有 bash 脚本应该开始运行)

4

1 回答 1

0

我认为您正在寻找的是如何在每次重启EC2 实例时自动执行脚本(这些选项不使用 AWS Systems Manager)。

使用用户数据脚本和 cloud-init 指令

默认情况下,用户数据脚本和 cloud-init 指令仅在启动实例的第一个引导周期内运行。但是,您可以使用 mime 多部分文件配置您的用户数据脚本和 cloud-init 指令。mime 多部分文件允许您的脚本覆盖用户数据在 cloud-init 包中执行的频率。然后,该文件执行用户脚本。

https://aws.amazon.com/premiumsupport/knowledge-center/execute-user-data-ec2/

或者,您可以在系统重新启动后执行 cron 作业,请在此处查看更多信息:

https://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/

于 2019-11-17T15:25:49.277 回答