限制在DynamoDB表备份期间AWS数据管道使用的EC2资源

时间:2015-06-17 15:57:33

标签: amazon-web-services amazon-dynamodb amazon-data-pipeline

我需要每隔几个小时备份6个DynamoDB表。我已经从模板中创建了6个管道,它运行得很好,除了它创建了6个或更多的虚拟机,这些虚拟机大部分都在熬夜。那不是我能买得起的经济。

有没有人有优化这种情况的经验?

2 个答案:

答案 0 :(得分:0)

我想到的一些解决方案是:

一: 要确保终止EC2资源,可以在EC2资源定义上设置terminateAfter属性。这里讨论了终止之后的语义 - How does AWS Data Pipeline run an EC2 instance?

二: AWS论坛上的This thread讨论了数据管道如何使用现有的EC2实例。

三: 使用备份管道模板始终会创建一个单个管道,其中有一个Activity用于从单个源读取并写入单个目标的备份。您可以在AWS控制台中查看管道的JSON源,并编写一个包含多个Activity实例的类似管道 - 每个表对应一个要备份的表。由于管道定义只有一个EMR资源,因此只有该EMR资源才能完成所有活动的工作。

答案 1 :(得分:0)

您可以在Ec2Resource对象上设置字段maxActiveInstances。

maxActiveInstances组件的最大并发活动实例数。对于活动,将其设置为1会严格按时间顺序运行实例。大于1的值允许活动的不同实例同时运行,并要求您确保您的活动可以容忍并发执行。

请参阅:http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html

阿拉汶。 [R