Я не могу найти никакой документации о том, что происходит, когда вы вручную вмешиваетесь в объекты Cloudformation.
Я вижу, что он помечает свои объекты, но восстанавливается ли он, если, скажем, кто-то удаляет правило маршрутизации?
РЕДАКТИРОВАТЬ: Только что получил два противоречивых ответа. Я хотел бы запросить некоторую документацию/доказательства, поскольку мне нужно решить, какие указания я дам своим коллегам по поводу изменения этих ресурсов.
решение1
CloudFormation создает или изменяет ресурсы AWS только во время развертывания, обновления или удаления стека. Он не выполняет постоянную «проверку и обеспечение» конфигурационных состояний отдельных ресурсов стека — дрейф определенно может иметь место.
Например, если я разверну стек CF, а затем вручную изменю входящее правило в одной из его групп безопасности, это изменение сохранится до тех пор, пока я не запущу явное обновление CF или не разверну стек повторно.
Вот несколько полезных фрагментов/ссылок:
В: Могу ли я управлять отдельными ресурсами AWS, входящими в стек AWS CloudFormation?
Да. AWS CloudFormation не мешает; вы сохраняете полный контроль над всеми элементами своей инфраструктуры. Вы можете продолжать использовать все имеющиеся у вас инструменты AWS и сторонних поставщиков для управления ресурсами AWS.
Обновления стеков AWS CloudFormation: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html
Запретить обновления ресурсов стека: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html
Обратите внимание, что последняя ссылка относится только к защите ресурсов во время действия обновления CloudFormation, а не к специальным изменениям, вносимым через консоль управления или API в отдельные ресурсы.
решение2
Если вы вмешаетесь в ресурсы, которые развертывает Cloudformation, ресурсы не будут восстановлены/возвращены/приведены в соответствие; если вам действительно нужно обеспечить целостность, вам придется повторно развернуть стек.
решение3
Насколько мне известно, CloudFormation по сути будет обеспечивать соблюдение «состояния мира» и корректировать неправильно настроенные ресурсы.
В вашем примере будет воссоздано удаленное правило маршрутизации. Если кто-то изменил проверку работоспособности ELB, она будет сброшена обратно к конфигурации, объявленной в шаблоне.