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

Ресурс создали руками в инциденте — как вернуть его под Terraform

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

resource "cloud_lb" "public" {
  name = "lb-prod-public"
  ...
}

Запускать terraform apply в этой ситуации опасно: провайдер либо создаст второй балансировщик, либо упадёт на конфликте имени, а трафик сейчас идёт через созданный вручную.

Какой порядок действий здесь корректен?

  • Импортировать существующий балансировщик в состояние, затем проверить планом, что расхождений с кодом нет, и довести код до фактической конфигурации
  • Выполнить обновление состояния (`terraform refresh`): Terraform сам найдёт существующий балансировщик по имени и подхватит его под управление без дополнительных действий
  • Удалить ресурс из состояния и применить конфигурацию заново — так Terraform создаст объект уже под своим управлением
  • Пометить ресурс на пересоздание, чтобы Terraform заменил ручной объект на свой и привёл конфигурацию к коду

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

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

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

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