Terraform state

  1. Что такое Terraform state?

• State-файл (terraform.tfstate) хранит текущее состояние инфраструктуры и сопоставляет описанные в HCL ресурсы с реальными объектами в облаке.

• Это позволяет Terraform определять, какие изменения нужно внести при terraform apply.

  1. Где его хранят?

Локально (terraform.tfstate в рабочей директории) → не подходит для командной работы.

Удаленно (S3, GCS, Azure Blob, Terraform Cloud) → позволяет совместную работу и контроль версий.

  1. Какие проблемы могут возникнуть?

Конфликты при одновременной работе → решается блокировками (dynamodb для S3 backend).

Компрометация чувствительных данных → решается с terraform state encrypt, terraform_remote_state, использование vault.

Потеря state-файла → если удален без бэкапа, теряется возможность управлять ресурсами Terraform. • Если state удален, но инфраструктура еще есть → terraform import поможет. • Если state удален и инфраструктуры нетпотеряно безвозвратно. • Вывод: Обязательно настраивай бэкапы state-файлов! (S3 + DynamoDB, GCS, Azure Blob).