AWS Cloudformation та зміни вручну


10

Я не можу знайти жодної документації про те, що відбувається, коли ви вручну возитися з об’єктами Cloudformation.
Я бачу, що вона позначає свої об'єкти, але чи відновляється, якщо, скажімо, хтось видаляє правило маршрутизації?

EDIT : Просто отримав дві суперечливі відповіді. Я хотів би попросити деяку документацію / докази, оскільки я маю вирішити, які вказівки я даю своїм колегам щодо зміни цих ресурсів.

Відповіді:


8

CloudFormation створює або змінює лише AWS-ресурси під час розгортання, оновлення чи видалення стека. Він не постійно "перевіряє та застосовує" конфігураційні режими "окремих ресурсів стека" - безумовно, може виникнути дрейф.

Наприклад, якщо я розгорнутиму CF Stack, а потім пізніше вручну змінити Вхідне правило на одній зі своїх груп безпеки, ця модифікація зберігатиметься, поки я не запустять явне оновлення 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 / уникнення зміни ваших налаштувань.
Nitz

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.