how/state
Кто-то ткнул тег в AWS Console - и Terraform внезапно показывает изменения. Что такое drift, почему он бывает, и три способа с ним жить.
Дрейф - это когда реальное состояние ресурса в облаке расходится с тем, что Terraform держит у себя в state.
Бывает по разным причинам:
Жми ▶ - посмотрим жизненный цикл одного дрейфа: как он появился, как Terraform его увидел, и три способа разрешить.
Сразу после успешного terraform apply все три источника правды
совпадают: HCL описывает бакет с тегом Owner = "student", state знает
про этот тег, в AWS висит ровно такой бакет.
Это базовое состояние Terraform. Любой повторный plan чистый.
итого
Три стратегии работы с дрейфом:
terraform apply приведёт облако к HCL.
Подходит, когда HCL - правда, а в облаке - ошибка.main.tf так, чтобы он отражал новую правду, и делаешь
apply (или refresh + ручной правкой state-блока).Какую стратегию когда:
Регулярная проверка на drift в CI (см. tf-drift-detection) - обязательна в продакшне. Дрейф, который никто не видит, превращается в инцидент.