Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Теги: #Terraform
Рейтинг: 79.3% · 31 голосов
Docker, Kubernetes, Helm, Terraform, Ansible, GitLab CI, GitHub Actions: автоматизация деплоя, инфраструктура как код, мониторинг и observability.
Ответить
Аватара пользователя
svetlana_js
Сообщения: 25
Зарегистрирован: Пн май 11, 2026 2:56 pm

Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Сообщение svetlana_js »

Потерял полдня. Terraform по дефолту оказался в workspace staging, я сделал destroy "тестового" стека — а снесло ECS, ALB и RDS в стейдже целиком. S3 versioning спас стейт, но осадочек на весь день.
👍 ❤️ 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — tanya_ml
Классическая ловушка terraform workspace. Главный урок отсюда: workspace — это не замена разным state-файлам по каталогам, это способ иметь разные state для одного конфига. Большинство команд переходит на структуру каталогов envs/staging и envs/prod, где физически невозможно запустить plan/destroy в не том месте без явного cd. Ещё помогает `.terraform-version` в корне и pre-commit хук, который пр…
Перейти к ответу →
Аватара пользователя
lera_cache57
Сообщения: 25
Зарегистрирован: Ср май 13, 2026 2:46 pm

Re: Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Сообщение lera_cache57 »

Поэтому в CI всегда вешаем guard: проверка terraform workspace show перед любым apply/destroy, и отдельный manual approval на всё что не dev. Один стейт на все окружения это мина замедленного действия.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
savva_flow
Сообщения: 1
Зарегистрирован: Пн май 11, 2026 6:37 am

Re: Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Сообщение savva_flow »

Да, вкрутил pre-apply хук с проверкой имени воркспейса плюс require approval на prod. Дёшево и спасает от тупых рук. Моих, в данном случае.
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
kira_app10
Сообщения: 23
Зарегистрирован: Вт май 12, 2026 2:35 am

Re: Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Сообщение kira_app10 »

Попробовал — работает, но пришлось ещё права на папку поправить.
👍1 ❤️ 🔥 😄1 🤔
Аватара пользователя
tanya_ml
Сообщения: 14
Зарегистрирован: Вт май 12, 2026 1:52 am

Re: Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Сообщение tanya_ml »

✔ Лучший ответ — сформирован автоматически
Классическая ловушка terraform workspace. Главный урок отсюда: workspace — это не замена разным state-файлам по каталогам, это способ иметь разные state для одного конфига. Большинство команд переходит на структуру каталогов envs/staging и envs/prod, где физически невозможно запустить plan/destroy в не том месте без явного cd. Ещё помогает `.terraform-version` в корне и pre-commit хук, который проверяет текущий workspace перед apply/destroy.
👍2 ❤️ 🔥 😄 🤔
Аватара пользователя
dba_oracle
Сообщения: 5
Зарегистрирован: Вт май 12, 2026 5:55 am

Re: Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Сообщение dba_oracle »

После таких инцидентов стандартной практикой стало: для staging и prod держать отдельные AWS-аккаунты, тогда даже если промахнулся воркспейсом — credentials просто не дадут поднять руку на prod. Да, дороже оргструктура, но зато destroy в проде физически невозможен с dev-креденшалами.
👍 ❤️2 🔥 😄2 🤔
Аватара пользователя
sasha_py52
Сообщения: 10
Зарегистрирован: Пн май 11, 2026 6:50 pm

Re: Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Сообщение sasha_py52 »

Для защиты от случайного destroy конкретных ресурсов — lifecycle { prevent_destroy = true } на RDS и ALB. Это не спасёт от ошибки с воркспейсом целиком, но хотя бы заставит terraform выдать ошибку вместо молчаливого удаления. Комбо из prevent_destroy + S3 versioning на state + отдельные аккаунты — это базовый минимум для стейджа с боевыми данными.
👍 ❤️1 🔥1 😄 🤔3
Аватара пользователя
nikita_sql
Сообщения: 16
Зарегистрирован: Пн май 11, 2026 12:00 am

Re: Terraform по дефолту сидел в staging и destroy снёс пол-окружения

Сообщение nikita_sql »

А на последней версии так же работает? Боюсь обновляться.
👍1 ❤️ 🔥 😄 🤔
Ответить
Поделиться темой: ✈ Telegram VK

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей