2016-04-23 94 views

回答

2

重新啓動是一個操作系統級別的事件,因此管理程序將不知道操作系統重新啓動。如您所述,在API/CLI級別的重新啓動過程中,您可以從命令行工具檢測到這些信息。

但是,假設您在入站安全組中啓用了ICMP回顯請求,則可以使用PING報告實例的網絡可達性。這與EC2狀態檢查在報告實例健康狀況時的作用類似。

在重新啓動,你會看到PING包暫時下降:

Reply from 10.0.0.1: bytes=32 time=97ms TTL=101 
Reply from 10.0.0.1: bytes=32 time=80ms TTL=101 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Request timed out. 
Reply from 10.0.0.1: bytes=32 time=82ms TTL=101 
Reply from 10.0.0.1: bytes=32 time=77ms TTL=101 
Reply from 10.0.0.1: bytes=32 time=106ms TTL=101 

,然後將數據包返回答覆,該實例已經完成它重新啓動後。

我經常以這種方式使用PING來確定何時重啓完成。你可以通過程序來做同樣的事情。

0

instance status

使用節點SDK,您可以使用instanceStatusOk通過定期調用底層EC2.describeInstanceStatus()操作每15秒檢查rebootInstances

instanceStatusOk>等待instanceStatusOk狀態後(最多40次)。

實施例:http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#instanceStatusOk-waiter

+0

調用重新引導實例狀態可以是確定(30秒)後=>初始化(3秒)=>確定。如果此轉換髮生在5秒內,則每15秒輪詢一次可能會錯過它。 – wz366

相關問題