我有一个 AWS EC2 Windows(2008 R2 实例),我想使用本地机器上的命令/脚本启动和停止它,并根据我的使用情况进行安排。我还希望在 EC2 实例上运行的几个程序在实例启动时启动。这些程序当前是使用实例中存在的 bat 文件启动的。
到目前为止,我做了同样的事情:
1- 我在 AWS IAM 中创建了一个 AWS 用户,并使用该用户的 auth_id 和密钥来使用 EC2 apis 和命令行实用程序。
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- 我可以看到用户数据存在于我的 EC2 实例中的 C:\ProgramFiles\Amazon\Ec2ConfigServer\Scripts\UserScript
6- 在 C:\Program Files\Amazon\Ec2ConfigService\Settings\confi.xml 中,将 Ec2SetPassword 和 Ec2HandleUserData 的值更改为启用并添加了 true。
我面临以下问题:
1- 每次启动实例时都不会执行用户数据脚本。我不知道为什么。2- 实例重新启动时,在 Ec2ConfigService\Settings\confi.xml 中所做的更改将恢复为默认值。
我觉得这是一个常见的用例,并且想知道用于自动化 EC2 操作的最佳实践和方法。我还需要帮助在我的实例上启动程序 - 我哪里出错或丢失了,还有什么需要做的等等?