Learning
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
*.tfvars

Remote 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"
  }
}

On this page