CertMaster

🏗️ Terraform State

State file, Backend, Remote State, State commands

Terraform Associate · TF-Associate · ⏱️ 22 min · ❓ 4 вопр.

📄 Что такое Terraform State?

`terraform.tfstate` — реальное состояние инфраструктуры. Terraform хранит маппинг ресурсов и метаданные. State — это "мозг" Terraform. Sensitive data может храниться в state (пароли, API keys) — храните в безопасном месте!

☁️ Remote Backend

Хранение state удалённо (необходимо для работы в команде). Backends: S3 + DynamoDB (locking), Azure Blob, GCS, Terraform Cloud. State locking — только один человек может выполнять apply одновременно. State encryption.

🔧 State Commands

`terraform state list` — список ресурсов. `terraform state show` — детали ресурса. `terraform state mv` — переименование/перемещение ресурса. `terraform state rm` — удаление из state (без воздействия на инфраструктуру). `terraform import` — добавление существующего ресурса в state.

🔒 State Locking

Предотвращение одновременного apply. S3 backend + DynamoDB LockTable. Если lock завис: `terraform force-unlock LOCK_ID`. Terraform Cloud — встроенный locking.
💡 Ключевые моменты
📋 Пример кода
# Remote Backend (S3 + DynamoDB)
terraform {
  backend "s3" {
    bucket         = "my-terraform-state"
    key            = "prod/terraform.tfstate"
    region         = "us-east-1"
    dynamodb_table = "terraform-lock"
    encrypt        = true
  }
}

# State buyruqlari
terraform state list
terraform state show aws_instance.web
terraform state mv aws_instance.old aws_instance.new
terraform state rm aws_instance.to_remove
terraform import aws_instance.existing i-1234567890abcdef0
🎯 Советы для экзамена
⚠️ Частые ошибки
🧠 Для запоминания: "S3=Store, DynamoDB=Lock" — для Remote backend нужны оба сервиса. "rm=remove tracking, import=add tracking"

Проверьте себя по теме «Terraform State»

Бесплатные интерактивные тесты, пробный экзамен и полные уроки — на платформе CertMaster.

Начать бесплатно →