我想问一下是否有一种方法可以在启动的实例上重新执行用户数据。
我想重新启动服务并编辑〜。/ ssh / autorized_keys。
我在https://aws.amazon.com/premiumsupport/knowledge-center/execute-user-data-ec2/找到了信息
但是控制台中的云日志未显示任何更改。
最佳答案
AWS仅在首次启动时运行用户数据。您需要做以下两件事:
使用mime-multipart附加新脚本。您可以在write-mime-multipart
中使用命令cloud-utils
创建mime-multipart文件。如果需要更多详细信息,请参考Cloud-init。
使用mime-multipart设置scripts-user
运行always
。在/etc/cloud/cloud.cfg
中,请参考Always run cloud-init scripts以查看选项
因此,您需要从提供的链接中复制所有脚本,并用您的脚本替换shell脚本部分。 https://aws.amazon.com/premiumsupport/knowledge-center/execute-user-data-ec2/
Content-Type: multipart/mixed; boundary="===============5940869395195845375=="
MIME-Version: 1.0
--===============5940869395195845375==
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--===============5940869395195845375==
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
/bin/echo "Hello World." >> /tmp/abcde
--===============5940869395195845375==