2013-08-27 189 views
1

我有一個AWS EC2 Windows(2008 R2實例),我想從本地計算機開始停止使用命令/腳本,並按照我的用法進行計劃。 我還希望在EC2實例上運行我的兩個程序以在實例啓動時啓動。這些程序當前使用實例中存在的bat文件開始。如何啓動AWS EC2上的實例啓動程序

我做以下,直至現在一樣的:

1 - 我在AWS IAM創建的AWS的用戶,並使用AUTH_ID和關鍵用戶使用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我的EC2實例:\ PROGRAMFILES \亞馬遜\ Ec2ConfigServer \腳本\ UserScript

6- C: \ Program Files \ Amazon \ Ec2ConfigService \ Settings \ confi.xml將Ec2SetPassword和Ec2HandleUserData的值更改爲啓用並添加了true。

我面臨以下問題:

1的用戶數據的腳本不執行每個實例啓動時。我無法弄清楚爲什麼。 2-在重新啓動實例時,Ec2ConfigService \ Settings \ confi.xml中所做的更改將恢復爲默認值。

我覺得這是常見的使用案例,並希望瞭解自動化EC2操作所採用的最佳實踐和方法。 我還需要幫助啓動我的實例上的程序 - 我在哪裏出錯或失蹤,還有什麼需要做等等?

回答

2

userdata是只有第一次執行實例創建。這是設計。

你有兩個選擇 - 所有這些都用你的用戶數據腳本

  1. 複製my_application.lnk到啓動文件夾
  2. 註冊在註冊表中的應用程序「運行」開始鍵( 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
+0

我嘗試了所有的3個選項,但問題是,my_ap plication.lnk只有在遠程桌面和登錄後纔會執行... – Vineeth

+0

選項3 - 使用任務計劃註冊它。確保您已註冊的用戶已登錄爲批處理作業權限。並且不要使用lnk - 使用實際的exe –

+1

選項2 - 將此鏈接指向正確的鍵http://www.akadia.com/services/windows_registry.html –