2009-02-27 65 views
6

您使用哪些工具或策略來自動化EC2活動?EC2自動化工具/策略?

我需要能夠調出一些EC2實例,爲其提供各種軟件(主要是Python軟件包),與S3進行交互(主要是下載數據)並運行各種作業。我會按需和按計劃進行這項工作。

我試圖決定我是否應該:

  • 創建AMI與它加載我所有的軟件 或
  • 啓動一個普通的Linux AMI實例和scp我的軟件,它

對於供應和自動化Boto看起來不錯。或者我可以用Paramiko寫一些東西。建議或者我應該看的東西?

基本上我正在尋找建議/成功案例,讓我知道什麼是你的工作。

回答

3

要回答關於選擇AMI的項目符號,我會說這取決於您要安裝多少軟件。

我已經成功地採用了混合方法,在這裏我構建了一個AMI並加載了我的重量級和更穩定的軟件。這是需要運行安裝程序的東西,或者需要花費大量時間來安裝(請記住,如果每次作爲啓動過程的一部分重新安裝程序包,則每次都需要爲安裝付費)。然後,我在配置/啓動時上載小而易變的軟件。在這個桶裏有大部分的應用程序代碼,數據等。這樣,我可以更改我的應用程序,而不必觸碰AMI。

這種方法的好處:

  • 不必支付運行相同的軟件安裝數千次。
  • AMI隨着時間的推移可以保持相當穩定。
  • 可以使用需要干預或GUI交互來安裝的軟件。

主要缺點:

  • 您的AMI的操作系統的版本將隨着時間的推移陳舊。
  • 您的AMI可能不會靈活處理它將運行的實例類型/體系結構。例如,您可以在32位操作系統上創建它,從而防止它在高CPU實例類型上運行,反之亦然。所以你可以把自己鎖定在定價方案中。

我不使用Python,所以我不能評論你引用的任何API。

0

前段時間問過這個問題,但我相信我的答案可能對其他用戶有用。我相信市場上最好的自動化工具是由雲管理平臺提供的。例如,他們提供自動擴展,配置軟件集成(Chef/Puppet),數據庫複製,DNS管理......

最流行的雲管理軟件是Scalr(免責聲明:我在那裏工作),RightScale和enStratus。 Scalr是開源的,並且在Apache 2許可下發布。

關於您在AMI上的具體問題,雲管理平臺通常會提供預配置的AMI(在Scalr,我們稱之爲角色)。如果您想創建基於現有實例的自己的AMI,則可以創建snpashots並將其用作未來實例的模板。