能否停止DynamoDB全局表副本同步?可否拆分出独立区域表?
DynamoDB全局表迁移独立表方案
核心问题答复
- DynamoDB全局表为AWS托管的多主多活同步架构,无原生的停止同步开关,也不支持直接将现有副本拆分为独立本地表:只要副本保留在全局表的副本列表中,跨区域同步就会持续运行;如果直接删除区域副本,对应区域的表数据会被同步清除,无法留存为独立表。
无停机落地方案
你可以按以下步骤实现迁移需求,全程满足迁移期间跨区域数据同步、迁移完成后各区域表独立运行的要求,开发成本远低于自行搭建全链路DynamoDB Streams+Lambda跨区同步方案:
- 按你原本的规划将现有单区域表转为全局表,添加所有目标部署区域作为副本,等待跨区全量同步完成。此时可先将各区域应用流量切到本地全局表副本,优先实现本地低延迟访问。
- 在每个目标区域分别创建一个结构和全局表完全一致的独立本地DynamoDB表。
- 调用
DynamoDB Export to S3功能导出对应区域全局表副本的全量数据,再通过DynamoDB Import from S3功能将全量数据导入同区域的独立本地表。 - 为对应区域的全局表副本开启DynamoDB Streams,配置一个极简Lambda,只负责将全局表副本的增量数据实时同步到同区域的独立本地表,等待增量追平后两个表数据将完全一致。
- 分批次将该区域应用流量从全局表副本切到独立本地表,确认业务无异常后,删除该区域的同步Lambda和DynamoDB Streams。
- 所有区域完成流量切换后,直接删除整个全局表即可,此时各区域应用均对接本地独立表,无额外跨区同步开销。
内容的提问来源于stack exchange,提问作者Loupax
相关产品推荐
相关产品推荐

