2013-03-13 33 views
0

在AWS控制檯的EC2面板中,當您重啓實例(通過控制檯)時,狀態列會從「正在運行」更改爲「重新啓動」,並且然後在重啓完成後回到「運行」。Amazon EC2:如何通過AWS控制檯中的API檢測重啓狀態

在Amazon EC2 API中,沒有這種狀態「重新啓動」。唯一可用的選項是「運行」,「掛起」,「停止」,「停止」,「關閉」和「終止」。重新啓動時檢查實例狀態重新調整程序「狀態:正常」的API。

我如何知道,使用API​​,啓動重新啓動的實例已完成並且能夠正常運行?知道重啓已經啓動,我必須在重啓狀態下檢查一些信息。

由於提前,

+0

可以ping實例或檢測拉動一些URL的實例健康狀況? – 2013-03-13 21:29:40

+0

並非所有實例都啓用了ping或一個url。 – duduklein 2013-03-13 21:34:04

+0

你可以添加到你的日程安排腳本,這將推動消息開始時間到SNS? – 2013-03-13 21:47:40

回答

1

謝謝大家的建議。我終於「反向工程」 AWS控制檯JavaScript代碼和他是:

> AWS.ioc.Configuration.getInstance("/ec2/instances/rebootInstances#controller").subscribe("changed", 
> function() { var o = 
> m.dataTable.getRecords(m.dataTable.getSelectedRows()); 
> m.dataTable.setColumn(o, "instanceState", "rebooting"); 
> i.rebooting.fire(o); YAHOO.lang.later(60000, m.dataTable, function(p, 
> q, r) { 
>     m.dataTable.setColumn(p, q, r); 
>     i.rebooted.fire(p) 
>     }, [o, "instanceState", "running"], false) }); 

可以看出,它只是一個60秒(60000毫秒)超時...

0

我認爲你是從註釋獲得一般要點是,僅僅因爲一個實例已重新啓動,但這並不意味着它在一個乾淨的狀態啓動,使得它準備好執行工作。

因此,您確實應該在啓動時進行某種健康狀況監視或完整性檢查,以確定您的應用程序是否確實正常運行(或準備運行)。然後,您可以查詢此監視器以確定事情是否按預期運行。

+1

那麼,我並不總是控制什麼應用程序運行,有時候實例在VPC中沒有公共IP。我正在尋找Amazon AWS Console所做的事情,它與機器中運行的內容無關。 – duduklein 2013-03-14 01:34:06