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

解鎖完整教學內容

本章為付費內容。加入專案即可解鎖超過 5000 字的深度解析,包含 10 個以上神級 Prompt 與真實 Source Code 範例!