如何将AWS Aurora RDS备份快照恢复的实例部署到现有DB集群
问题原因说明
- Aurora采用集群共享存储架构,同一集群下的所有DB实例共用一份集群存储卷,你在集群级别创建的快照本质是整个集群存储卷的全量备份,而非单个DB实例的备份。
- 标准的集群快照恢复操作,本质是基于备份生成一份独立的新集群存储卷,因此必然会自动创建全新的集群绑定这个新存储卷,自然无法直接挂载到已有集群——已有集群有独立的存储卷,两份存储卷数据独立、无法合并。
- 你之前的操作混淆了普通单实例RDS和Aurora集群的恢复逻辑:普通RDS的快照是单实例存储的备份,恢复后生成独立实例;但Aurora的集群快照对应集群级存储,恢复的最小单位是集群。
对应解决方案
分两种场景处理:
场景1:原有my-dbcluster集群本身未损坏,仅误删了DB实例
你完全不需要使用快照恢复,直接给原有集群添加新实例即可,数据和原有集群完全一致:
- 进入AWS Console的
my-dbcluster集群详情页 - 点击页面右上角的添加实例按钮
- 填写原
DB Instance Identifier(即my-instance),配置和原有实例保持一致后提交即可 - 新实例会自动挂载到原有集群的共享存储上,启动完成后即可正常使用,整个过程通常只需要3~5分钟
场景2:原有集群数据出现逻辑损坏(比如误删库/表),需要用快照中的历史数据恢复到原有集群
这种情况需要先恢复快照到临时集群,再做数据迁移:
- 用你之前的操作,将目标快照恢复为临时独立集群
- 根据数据量大小选择同步方案:
- 数据量小于100G:用
mysqldump导出临时集群中需要恢复的库/表,再导入到原有集群即可 - 数据量较大:使用AWS DMS(数据库迁移服务)配置临时集群到原有集群的增量同步,待数据追平后切换业务流量,再删除临时集群
- 数据量小于100G:用
内容的提问来源于stack exchange,提问作者Kuldeep Jain
相关产品推荐
相关产品推荐

