将DynamoDB表复制到另一个帐户

时间:2018-06-24 13:26:54

标签: amazon-web-services amazon-dynamodb

如何将DynamoDB表复制到另一个AWS帐户?

表大小为20 GB。

我无法使数据管道正常工作-我永远得到WAITING_FOR_RUNNER,所以我更喜欢另一种方法

1 个答案:

答案 0 :(得分:3)

AWS建议的最佳实践是在使用名为:

的预定义管道模板的同时使用AWS Data Pipeline服务。
  1. 从S3导入DynamoDB备份数据
  2. 将DynamoDB表导出到S3

有关该主题的完整教程都写得很好,可以在AWS Data Pipeline Docs中找到。

本教程仅介绍的两个陷阱:

  1. 您可能需要使用ACL或存储桶策略在两个AWS账户之间共享S3存储桶
  2. 您将必须将DDB表从“按需”或“按比例扩展”吞吐量配置模式更改为手动吞吐量,并为表设置足够的读/写容量,以便可以合理地扩展EMR作业。请记住,EMR作业执行数据导出/导入操作将消耗的RCU和WCU的比率是您从上述模板创建数据管道时设置的参数,以后可以更改(如果您在Architect中编辑管道)。提前进行此计划可确保,例如,如果在运行导出之前通过基于慢速使用模式的Auto-Scaling将RCU设置得非常低,则永远不会尝试从DDB读取数据而使您的EMR作业卡住。导入时,WCU也有类似的观察结果。

我可以使用这种方法确认要迁移的表远远大于20GB,这是这种情况下最可靠,最容错的方法。基于为此目的编写的某些库或代码的其他方法可能很难设置,并且需要外部依赖。其中有些对我来说很早就失败了,这是由于这些工具没有针对大型数据集进行优化而导致的。