2013-04-25 71 views
3

作爲一個系統管理員,我正在尋找一種有效的方法或最佳做法,你在管理一個ec2實例與自動調節。有效的方式來管理或管理aws中的自動縮放實例

你如何管理自動化此以下情形:

  1. 修補了最新版本的服務器出於安全原因的rpm包的(我們的環境與自動縮放,彈性負載平衡和運行的CloudWatch)? like(yup update/upgrade)
  2. 像更改httpd.conf一樣對Apache服務器進行配置更改並將其應用於自動擴展組中的所有實例?
  3. 如何將最新的代碼部署到您的應用程序中,而生產中的中斷時間更少?
  4. 你如何使用木偶或廚師來自動化你的管理任務?

,如果你有什麼分享你如何與AWS的自動化管理任務

+0

你是怎麼回事。你之後的任何答案都是? – 2013-08-11 10:15:34

回答

0

退房亞馬遜OpsWorks,亞馬遜Web服務的新廚師基於的DevOps工具,我真的很感激。

它使您能夠在不同層(負載均衡器,應用服務器,數據庫...)中的實例上運行自定義廚師食譜,並管理來自各種源存儲庫的應用程序部署(Git ,Subversion ..)。

它支持基於負載的自動縮放(如您已經使用的自動縮放),以及基於時間的自動縮放,這對於使用標準EC2自動縮放來實現更爲複雜。

這是一個相對年輕的服務,並不是所有的功能已經可用,但它可能對您有用。

+0

嗨,任何其他方式如何做我的方案,而不使用opsworks? – 2013-04-29 09:32:50

+0

您可以使用標準的EC2自動縮放。您可以創建新的啓動配置,新版本將開始啓動新版本,直到它替換舊配置。新版本可以通過新的AMI,不同的用戶數據或Puppet/Chef配置來定義。 – Guy 2013-04-30 11:13:09

0

修補服務器的最新版本的rpm包爲 的安全原因?像(燁更新/升級)

你可以用木偶或廚師創造一個cron作業需要照顧這對你(的cron將在其最基本的形式下載或安裝通過bash腳本更新) 。您可能需要自動升級,或者直接通過電子郵件通知管理員,以便在應用更新之前進行評估。

使得Apache服務器像 httpd.conf中變化的配置更改,它適用於所有情況下自動縮放 組?

我通常通過我的Puppet清單處理所有配置文件。您可以設置每個EC2實例以從Puppet Server中獲取更新,然後您可以根據需要推出更改。此過程的一部分應該是更新存儲在您的AutoScale組中的AMI(這是使用Amazon命令行工具完成的)。

如何將最新的代碼部署到您的應用程序到服務器較少 生產中斷?

首先進行測試!另外一個簡單的技巧是版本化部署,所以每次部署時都會得到自己的文件夾(/ var/www/v1/var/www/v2等),並且一旦驗證了部署成功,您只需更新一個符號鏈接指向最新版本(/ var/www/current指向/ var/www/v2)。

OpsWorks爲您處理所有這些事情,所以您可以查看,如果你不想自己做這一切。

你如何使用木偶或廚師來自動化你的管理任務?

您可以使用廚師或木偶做各種各樣的事情,和任何他們不能(或者你不知道如何)都可以通過您從廚師調用一個bash/python腳本來完成或木偶。

我常做的事情一樣安裝軟件包,構建自定義軟件包,設置權限,下載東西,啓動服務,管理配置文件,設置cron作業等

,如果你有什麼分享我會很感激如何使用aws自動執行管理任務

調查CloudFormation。這可以幫助您通過配置文件設置所有服務器和相關服務(思考EC2,LBS,CloudWatch),從而幫助您實現整個堆棧(而不僅僅是EC2的操作系統)的自動化。

+0

德魯,有一個關於自動縮放和puppet的快速問題。我有我的基礎設施由puppet管理。我在S3中更新了最新版本的tarball,然後有一個簡單的腳本來在啓動過程中提取並替換最新版本(rc.local)。我還希望自動縮放的實例向puppetmaster註冊,但不知道如何處理主機名和證書籤名。考慮檢查現有的主機名和增加主機名,然後註冊puppetmaster,但是有沒有一個正確/更好的方法來做到這一點?我在master中使用自動簽名,並允許使用* .domain.com。在此先感謝 – Nerses 2013-11-11 02:56:08

+0

聽起來像一個新問題,而不是對此答案的評論? – 2013-11-11 05:10:15