Amazon-Web-Services

如何創建 AWS S3 儲存桶的離線增量備份

  • November 7, 2018

我正在尋找一種將 AWS 儲存桶的每日備份作為增量備份的方法。這些將離線儲存並遠離 AWS。

對於其他儲存系統(例如 NAS 驅動器),我使用每日rsync進行備份。使用 rsync 的--link-dest開關,我可以每天拍攝遠端文件系統的完整快照。自上次備份以來未更改的任何文件都將硬連結到上次備份。這意味著每日完整快照僅佔用增量備份的儲存空間。

我想為亞馬遜 S3 儲存桶設置類似的東西。儲存桶中有 20GB,但每天只有約 50MB 的變化。

請注意,這是備份 S3 儲存桶的內容,而不是將其他內容備份到 S3 儲存桶。

我可以看到如何使用 AWS CLI 工具進行完整備份。我看不到如何進行增量備份。

我想我可以(每天)將 S3 同步到本地硬碟,然後每天備份本地硬碟。這感覺非常笨拙。

編輯

這是一個簡單的技術問題,而不是對備份安全性的一般討論。但既然有人問我“你為什麼需要這個”,我現在明白我需要解釋備份的基本原則。

軼事:我最近目睹了第三方 IT 提供商因為溝通不暢而(完全)放棄了 S3 儲存桶。這可能非常昂貴(最近的工作約 10 萬英鎊,總工作約 100 萬英鎊)。幸運的是,我們碰巧在本地筆記型電腦上也有副本,我們只花了 1000 英鎊就為他們重建了內容。

它讓我再次堅信,唯一有效的“備份”是在離線離線儲存的隔離系統上,並且具有有效實施時間鎖定的媒體輪換。其他備份可以增強,提供更快速的恢復等…但是將所有 AWS 備份保存在您自己的 AWS 帳戶上並不安全,因為…使用者錯誤。

除此之外還有一種方法aws s3 sync,但它可能同樣笨拙。你看,它歸結為在 S3 儲存桶上添加一個在 PUT 上觸發的 Lambda 掛鉤。理論上,這將允許您建構S3 儲存桶的僅添加副本,因此不會複製任何 DELETE。有這方面的教程,但本質上是:

  1. 對像在桶中被操作。
  2. 給定操作的事件數據,觸發 Lambda。
  3. 如果操作是 PUT,則您編寫的程式碼會使用該對象執行操作。它忽略 DELETE。

增量備份邏輯將由您編寫。

引用自:https://serverfault.com/questions/938698