Ограничение ресурсов EC2, используемых конвейером данных AWS во время резервного копирования таблиц DynamoDB.

Мне нужно делать резервные копии 6 таблиц DynamoDB каждые пару часов. Я создал 6 конвейеров из шаблонов, и все работало отлично, за исключением того, что было создано 6 или более виртуальных машин, которые в основном не работали. Это не та экономия, которую я могу себе позволить.

У кого-нибудь есть опыт оптимизации такого сценария?


person Radek    schedule 17.06.2015    source источник
comment
Вам нужно будет использовать третий вариант, предложенный Рохитом ниже. Один конвейер с несколькими действиями, выполняемыми в одном кластере EMR. Затем вы можете контролировать размер кластера, чтобы настроить его повсюду.   -  person panther    schedule 24.06.2015


Ответы (2)


Вот некоторые решения, которые приходят на ум:

Первый: чтобы убедиться, что ресурсы EC2 завершаются, вы можете установить свойство terminateAfter в определении ресурса EC2. Семантика завершения после обсуждается здесь — Как AWS Data Pipeline запускает экземпляр EC2?.

Второе: в этой теме на форуме AWS обсуждается, как существующий инстанс EC2 может использоваться конвейером данных.

Третье: при использовании шаблона конвейера резервного копирования всегда создается один конвейер с одним Активность для резервной копии, которая читает из одного источника и записывает в одно место назначения. Вы можете просмотреть исходный код конвейера в формате JSON в консоли AWS и написать аналогичный конвейер с несколькими экземплярами Activity — по одному для каждой таблицы, резервную копию которой вы хотите создать. Поскольку определение конвейера будет иметь только один ресурс EMR, только этот ресурс EMR будет выполнять работу всех действий.

person Rohit Kulshreshtha    schedule 20.06.2015

Вы можете установить поле maxActiveInstances в объекте Ec2Resource.

maxActiveInstances Максимальное количество одновременных активных экземпляров компонента. Для действий установка значения 1 запускает экземпляры в строгом хронологическом порядке. Значение больше 1 позволяет одновременно запускать разные экземпляры действия и требует от вас убедиться, что ваше действие допускает параллельное выполнение.

См. это: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html

Аравинд. р

person AravindR    schedule 23.06.2015