AWS数据库容灾-RDS异号备份

 ̄綄美尐妖づ 提交于 2019-12-19 16:39:01

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

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文章。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!