AWS EMR выполняет "bootstrap" script на всех уже запущенных машинах в кластере

У меня есть один кластер EMR, который работает 24/7. Я не могу отключить его и запустить новый.

Что бы я хотел сделать, это выполнить что-то вроде действий начальной загрузки в уже запущенном кластере, предпочтительно используя Python и boto или AWS CLI.

Я могу представить, как сделать это за 2 шага:

1) запустите script на всех запущенных экземплярах (было бы неплохо, если бы это было возможно как-то возможно, например, из boto)

2) добавление script к загрузке для случая, когда я хотел бы изменить размер кластера.

Итак, мой вопрос: возможно ли что-то подобное с помощью boto или по крайней мере AWS CLI? Я просматриваю документацию и исходный код в github, но я не могу понять, как добавить новые действия "bootstrap", когда кластер уже запущен.

Ответ 1

Поздний ответ, но я сделаю снимок:

Это будет сложно.

Вы можете установить агент Amazon SSM и использовать удаленный командный интерфейс для запуска команды для всех экземпляров. Однако вам придется назначить соответствующие роли SSM для экземпляров, что потребует восстановления кластера AFAIK. Однако любые будущие команды не требуют восстановления.

Тогда вы могли бы использовать CLI для запуска команд на всех узлах (вероятно, boto, не проверили это).