它確實需要花費不同的時間在EC2中啓動Windows AMI。您可以通過爲實例設置一個固定的機器名稱來最小化它。在任何Windows計算機上執行此操作 - 在「我的電腦」,「計算機名稱」選項卡的屬性中。然後,從開始菜單的「所有程序」列表中運行「EC2ConfigService設置」。該計劃由亞馬遜在大多數基礎AMI上安裝。在該程序中,在「常規」選項卡上,選中「設置計算機名稱」。 這樣可以避免系統在啓動鏡像時自行重新啓動一次,因爲它必須設置名稱。
仍然,你想成爲通知當你的實例準備好了!這是亞馬遜簡單通知服務的完美工作。該服務(也被稱爲SNS)很容易以編程方式使用(例如,從一個Windows .NET項目),免費(對於前100,000條消息,總計少於1GB),並且通知是即時的。
代碼發送通知(在VB.NET):
Imports Amazon.EC2.AmazonEC2Client
Imports Amazon.SimpleNotificationService
DIM LabSNS As New AmazonSimpleNotificationServiceClient(Lab_AWSKey, Lab_AWSSecretKey)
Dim PubReq As New Amazon.SimpleNotificationService.Model.PublishRequest
Dim Msg As String 'Messege to be built up, then be sent. It is body of eMail.
Msg = "The instance is running and ready!"
Msg = Msg + vbCrLf + "Previous State of machine was:" & PreviousState 'A made-up global
Msg = Msg + [Any other info. I want to send myself about the start of the instance.]
PubReq.WithTopicArn(Topic)'Topic is a global. It's value is a key from SNS topic setup.
PubReq.WithSubject("EC2 Instance is Ready!")
PubReq.WithMessage(Msg)
LabSNS.Publish(PubReq)
代碼要求亞馬遜的SDK for .NET這是免費的。編寫一個包含上述代碼的程序。將程序設置爲在計算機啓動後以及使用Windows任務計劃程序登錄之前運行 - 創建一個在「系統啓動時」觸發的調用該程序的任務。
對SNS的設置記錄在這裏:SNS Documentation
它看起來像一個很大的麻煩,發送電子郵件,但是,亞馬遜的EC2環境是非常嚴格的,當談到發送電子郵件。許多人試圖將EC2用作垃圾郵件平臺,因此亞馬遜已經徹底阻止了SMTP(電子郵件)流量,除非亞馬遜規定。您不能僅在亞馬遜安全組上打開一個端口來繞過亞馬遜的區塊。
亞馬遜有一個通用的電子郵件設施,可以在EC2內使用。它被稱爲亞馬遜簡單電子郵件服務(SES)。這對你來說不太合適,因爲它是爲批量電子郵件設計的。所以,我不認爲SES的定價,異常處理和消息傳遞不適合您的需求。
另一方面,SNS對此非常有用。它包括一個給收件人的初始電子郵件(你可能想要通知你的服務器上線),詢問他們是否希望接收未來的主題消息;他們有權選擇退出,並且必須回覆以進一步接收。
安裝過程(如上面的塊所示)都可以從Amazon的AWS管理控制檯輕鬆實現。 (您的問題意味着您已擁有此ECO EC2帳戶。)設置完成後,從AMI啓動的任何實例都會發送一個電子郵件,其中包含您選擇的任何信息(只要您的計算機可用)準備。
它在設置時無需任何操作,而且在操作時可以堅如磐石。