我在想,如果有一天我的 AWS 帳戶被刪除或無法存取怎麼辦?有人為此實施了解決方案嗎?我們可以從一個 AWS 帳戶備份並還原到另一個 AWS 帳戶嗎?
目前我正在使用 Skeddly 備份我的 AWS 實例,該實例再次儲存在 AWS 本身中。
有什麼想法嗎?
答案1
您可以做幾件事,一是確保您至少有兩個管理員帳戶,一個是您使用的,另一個是您存放在安全的地方並且僅用於能源。
第二種是設定一個完全獨立的 AWS 帳戶作為“備份”,並擁有自己的一組憑證。您可以授予從主帳戶到備份帳戶的跨帳戶存取權限,但只允許主帳戶將物件「放置」或備份到備份帳戶,這樣即使您的主帳戶受到威脅,攻擊者也無法執行以下操作主帳戶對第二個帳戶造成損害。
將一個帳戶上的服務備份到另一個帳戶的實際過程將根據您使用的服務而有所不同,但概念是相同的 - 將資料備份到 s3,然後將資料從主帳戶中的 s3 複製到 s3 中備份帳戶- 並確保主帳戶僅具有對第二個帳戶的足夠存取權限來「放置」內容,而不是刪除內容。您公司中的任何人都不應有權存取這兩組憑證(假設您的公司規模不大)。
您不想成為這家因帳戶被盜而倒閉的公司:
此外,這段來自 AWS Reinvent 2015 的影片(從大約 50 分鐘開始),聆聽 AirBNB 如何透過以下方式防範這些問題:
AWS re:Invent 2015 | AWS re:Invent 2015 (DAT304) 適用於 MySQL 的 Amazon RDS:最佳實務 | youtube.com
答案2
在 AWS 中建置的第一條規則應該是自動化一切。
現在,如果您失去了對帳戶的存取權限或帳戶外洩並且一切都被終止,那麼只需執行一個簡單的過程即可恢復所有無狀態元件。
這裡最大的問題是有狀態的元件,例如資料庫。為此,我建議您定期備份資料庫,並將它們保存在 AWS 之外的某個位置(或您的帳戶至少無法刪除的位置,例如亞馬遜冰川和金庫鎖)。
例如,您可能有一個預定的作業,需要花費mysqldump
您擁有的任何 MySQL 資料庫,然後將它們從 AWS 中刪除。
現在,如果您丟失了帳戶,那麼只需將資料庫備份還原到您選擇重建的任何位置(可以返回到AWS 中的另一個帳戶,甚至在同一個帳戶中,但這次只是正確保護),然後運行自動化重建所有其他無狀態組件的過程。
顯然,會丟失一些數據,因為您只能從資料庫返回到上次備份。