Я не могу найти документацию о том, что происходит, когда вы вручную связываетесь с объектами Cloudformation.
Я вижу, что он помечает свои объекты, но восстанавливается ли он, если, скажем, кто-то удаляет правило маршрутизации?
РЕДАКТИРОВАТЬ : Просто получил два противоречивых ответов. Я хотел бы запросить некоторую документацию / доказательства, так как я должен решить, какие указания я даю своим коллегам по изменению этих ресурсов.
CloudFormation создает или изменяет ресурсы AWS только во время развертывания, обновления или удаления стека. Он не постоянно «проверяет и применяет» состояния конфигурации отдельных ресурсов стека - определенно может произойти дрейф.
Например, если я разверну стек CF, а затем вручную изменю правило входящей почты в одной из его групп безопасности, эта модификация будет сохраняться до тех пор, пока я не выполню явное обновление CF или повторно разверну стек.
Вот некоторые полезные фрагменты / ссылки:
Вопрос: Могу ли я управлять отдельными ресурсами AWS, которые являются частью стека AWS CloudFormation?
Да. AWS CloudFormation не мешает; Вы сохраняете полный контроль над всеми элементами своей инфраструктуры. Вы можете продолжать использовать все имеющиеся у вас AWS и сторонние инструменты для управления ресурсами AWS.
Обратите внимание, что последняя ссылка относится только к защите ресурсов во время действия обновления CloudFormation, а не к специальным изменениям, вносимым через консоль управления или API для отдельных ресурсов.
У вас есть реальный опыт в этом, или это просто предположение? Цитата из документации ничего не говорит об изменении / отказе от изменения в Cloudformation.
Ницца
4
Да, я развернул много стеков CF и никогда не был свидетелем конфигурации принудительной реализации CF. Раньше я выстрелил себе в ногу, случайно модифицировав несколько SG, которые были частью стека CF и должны были повторно развернуть его. Вы были правы насчет отсутствия документации - это лучшее, что я смог найти за 10 минут.
Адам
2
Под повторным развертыванием вы подразумеваете удаление и развертывание снова, или есть другой способ?
Душан Баджич
4
Если вы возитесь с ресурсами, которые развертывает Cloudformation, ресурсы не будут восстановлены / восстановлены / приведены в соответствие; если вам действительно необходимо обеспечить целостность, вам потребуется повторно развернуть стек.
Насколько я знаю, CloudFormation по существу будет обеспечивать "состояние мира" и исправлять неправильно сконфигурированные ресурсы.
В вашем примере удаленное правило маршрутизации будет воссоздано. Если кто-то изменил проверку работоспособности ELB, она вернется к конфигурации, объявленной в шаблоне.
Я не согласен. Это может быть случай для некоторых ресурсов, но не для других. Например, кто-то удалил пару консолей, созданных CloudFromation, на консоли, и теперь стек не обновляется, потому что не может их найти.
Джефф Странк
@JeffStrunk, потому что CloudFormation не будет воссоздавать ресурс, если не было изменений в свойствах этого ресурса. Он выполняет различие шаблона, а не фактических ресурсов, чтобы определить, должен ли он запускаться для этих ресурсов. Поэтому, если вы удалите ресурс, а затем измените свойство этого ресурса в шаблоне CloudFormation, этот ресурс, скорее всего, будет воссоздан, когда действие обновления не сможет его найти.
Если вы возитесь с ресурсами, которые развертывает Cloudformation, ресурсы не будут восстановлены / восстановлены / приведены в соответствие; если вам действительно необходимо обеспечить целостность, вам потребуется повторно развернуть стек.
источник
Насколько я знаю, CloudFormation по существу будет обеспечивать "состояние мира" и исправлять неправильно сконфигурированные ресурсы.
В вашем примере удаленное правило маршрутизации будет воссоздано. Если кто-то изменил проверку работоспособности ELB, она вернется к конфигурации, объявленной в шаблоне.
источник