Terraform state
- Что такое Terraform state?
• State-файл (terraform.tfstate) хранит текущее состояние инфраструктуры и сопоставляет описанные в HCL ресурсы с реальными объектами в облаке.
• Это позволяет Terraform определять, какие изменения нужно внести при terraform apply.
- Где его хранят?
• Локально (terraform.tfstate в рабочей директории) → не подходит для командной работы.
• Удаленно (S3, GCS, Azure Blob, Terraform Cloud) → позволяет совместную работу и контроль версий.
- Какие проблемы могут возникнуть?
• Конфликты при одновременной работе → решается блокировками (dynamodb для S3 backend).
• Компрометация чувствительных данных → решается с terraform state encrypt, terraform_remote_state, использование vault.
• Потеря state-файла → если удален без бэкапа, теряется возможность управлять ресурсами Terraform. • Если state удален, но инфраструктура еще есть → terraform import поможет. • Если state удален и инфраструктуры нет → потеряно безвозвратно. • Вывод: Обязательно настраивай бэкапы state-файлов! (S3 + DynamoDB, GCS, Azure Blob).