AWS Cloudformation и ручные изменения


10

Я не могу найти документацию о том, что происходит, когда вы вручную связываетесь с объектами Cloudformation.
Я вижу, что он помечает свои объекты, но восстанавливается ли он, если, скажем, кто-то удаляет правило маршрутизации?

РЕДАКТИРОВАТЬ : Просто получил два противоречивых ответов. Я хотел бы запросить некоторую документацию / доказательства, так как я должен решить, какие указания я даю своим коллегам по изменению этих ресурсов.

Ответы:


8

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 для отдельных ресурсов.


1
У вас есть реальный опыт в этом, или это просто предположение? Цитата из документации ничего не говорит об изменении / отказе от изменения в Cloudformation.
Ницца

4
Да, я развернул много стеков CF и никогда не был свидетелем конфигурации принудительной реализации CF. Раньше я выстрелил себе в ногу, случайно модифицировав несколько SG, которые были частью стека CF и должны были повторно развернуть его. Вы были правы насчет отсутствия документации - это лучшее, что я смог найти за 10 минут.
Адам

2
Под повторным развертыванием вы подразумеваете удаление и развертывание снова, или есть другой способ?
Душан Баджич

4

Если вы возитесь с ресурсами, которые развертывает Cloudformation, ресурсы не будут восстановлены / восстановлены / приведены в соответствие; если вам действительно необходимо обеспечить целостность, вам потребуется повторно развернуть стек.


0

Насколько я знаю, CloudFormation по существу будет обеспечивать "состояние мира" и исправлять неправильно сконфигурированные ресурсы.

В вашем примере удаленное правило маршрутизации будет воссоздано. Если кто-то изменил проверку работоспособности ELB, она вернется к конфигурации, объявленной в шаблоне.


4
Я не согласен. Это может быть случай для некоторых ресурсов, но не для других. Например, кто-то удалил пару консолей, созданных CloudFromation, на консоли, и теперь стек не обновляется, потому что не может их найти.
Джефф Странк

@JeffStrunk, потому что CloudFormation не будет воссоздавать ресурс, если не было изменений в свойствах этого ресурса. Он выполняет различие шаблона, а не фактических ресурсов, чтобы определить, должен ли он запускаться для этих ресурсов. Поэтому, если вы удалите ресурс, а затем измените свойство этого ресурса в шаблоне CloudFormation, этот ресурс, скорее всего, будет воссоздан, когда действие обновления не сможет его найти.
JacksonHaenchen
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.