如何将带Aurora Proxy的Aurora RDS数据跨AWS账号迁移?
跨AWS账号迁移绑定Aurora Proxy的Aurora RDS数据方案
由于直接复制绑定Proxy的Aurora实例不可行,可采用以下几种方案完成跨账号数据迁移:
方案一:逻辑导出导入(mysqldump/pg_dump)
- 导出数据:直接连接源账号的Aurora RDS实例(绕过Proxy),使用对应引擎的导出工具生成SQL文件。
- MySQL引擎执行:
mysqldump -h <源RDS端点> -u <用户名> -p <数据库名> > dump.sql - PostgreSQL引擎执行:
pg_dump -h <源RDS端点> -U <用户名> <数据库名> > dump.sql
- MySQL引擎执行:
- 传输文件:将导出的SQL文件上传至跨账号共享的S3桶,或通过EC2私有网络直接传输。
- 导入数据:在目标账号连接新创建的Aurora实例,执行导入命令。
- MySQL引擎执行:
mysql -h <目标RDS端点> -u <用户名> -p <数据库名> < dump.sql - PostgreSQL引擎执行:
psql -h <目标RDS端点> -U <用户名> <数据库名> < dump.sql
- MySQL引擎执行:
- 注意:大数据库建议分库分表导出,避免单个文件过大;迁移前可暂停非核心业务写入,降低数据不一致风险。
方案二:AWS Database Migration Service(DMS)
- 创建复制实例:在目标账号部署DMS复制实例,确保该实例能通过VPC peering或公网连通源、目标Aurora实例。
- 配置端点:源端点指向源账号的Aurora RDS实例(不通过Proxy),目标端点指向目标账号的Aurora实例。
- 创建迁移任务:选择「全量迁移+CDC增量同步」模式,待全量数据同步完成后,持续同步增量变更。
- 切换流量:确认数据完全一致后,将应用连接切换到目标账号的Aurora实例或其绑定的新Proxy。
- 注意:需确保源、目标引擎版本兼容;配置安全组规则,允许DMS复制实例访问两端的RDS实例。
方案三:跨账号只读副本+实例升级
- 配置跨账号复制权限:在源账号的Aurora实例设置允许目标账号创建只读副本的权限,确保两账号VPC网络连通。
- 创建跨账号只读副本:在目标账号中创建源Aurora实例的只读副本,等待数据同步完成。
- 提升为独立实例:将只读副本升级为独立的Aurora实例,此时该实例未绑定Proxy。
- 后续配置:在目标账号为新实例绑定Aurora Proxy,调整应用连接至新Proxy端点。
- 注意:源Aurora实例需开启自动备份功能,否则无法创建跨账号副本。
方案四:AWS Glue/Data Pipeline批量迁移
- 全量迁移:使用Glue或Data Pipeline连接源Aurora实例,将数据导出至跨账号S3桶,再从S3导入目标Aurora实例。
- 增量同步:启用源库的二进制日志(binlog),通过Glue的CDC功能捕获数据变更,同步至目标库。
- 切换流量:待全量+增量同步完成后,切换应用到目标库。
- 注意:需配置S3跨账号访问权限,确保Glue/Data Pipeline能读写跨账号资源。
内容的提问来源于stack exchange,提问作者test
相关产品推荐
相关产品推荐

