2013-03-11 149 views
0

我有幾個基於ubuntu的ec2實例在生產模式下運行。我的問題是,當流量增加,我手動啓動實例更新從github代碼。自動快照並自動創建AMI

現在我必須配置自動縮放,以便每當API啓動新實例時,它將引導最新的AMI並附加到負載平衡器,其他方面我必須手動提取代碼。

說得更清楚的是我打算做的。

  1. 定期拍攝實例,說一天一天的基礎。
  2. 從快照中創建AMI並保存。
  3. 創建快照時不應該有任何停機時間。
  4. 在自動縮放配置應該啓動最新的AMI並將其連接到負載平衡器

請幫我出

回答

3

而是重建的AMI並改變它定期的,建設AMI會在啓動時自動從代碼存儲庫中取出,並可能在此後定期進行。這假設您的AMI唯一的區別是代碼。

例如,如果您使用SVN,您可以使用標籤/最新標籤標記您的最新生產版本,並始終從該路徑拉出。現在你有一個AMI,當它啓動時總是有最新的代碼。您甚至可以每5分鐘運行一次cron作業,查看已簽出的標籤和修訂版,以及您的SVN服務器最新報告的內容。如果這種情況發生變化,它會自行消失,自動調節開始替代;或者它只是做一個svn更新並獲取最新的變化並保持突破。

有人擔心構建會導致您的實例無法健康,但您應該能夠在單元和集成測試中捕捉到這一點。

如何做到這一點?許多選項,但使用您的操作系統啓動腳本可能是最好的。有很多方法可以自動訪問你的代碼庫。我確信有關於此的其他StackOverflow問題。

+0

如果網絡服務器自動啓動,您的ELB節點運行狀況檢查可能包括檢查以確保代碼已更新。 – 2013-06-15 16:11:32