Terraform
State kezelés
Mi a state fájl, miért fontos, miért nem commitoljuk, és mi az a remote state.
State kezelés
Mi az a state fájl?
A Terraform a terraform.tfstate nevű JSON fájlban tárolja az aktuális állapotot és a kezelt erőforrások azonosítóit.
terraform.tfstate (leegyszerűsítve)
┌─────────────────────────────────────────┐
│ resources: │
│ - aws_instance.example │
│ id: i-0a1b2c3d4e5f │
│ instance_type: t2.micro │
└─────────────────────────────────────────┘Ne commitold a state fájlt!
A state érzékeny adatokat is tartalmazhat. Tedd .gitignore-ba:
.terraform/
terraform.tfstate
terraform.tfstate.backup
*.tfvarsRemote state
Csapatban érdemes közös (remote) backend-et használni (pl. S3).
terraform {
backend "s3" {
bucket = "my-terraform-state-bucket"
key = "prod/terraform.tfstate"
region = "us-east-1"
}
}