Files
tf_provider/docs/30_registry/guides/terraform-basics.md
T
2026-06-30 15:45:24 +04:00

4.7 KiB
Raw Blame History

Справочник по Terraform для начинающих

Terraform — это инструмент для управления инфраструктурой как кодом (IaC). Он позволяет вам описывать желаемое состояние вашей инфраструктуры в текстовых файлах, а затем автоматически создавать, изменять и удалять облачные ресурсы, чтобы они соответствовали этому описанию.

Здесь собраны основные команды, которые вы будете использовать в 99% случаев.

Основной рабочий процесс

1. terraform init

"Инициализация"

Первая команда, которую нужно выполнить в новой директории с конфигурацией.

  • Скачивает необходимые плагины (провайдеры), описанные в main.tf.
  • Настраивает "бэкенд" (хранилище состояния).
terraform init

2. terraform validate

"Проверка синтаксиса"

Проверяет ваши файлы конфигурации (.tf) на наличие синтаксических ошибок и корректность использования атрибутов. Не обращается к облаку, только статический анализ.

terraform validate

3. terraform plan

"План действий"

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

  • + (зеленый): будет добавлено.
  • ~ (желтый): будет изменено.
  • - (красный): будет удалено.
terraform plan

4. terraform apply

"Применение"

Выполняет действия, запланированные на предыдущем шаге. Создает, меняет или удаляет реальные ресурсы в облаке Nubes.

  • Всегда запрашивает подтверждение yes перед стартом (если не указан флаг -auto-approve).
terraform apply

5. terraform destroy

"Уничтожение"

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

  • Также требует подтверждения yes.
terraform destroy

Дополнительные полезные команды

  • terraform fmt: Автоматически форматирует ваш код (расставляет отступы), делая его красивым и аккуратным.
  • terraform output: Выводит значения "outputs", если вы их определили (например, IP-адреса созданных серверов).
  • terraform state list: Показывает список ресурсов, про которые "знает" терраформ в данный момент.

Когда использовать terraform state rm

terraform state rm удаляет ресурс только из Terraform state, но не удаляет его в облаке.

Используйте эту команду, когда:

  • ресурс уже удалён в облаке вручную/вне Terraform;
  • plan падает ошибкой вида "экземпляр ... удален";
  • нужно заставить Terraform считать ресурс новым и создать его заново на следующем apply.

Пример:

terraform state rm nubes_postgres.db2
terraform plan
terraform apply

Отличие от terraform import

  • terraform state rm — "забыть" ресурс в state.
  • terraform import — "подхватить" уже существующий ресурс в state.

Если ресурс в облаке действительно удалён, обычно нужен именно state rm, а не import.


!!! tip "Совет" Всегда выполняйте terraform plan перед apply, чтобы убедиться, что вы случайно не удаляете важные ресурсы.