Terraform ломается не на коде, а на хаосе в state и модулях
Если infra уже живёт дольше одного проекта, Terraform быстро перестаёт быть “просто IaC”. Основные проблемы обычно не в ресурсах, а в том, как команда обращается со state, переменными и зависимостями между модулями.
Что держать под контролем:
— state должен быть один на один окружение, без ручных правок и копипасты между проектами;
— модули стоит делать маленькими и предсказуемыми: один модуль — одна зона ответственности;
— переменные лучше валидировать явно, а не надеяться на “и так прокатит”;
— план и apply должны идти только через ci_cd, иначе drift появляется незаметно;
— любые секреты — мимо репозитория, даже если “внутри всё своё”.
Ещё одна типовая ошибка — смешивать в одном Terraform-контуре сетевую базу, compute и прикладные сервисы. Потом любой harmless change начинает пересобирать лишнее, а разбор плана превращается в расследование. Для kubernetes, DNS, балансеров и VM лучше держать отдельные границы и не связывать их лишними зависимостями.
Если Terraform стал медленным и нервным, сначала режьте связность, потом усложняйте модули. В infra выигрывает не самый умный код, а самый предсказуемый workflow.
Compliance Brief — регуляторика рынка
@compliance_brief
Terraform ломается не на коде, а на хаосе в state и модулях
Этот пост опубликован в Telegram-канале Compliance Brief — регуляторика рынка. Подписаться можно по ссылке: @compliance_brief.