Допустим, у меня есть несколько стеков CloudFormation, созданных из одного шаблона. После внесения изменений в шаблон я хочу, чтобы все стеки были обновлены до новой версии шаблона.
Я попытался сделать это, создав группу ресурсов и используя Systems Manager для запуска команды автоматизации, но:
CloudFormation::Stack
не отображается в System Manager, что ограничивает меня фильтрацией на основе теговЕсть ли другой способ массового обновления стеков? В идеале тот, который позволяет мне автоматизировать сами обновления.
Прежде всего, вы должны добавить один и тот же тег для всех шаблонов одного типа при создании ваших стеков с помощью 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