2013-06-04 40 views
2

據當時Amazon EC2 Instance FAQ找到的文檔:「狀態的時間比平常更長的時間最終將 通過亞馬遜EC2服務中的自動化流程清理‘EC2實例在「關閉」狀態時是否自動死亡?

關停’的實例」

有誰知道「比平常長」多長時間?一個實例在自動終止之前處於「關閉」狀態多久?

我從init.d關閉腳本調用備份腳本,但是當它嘗試壓縮並將大型目錄(500 MB)複製到S3時,似乎EC2實例在備份完成之前關閉。 (我關閉期間備份小目錄時從來沒有遇到此問題。)

是否有可能,因爲它停留在「關停」狀態太久我的EC2實例得到自動殺?我能安全地待在「關閉」狀態多久?

+0

我不認爲這個信息被髮布,也不是它的東西,你可以控制的。您可能希望通過找到一種方法在關機前複製大部分(如果不是全部)信息來解決此問題。 – datasage

回答

2

當您停止或終止一個EC2實例時,Amazon向操作系統發送一個軟關閉請求,讓它以乾淨,安全的方式收起。如果系統在短時間(分鐘)內沒有指示它正在關機,那麼亞馬遜會有效地拉動電源插頭,導致硬關機。

我不知道從亞馬遜這個軟關機寬限期是多長的任何承諾,所以我建議你不要承擔還是要靠具有特定最小。即使亞馬遜今天只給你10分鐘一次,他們也可以很容易地在明天減少到3分鐘,比如他們對新實例的需求很大。

如果您需要在實例關閉之前進行重要包裝,請發送實例信號(Web請求或ssh命令),等待它完成其任務,然後啓動EC2關閉。

如果您正在使用,也就是說,現貨實例,其中實例可以在亞馬遜的任何點被關閉,然後經常保存您的工作,使沒有太多的它,如果實例被突然終止將丟失。

回我ServerFault答案複製到Is there a maximum shutdown for instances in Amazon EC2?

+1

Eric,在發佈我的問題後,我在ServerFault上找到了您的答案。感謝您重新發布您的答案!也許原因在於亞馬遜在實例處於「運行」狀態時定義了「可計費實例 - 小時」,因此在「關閉」階段期間嘗試做實際工作被認爲是作弊... –

0

這是一個受控關閉事件嗎?你是從EC2實例本身或實例外部關閉它的?

在任何一種情況下,一旦您向EC2實例發出關閉信號,它與發出「shutdown -h now」命令相同 - 在系統關閉之前,您確實沒有太多時間去做很多事情。

如果這是一個受控關閉,我建議找到另一種方法在init.d關閉腳本之外運行該腳本。

+1

是的,這是一個受控關閉,我從實例外部關閉它(使用'boto' python庫。)在我的理解中,在一個典型的(非AWS)Linux服務器中,沒有一個概念關機超時。服務器將通過所有init.d關閉腳本,無論他們需要多長時間,然後關閉。這就是爲什麼我驚訝地發現關閉EC2服務器的時間限制 –

+1

如果你從實例外部關閉它,也許你可以修改腳本來完成這個工作:(1)SSH進入方框並運行您需要它的腳本(2)斷開連接,然後發出boto shutdown命令。這會起作用嗎? – Suman

+0

這似乎是正確的做法。謝謝。 –