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.hclHaszná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.tfMindig futtass plan-t apply előtt
terraform plan -out=tfplan
terraform apply tfplanHaszná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 validateTag-eld az erőforrásokat
resource "aws_instance" "web" {
tags = {
Name = "web-server"
Environment = var.environment
Project = "my-app"
Owner = "devops-team"
ManagedBy = "terraform"
}
}