我有一个要求,当实例状态从停止更改为运行时,我需要在ec2实例中运行shell脚本。 我使用云监视来满足此要求,但是当实例处于未决状态但未处于运行状态时,事件正在触发shell脚本(我已使用“ ec2实例状态更改通知”和“ running”作为参数。目标为RunCommand) 。 现在,我尝试使用SSM关联成功完成了手动触发shell脚本的操作,但是我需要对其进行自动化(即,当ec2实例状态更改为运行时,只有bash脚本才应开始运行)
答案 0 :(得分:0)
我认为您正在寻找的是如何使用EC2实例的每次重启自动执行脚本(这些选项不使用AWS Systems Manager)。
使用用户数据脚本和cloud-init指令
默认情况下,用户数据脚本和cloud-init指令仅运行 在启动实例的第一个引导周期中。但是你 可以使用以下命令配置您的用户数据脚本和cloud-init指令 MIME多部分文件。 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/