如何在AWS EC2上启动实例启动程序

时间:2013-08-27 08:23:46

标签: amazon-web-services amazon-ec2 amazon

我有一个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操作所采用的最佳实践和方法。 我还需要帮助在我的实例上启动程序 - 我哪里出错或丢失,还有什么需要做的等等?

1 个答案:

答案 0 :(得分:2)

userdata仅在第一次创建实例时执行 。这是设计的。

您有几个选项 - 所有这些选项都使用您的用户数据脚本

  1. 将my_application.lnk复制到启动文件夹
  2. 在注册表中注册应用程序&#34;运行&#34;开始键(http://blogs.msdn.com/b/powershell/archive/2006/04/25/how-to-access-or-modify-startup-items-in-the-window-registry.aspx
  3. 将其注册到任务计划程序,将其配置为在启动时执行(http://technet.microsoft.com/en-us/library/bb490996.aspx