我正在尝试确定是否可以在AWS中配置RDS服务以执行以下操作,但我的Google搜索没有太多运气.
>当它进行实例备份时,让它自动删除RDS实例并使用备份启动新实例.这里的用例是让生产数据库的夜间备份生成一个新的“临时”数据库,用于测试而不影响生产数据.这不能是复制类型函数,因为更改登台数据库上的数据将有效地破坏复制.
>当它进行实例备份时,让它自动将文件复制到FTP服务器.这样就可以随时提取夜间拷贝来更新本地数据库以进行开发.
我正在考虑改进一些devops进程,并且厌倦了必须手动转储生产数据库以使我的本地副本保持最新状态并且还要使登台服务器陷入困境.如果通过AWS无法实现上述目标,是否有人知道我是否会在制作bash脚本以执行一系列AWS控制台命令以尝试执行此操作或我可能遇到的问题时遇到任何问题?
解决方法
1)我很确定没有任何预先可用的自动方式来实现这一点.有一天,AWS Lambda可能会有能力,当它被教导如何在RDS备份发生后接收事件.
2)我认为你误解了RDS备份的功能.它们实际上拍摄了RDS实例的快照(即运行RDS实例的隐藏EC2实例).您无法在AWS外部获取和存储或使用数据库转储文件.恢复RDS实例备份实际上是从快照中激活临时新RDS实例,然后复制数据(或将应用程序指向已还原的实例)
我强烈建议使用一个脚本,该脚本使用特定于DB的转储工具(MysqLdump,pg_dump或sqlServer的任何内容)从生产RDS实例转储生产数据库,然后将其导入到预先存在的暂存RDS中例如,无论你喜欢什么时间表.