AWS: CloudFormation Drift – обнаружение изменений

Автор: | 14/11/2018
 

Вчера в блоге AWS появилась преинтереснейшая новость: AWS CloudFormation обзавёлся поддержкой изменений в стеке, выполеннных вручную.

Очень частовстречающая проблема при использовании CloudFormation заключается в том, что он не обращает внимание на внесённые изменения, которые не были добавлены в шаблон. В результате – это иногда приводило к проблемам при апдейте стека.

Теперь появилась возможность перед апдейтом проверить текущее состояние инфраструктуры, и сравнить его с шаблоном CF, из которого был создан стек.

Документация – тут>>>.

Работает он аналогично Change Set-ам – в меню Actions выбирается новая опция Drift, CF создаёт “снимок” текущего состояния, и сранивает с шаблоном, из которог остек был создан.

Пример:

В Details есть список ресурсов с изменениями:

Теперь можно добавить изменения в шаблон или внести изменения в ресурс вручную и вернуть его в исходное состояние перед выполнением обновления.

Осталось только выяснить почему у некоторых стеков при повторном запуске Drift появляется ошибка “DETECTION_FAILED” (первая проверка прошла нормально), при чём при перезапуске – список “failed” ресурсов отличается. Учитывая, что функционал только ввели – может просто какие-то баги у AWS.

В любом случае – крайне полезная возможность.

Ещё пришла в голову мысль, что можно автоматизировать такие проверки, и делать алерты на изменения. CloudTrail вещь хорошая, но использование Drift – тоже вариант.