管理員如何管理他們的 EC2 EBS 和快照?

管理員如何管理他們的 EC2 EBS 和快照?

我的公司正在將我們的託管遷移到亞馬遜,我正在解決所有遷移問題。從實體硬體過渡到瞬態虛擬機是一個相當大的挑戰。

最後的挑戰之一是弄清楚如何管理我們的 EBS 和快照。由於目前無法對它們進行描述性命名或添加含義,我想知道管理員如何管理他們的資源。對於一台或兩台伺服器來說並不是什麼大問題,但是那些運行多個伺服器的伺服器如何處理事情呢?當每個人擁有少量伺服器時,是否都使用第三方工具(例如 RightScale/Scalr)?或者您正在維護 wiki 或其他輔助文件嗎?

答案1

我使用 ec2 一致快照(http://alestic.com/2009/09/ec2-consistent-snapshot)來拍攝我的快照(在 RHEL/CentOS 派生的 Amazon Linux 上) - 它是用 Perl 編寫的,並直接使用 API。您指定要建立快照的捲,它允許您新增描述。

(在 AWS 控制台中,如果您需要更細微的控制,則可以新增標籤,但對於簡單備份可能沒有必要,且上面使用的 Perl 模組尚不支援 (Net::Amazon::EC2))。

上面的腳本不會刪除快照(只創建新快照 - 一致(即它可以在快照之前凍結磁碟/資料庫)。因為它相當常用,而且我找不到兼容的 Perl 腳本來刪除我編寫的舊快照我自己的(http://www.thatsgeeky.com/2011/06/rotating-ebs-snapshots-ec2-prune-snapshots/)。它很好地完成了這項工作(祖父-父親-兒子輪換),並使用與上述腳本相同的依賴項和參數。

當然,兩者都設定為透過 Cron 運行。

(理論上,應該很容易將一些類似的腳本(例如用 PHP 和 Ruby 編寫的腳本)連接到資料庫,並維護您自己的捲和所拍攝快照的日誌 - 每個快照都有一個唯一的 ID,因此只要記錄下來,任何進一步的內部組織都應該很容易實現[但是,出於備份目的,卷ID 和日期通常就足夠了])

不要使用 CLI 工具 - 它們是用 Java 編寫的,與任何直接的 API 實作相比,速度慢得離譜。

答案2

亞馬遜正在逐漸添加進行有效管理所需的所有功能,這是亞馬遜吸引企業市場所需的。新增了標籤,並且即將推出允許用戶只能存取某些功能的增強功能。將來肯定會處理腳本和部署。我正在將這些功能添加到我的免費工具 ElastDream 中。

答案3

如果沒有編寫自己的工具來根據文字標籤索引 EBS 和快照 ID,我發現使用免費的右刻度帳戶和分配暱稱是管理我們的 EBS 捲和快照的最佳方式。

我個人認為,無法為 EC2 執行個體、AMI 或磁碟區分配易於記憶的標籤是當前 Amazon 產品中的一個大漏洞 - 對我來說這似乎是理所當然的事情。

答案4

ElasticFox 無疑是(手動)管理 EC2 最方便的工具之一。但關鍵部分是 - 定期對執行個體進行映像 - 在新執行個體啟動後設定一些自動初始化: - 分割區並掛載臨時磁碟機 - 一旦 EBS 磁碟區可用,就掛載它 - 從 EBS、EBS 或 EBS 復原檔案和資料庫共用儲存或S3。 - 啟動服務(MySQL、Apache、Tomcat,凡是你能想到的。)

相關內容