Как предотвратить случайное удаление production-ресурсов в Terraform

Ноу-хау 11.03.2026 · 5 мин чтение

Инциденты из‑за случайного delete в продакшене приводят к простоям, потере данных и росту затрат. Ниже — проверенные нами практики для Terraform и облачных провайдеров, которые создают многоуровневую защиту.

В «Индевлабс» мы уделяем особое внимание защите данных и устойчивости инфраструктуры. Инфраструктуру можно восстановить за минуты благодаря IaC, но вернуть удалённые данные значительно сложнее.

Почему случаются удаления

  • Человеческий фактор: отсутствие сценариев защиты от «дурака», опечатки, опасные алиасы.
  • Избыточные права: любой пользователь или сервис аккаунт «админ» и отсутствие сегментации.
  • Некорректные политики в GitOps/IaC: неконтролируемое prune или destroy.
  • Неявные зависимости: каскадные удаления из‑за ownerReferences.
  • Отсутствие аудит‑логов и алертов: инцидент замечают слишком поздно.

Базовые принципы защиты

  • Принцип наименьших привилегий.
  • Разделение окружений и доступов: prod отдельно, отдельные кластеры/аккаунты.
  • Политики как код + обязательное ревью и подтверждения.
  • Защита жизненоважных ресурсов от удаления на уровне провайдера облачных вычислений, а так же на уровне IaC.
  • Регулярные проверки восстановления: бэкапы, сценарии DR, учения DR Drills.

Terraform: не даём себе выстрелить в ногу

  • lifecycle { prevent_destroy = true } для баз данных, секретов, S3/GCS, ключевых VPC.
  • Обязательный ревью terraform plan изменений.
  • Вывод ресурса предназначеного для хранения стэйта из под конотроля IaC.
  • Ни в коем случае не храним прод стейт локально, используйте удаленный backend (S3 например).
  • Включайте state locking (DynamoDB, Cloud Storage locking).
  • Ограничивайте доступ к state только CI/CD.
  • Не разрешайте ручные terraform apply в production.

Облака: встраиваем защиту удаления

Большинство облачных провайдеров имеют встроеную защиту ресурса от удаления. Это как раз и есть самый простой сценарий защиты от «дурака». Для чувствительных ресурсов, таких как базы данных, хранилища итд, должна быть активирована.

Бэкапы и восстановление без паники

  • Классическая стратегия резервного копирования подразумевает хранение информации в другом ЦОД. Это как раз защищает ваши данные от ошибочного удаления всех ресурсов в вашем окружении.
  • Хранилище для резервного копирования не должно быть под контролем IaC, обычно его не так сложно создать и открываете вы его только по необходимости.
  • Делайте DR учения, это полезно хотя бы что бы понять сколько процес занимает,к скольки времени простоя это приводит.
  • Создайте и поддерживайте руководство по востановлению ресурсов, что бы не тратить время в моменте Х.

Чем поможет «Индевлабс»

Мы предоставляем услуги DevOps и услуги по разработке ПО: аудит инфраструктуры, внедрение GitOps и политик OPA/Kyverno, настройку IaC‑гейткиперов, бэкапов и DR, а также автоматизацию релизов и оптимизацию бюджетов. Мы проектируем решения для бизнеса любого масштаба, ускоряем релизы и снижаем затраты.

  • Экспресс‑аудит продакшена и политик за 2 недели.
  • Внедрение предохранителей удаления в Terraform и облаках.
  • Практическая оптимизация расходов на инфраструктуру без компромиссов по SLO.

Готовы снизить риски и затраты? Свяжитесь с нами, чтобы получить план действий под ваш стек и провести пилот за 14 дней.

Оставаясь на сайте, Вы даете свое согласие на использование файлов cookie и на обработку персональных данных