您備份 S3 儲存桶的一般策略是什麼?
我們正在啟動一個項目,該項目涉及在 S3 中儲存大量數據。S3 擅長擴展,我們預計儲存桶中有多達 5TB 和數百萬個文件。雖然我可能信任亞馬遜儲存數據,但我並不認為軟體絕對沒有錯誤。
我們有 EBS 快照機制,能夠將 EBS 卷的狀態恢復到之前的狀態。但是我們如何才能將儲存桶恢復到它的狀態,比如 3 天前呢?
UPD。
這個問題引發了關於“您如何備份整個雲基礎架構?您的災難恢復計劃是什麼?”的全新想法。如何備份Route53?CloudFront 設置?從腳本錯誤或失去對根控制台的訪問權限中恢復需要多長時間?
您備份 S3 儲存桶的一般策略是什麼?
根據您儲存的數據,您可能對從 S3 備份數據不感興趣。例如,如果您有通用網站資產,並且您已經在其他地方的儲存庫中擁有副本,則您可能不需要備份存在於 S3 中的資產。
有時您可能會使用 S3 來儲存使用者上傳的內容。這些可能源自 EC2,也可能直接進入 S3。使用對象版本控制能夠從腳本錯誤或使用者刪除文件但改變主意中恢復是有意義的。http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html
據我了解,版本控制是在對象級別完成的,所以如果您想“恢復到 3 天前您的儲存桶的樣子”,您需要建構一個可以檢查所有版本和日期的腳本,並請求正確的版本對於每個對象。這是可能的,它只需要首先在應用程序級別上做一些努力。
您可以查看其他方法,例如將所有 S3 儲存桶對象同步到另一個服務(第三方伺服器或 EBS 支持的 EC2)。這可能是您的每日或每週快照。這種方法會增加額外的成本、維護和工作量,因此可能不是最佳解決方案,尤其是對於 5TB 的數據。
“您如何備份整個雲基礎架構?您的災難恢復計劃是什麼?” 如何備份Route53?CloudFront 設置?
根據您想走多遠,所有此類資訊都應編寫腳本並保存在配置文件中。應該備份這些配置文件。這涉及到 DEVOPS 和基礎設施即程式碼的概念。
從腳本錯誤或失去對根控制台的訪問權限中恢復需要多長時間?
這個問題聽起來很難回答。什麼樣的腳本錯誤?第一個問題涉及一個範例(刪除 S3 上的文件的腳本),但還有更多。
您可以查看 SimianArmy https://github.com/Netflix/SimianArmy
Simian Army 是一套工具,可讓您的雲以最佳狀態執行。Chaos Monkey,第一個成員,是一種彈性工具,可幫助確保您的應用程序可以容忍隨機實例故障
至於訪問“根控制台”,如果您正在談論訪問您的作業系統或您的 EC2 ……所有這些都應該通過 Puppet/Chef 或類似的腳本編寫,因此您的機器是“一次性的”。它們沒有什麼特別之處,它們不包含個人使用者數據,您可以在不影響系統的情況下啟動或關閉一個。
如果您談論對 AWS 控制台的訪問,則需要執行電子郵件或電話等操作才能獲得訪問權限,否則您可能需要解決中斷問題。