2012-05-24 108 views
3

我瀏覽過關於備份EC2的其他問題,它爲我提供了一個很好的基礎,但我仍然有點困惑,應該如何處理我的解決方案並制定應急計劃。大多數問題都是相當具體的,但我有一個漂亮的香草設置,我認爲這些信息對未來的用戶會有好處。讓我提供我的基本設置:由於EC2的短暫性我應該如何處理我的EC2應急計劃?

  • 基本小實例
  • 推送文件到S3
  • 運行的MongoDB
  • 運行nginx的

現在,它的顯然我需要將我的EC2實例綁定到EBS以確保持久存儲。我試圖制定應急計劃的原因是我擔心我的實例隨時可能消失(由於停電等原因)。如果我的實例消失了,我擔心我將不得不啓動一個新實例並重新安裝所有應用程序,然後再重新開始運行。幾個問題:

  • 如何備份我的實例以確保它如果消失,我可以快速恢復(最好不必重新安裝所有以前的軟件)?我不需要一系列的備份,只需要前幾天(或幾周)的備份就可以確保以前的工作版本可以快速啓動。
  • 如果我使用EBS而不是實例存儲,它基本上會代替我的硬盤驅動器嗎?所以,如果我安裝了MongoDB,我假定它正在寫入EBS上出租車的數據庫?
  • 如果我使用具有160 GB存儲空間的小實例並使用EBS,我是否需要將160 GB的EBS分配給門外,或者僅僅是160 GB的實例存儲空間?

所以,綜上所述,我想一個解決方案(手動或自動),它可以創建我的EC2實例的快照,以確保如果它消失了,它可以被重建,而不必花時間手動重建一切。在一個理想的世界中,如果我的實例消失了,我可以創建一個完整版本的實例版本(以備份事物)。任何資源或建議?提前致謝。

回答

3

OK,我們開始吧:

對於備份:

  1. 從股票AWS圖像之一創建您的實例。確保它是EBS支持的虛擬機 - 根據所選虛擬機的大小,您將獲得一個分配有'n'GB空間的卷,並將其作爲啓動卷(/ dev/sda1)進行連接。

  2. 使用您需要的任何軟件配置虛擬機,應用修補程序,調整磁盤碎片,CPU消耗(任務優先級等)以及您需要的任何其他配置,使虛擬機適合您的需求。

  3. 停止VM並拍攝EBS卷的快照,然後重新啓動它(重新分配Elastic IP有一個)。這是您的備份快照 - 根據需要以您喜歡的任何頻率重複。請記住在捕捉虛擬機時停止虛擬機,以防止操作系統在複製虛擬機時寫入卷。

對於恢復:

  1. 你的虛擬機將失敗,最終。您會破壞某些東西並使其損壞或無法使用,或者它運行的硬件會遭遇故障。它會發生。

  2. 當它結束時,終止它(如果它沒有自行終止),並從AWS庫存清單中創建一個相同類型的新VM。等到它顯示爲「正在運行」,然後停止它。

  3. 分離其EBS卷並將其刪除。

  4. 從上次創建的任何備份快照創建一個新的EBS卷,並將該新卷作爲/ dev/sda1附加到VM。

  5. 啓動VM並在適當的情況下分配EIP。

關於EBS存儲:

  1. 它的存儲空間塊。如果將其格式化爲標準磁盤,則可以像使用物理磁盤一樣使用它。在其上安裝東西,指向它的軟件用作存儲空間,無論如何。
+0

不錯的恢復/備份計劃,但仍然沒有環境備份計劃,因爲EBS不保留您的EC2偏好,對嗎? – gwdp

+0

什麼偏好? –

+0

優秀的迴應。感謝您的建議。 – naivedeveloper

1

你有兩個選擇:(但不完全相同,只要你想;()

1有一個「外部」 EBS連接到您的EC2實例,並手動(您可以通過cronjobs自動完成),使快照但它不是你想要的,爲什麼?如果你的EC2實例消失了,你將需要重新創建你所有的環境並重新連接你的EBS ...所以這是備份巨大數據的好方法你的EC2,但你的環境遭​​到破壞......

2-最好的方法,但不是很完美,是在你完成EC2的配置後,從它製作一個私有的AMI,所以任何時候你都可以啓動更多的實例像那樣,從AMI那裏,那麼一切都被克隆......但最糟糕的是,每當你從實例改變一個配置時,你仍然需要創建一個新的AMI,並且每當你創建一個新的AMI時,你都需要重啓你的實例在新的私有AMI上授予數據完整性!

我建議您仔細看看保留的EC2實例,它們與正常實例相比具有更好的穩定性。但你仍然可以有五金災害爲正常情況下太...

+0

1)記住在拍攝快照之前暫停操作系統,以防止在快照過程中發生寫入。 2)AMI可用作基準操作系統模板 - 對於動態更改更多的虛擬機,請使用我答案中描述的快照流程。 3)預留實例不比現貨或按需實例更「穩定」 - 它們存在於完全相同的硬件平臺上,但由於您支付「預付費」,因此具有不同的成本模型。 –

相關問題