Terraform State 管理
Vibe Prompt
「幫我設定 Terraform 遠端 State 儲存在 S3,並使用 DynamoDB 做 Lock。」
terraform {
backend "s3" {
bucket = "my-terraform-state-bucket"
key = "prod/terraform.tfstate"
region = "ap-northeast-1"
dynamodb_table = "terraform-state-lock"
encrypt = true
}
}
為什麼需要 State?
Terraform State 記錄了實際雲端資源與設定檔的對應關係。如果 State 遺失,Terraform 就不知道哪些資源是它管理的。
State 最佳實踐
- ✅ 遠端儲存(S3 / GCS / Azure Storage)
- ✅ 啟用 Lock 防止多人同時變更
- ✅ 啟用加密
- ❌ 不要手動編輯 State 檔案
- ❌ 不要將 State 提交到 Git