我有一个AWS EC2 Windows(2008 R2实例),我想从本地计算机上使用命令/脚本开始停止并根据我的使用情况安排。 我还希望在EC2实例上运行的几个程序在实例启动时启动。这些程序当前使用实例中存在的bat文件启动。
到目前为止我一直跟着这样做:
1-我在AWS IAM中创建了一个AWS用户,并为该用户使用auth_id和key来使用EC2 api和命令行实用程序。
2-要启动和停止实例,我正在使用EC2 Util的命令行实用程序。
start ->ec2-start-instances i-instanceID
stop ->ec2-stop-instances i-instanceID
3-要安排它我已将此添加到我的Windows调度程序。
4-在AWS管理控制台中添加了实例的用户数据。我的用户数据如下所示:
<script>
C:\Services\my_application.lnk
</script>
5-我可以在C:\ ProgramFiles \ Amazon \ Ec2ConfigServer \ Scripts \ UserScript
中看到我的EC2实例中存在用户数据6-在C:\ Program Files \ Amazon \ Ec2ConfigService \ Settings \ confi.xml中,Ec2SetPassword和Ec2HandleUserData的值已更改为启用,并且还添加了true。
我正面临以下问题:
1-每次启动实例时都不会执行用户数据脚本。我无法弄清楚原因。 2-重新启动实例时,Ec2ConfigService \ Settings \ confi.xml中所做的更改将恢复为默认值。
我觉得这是常见用例,并且想知道自动化EC2操作所采用的最佳实践和方法。 我还需要帮助在我的实例上启动程序 - 我哪里出错或丢失,还有什么需要做的等等?
答案 0 :(得分:2)
userdata仅在第一次创建实例时执行 。这是设计的。
您有几个选项 - 所有这些选项都使用您的用户数据脚本