Назад | Перейти на главную страницу

Как я могу массово обновлять стеки CloudFormation, сохраняя неизменными параметры?

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

Я попытался сделать это, создав группу ресурсов и используя Systems Manager для запуска команды автоматизации, но:

  1. Тип ресурса CloudFormation::Stack не отображается в System Manager, что ограничивает меня фильтрацией на основе тегов
  2. Теги, которые я установил в CloudFormation, не применяются к стекам, они применяются только к ресурсам в этих стеках.

Есть ли другой способ массового обновления стеков? В идеале тот, который позволяет мне автоматизировать сами обновления.

Прежде всего, вы должны добавить один и тот же тег для всех шаблонов одного типа при создании ваших стеков с помощью CloudFormation.

1) После этого просто перейдите в Системный менеджер > Управление приложением > Группы ресурсов.

2) Выберите: Создать группу ресурсов.

3) Вкл. Тип группы, выберите На основе тегов.

4) на Групповые критерии, под Типы ресурсов, выберите AWS :: CloudFormation :: Stack. Введите тег Ключ и Стоимость который вы настроили свой стек. В моем случае: стековый так как Ключ, и CodePipeline-Template1 так как Стоимость.

5) Определите название вашей группы и сохраните.

6) После сохранения группы ресурсов. Перейти к Системный менеджер > Управление приложением > Группы ресурсов. Выберите недавно созданную группу ресурсов и нажмите Посмотреть детали. Нажмите Выполнить автоматизацию и выберите AWS-UpdateCloudFormationStack вариант.

7) Под Выполнить документ автоматизации, выберите Контроль скорости.

8) Под Цели, для Параметр, выберите StackNameOrId. Для Цели, выберите Группа ресурсов. И для Resouce Groupвведите название недавно созданной группы ресурсов.

9) Под Входные параметры, выполнить TemplateUrl параметр с URL-адресом шаблона, который вы будете обновлять свои стеки. И LambdaAssumeRole параметр с ролью, используемой для выполнения операций от вашего имени.

10) Нажмите Выполнить.

У меня недостаточно опыта работы с CF. Может помочь вложенные стеки. https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html