我需要每隔几个小时备份 6 个 DynamoDB 表。我已经从模板创建了 6 个管道,它运行得很好,除了它创建了 6 个或更多虚拟机,这些虚拟机大部分都在熬夜。这不是我能负担得起的经济。
有没有人有优化这种场景的经验?
我想到的一些解决方案是:
一:要确保终止 EC2 资源,您可以在 EC2 资源定义上设置 terminateAfter 属性。此处讨论了终止之后的语义 - AWS 数据管道如何运行 EC2 实例?。
二:AWS 论坛上的此主题讨论了数据管道如何使用现有 EC2 实例。
三:使用备份管道模板始终会为备份创建具有单个活动的单个管道,该活动从单个源读取并写入单个目标。您可以在 AWS 控制台中查看管道的 JSON 源,并编写包含多个活动实例的类似管道 - 要备份的每个表对应一个实例。由于管道定义只有一个 EMR 资源,因此只有该 EMR 资源将执行所有活动的工作。
您可以在 Ec2Resource 对象上设置 maxActiveInstances 字段。
maxActiveInstances 组件的最大并发活动实例数。对于活动,将此设置为 1 将严格按时间顺序运行实例。大于 1 的值允许活动的不同实例并发运行,并要求您确保活动可以容忍并发执行。
看到这个: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html
阿拉文德。R