AWS數據庫容災-RDS異號備份 原

AWS數據庫容災

項目要求

A賬號定時將本賬號北京區的RDS數據庫進行快照備份,並將備份的快照分享給B賬號,B帳號收到分享後及時將分享的快照複製到自己的北京區RDS快照組中進行備份。 項目要求

解決方案

解決方案

  • A賬號中:
  1. 創建一個名爲timer-trigger-lambda 的CloudWatch Scheduler Event用於定時觸發lambda函數。
  2. 創建一個名爲timer-create-dbSnapshot的lambda函數,當收到定時的Event觸發時對要求的rds(或列出所有的rds)進行打快照處理
  3. 創建一個名爲notify -manualCreateSnapshot-SNS-lambda的RDS時間訂閱,訂閱指定RDS實例(或所有實例)的快照處理事件,並將事件發送給SNS topic。
  4. 創建一個名爲find-new-rds-snap的SNS的topic,用於接收RDS快照事件訂閱並將訂閱的事件轉發給lambda函數,觸發快照分享操作。
  5. 創建一個名爲share-dbSnapshot-to-B的lambda函數,當接收到SNS的觸發時進行指定快照的分享給B賬號,並將過期的快照刪除,並將結果發給SNS去通知B賬號進行快照複製操作。
  6. 創建一個名爲notify-to-B-NewShareSnapshot的SNS topic,用於接收lambda函數的通知,並將通知轉發給B賬號。
  • B賬號中
  1. 創建一個名爲get-new-dbSnapshot-share的SNS topic,用於接收A賬號 的SNS通知,並將通知轉發給lambda函數,觸發快照複製操作。(1.0版本,已放棄,本文不接收)。
  2. 創建一個名爲copy-dbSnapshot的lambda函數,當接收到SNS的觸發時,將指定的分享快照進行復制操作,並將結果發送給SNS以告知管理員備份結果。
  3. 創建一個名爲notify-RDSbackupResult-to-admin的SNS topic,用於將備份結果通知到管理員郵箱

實際步驟

由於項目保密性原因實際步驟就不做詳細介紹了。有興趣的朋友根據解決方案一步步做就可以實現,難點在於跨賬號的SNS觸發lambda需要通過AWS CLI來實現,控制檯暫時沒有提供這一功能。 相關的操作也可以參考我的其他AWS文章。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章