Вступить в клуб →
средняявопросCI/CD и инфраструктура как код

Два инженера применяют Terraform с локальным состоянием

Инфраструктура описана в Terraform, файл состояния лежит в рабочем каталоге у каждого инженера и в репозиторий не коммитится. Двое одновременно работали над сетевой частью, каждый выполнил apply у себя.

Итог: часть ресурсов задублирована, у одного из инженеров следующий план предлагает удалить объекты, созданные другим, а фактическая конфигурация не совпадает ни с одним локальным состоянием.

Что здесь принципиально устроено неправильно?

  • Файл состояния нужно коммитить в Git вместе с кодом: тогда обе копии синхронизируются обычным `git pull`, а расхождения будут разрешаться при слиянии веток
  • Каждому инженеру нужен свой workspace: одна конфигурация не рассчитана на параллельную работу двух человек, и разделение окружений снимает конфликт состояний
  • Состояние должно храниться в общем удалённом бэкенде с блокировкой, чтобы у всех был единый источник правды, а параллельные apply были невозможны
  • Перед apply достаточно всегда выполнять plan: он подтянет актуальную конфигурацию из облака и расхождения не будет

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела