Learning
Terraform

Best practice-ek

State és titkok kezelése, remote backend csapatban, strukturált fájlok, változók és címkék.

Best practice-ek

Ne commitold a state fájlt és a titkos értékeket

.terraform/
terraform.tfstate
terraform.tfstate.backup
*.tfvars
.terraform.lock.hcl

Használj remote state-et csapatban

terraform {
  backend "s3" {
    bucket         = "my-tf-state"
    key            = "prod/terraform.tfstate"
    region         = "us-east-1"
    dynamodb_table = "terraform-locks"
  }
}

Strukturáld a fájlokat logikusan

projekt/
├── main.tf
├── network.tf
├── security.tf
├── variables.tf
├── outputs.tf
└── versions.tf

Mindig futtass plan-t apply előtt

terraform plan -out=tfplan
terraform apply tfplan

Használj változókat, ne hardcode-olj

variable "instance_type" {
  default = "t2.micro"
}

resource "aws_instance" "web" {
  instance_type = var.instance_type
  ami           = var.ami_id
}

fmt és validate commit előtt

terraform fmt
terraform validate

Tag-eld az erőforrásokat

resource "aws_instance" "web" {
  tags = {
    Name        = "web-server"
    Environment = var.environment
    Project     = "my-app"
    Owner       = "devops-team"
    ManagedBy   = "terraform"
  }
}

On this page