📄️ What is State?
State = ฐานข้อมูลที่ Terraform ใช้ track resource ที่จัดการอยู่ — เป็นหัวใจของ Terraform!
📄️ Remote State
เก็บ state ไว้ที่ remote backend (S3, GCS, Azure Blob, Terraform Cloud) แทน local file — เป็น มาตรฐานของทุก production
📄️ State Locking
State Lock ป้องกัน 2 คนรัน apply พร้อมกัน — ไม่ให้ state corrupt
📄️ Import Existing Resources
นำ resource ที่สร้างใน console (หรือ tool อื่น) มาให้ Terraform manage — โดยไม่ต้องสร้างใหม่
📄️ Splitting State Files
เมื่อ project ใหญ่ขึ้น → แยก state file ออกเป็นหลายส่วน — เพื่อ blast radius เล็ก, plan เร็ว, ทีมทำงานคู่ขนาน
📄️ State Versioning
เก็บ history ของ state file — เพื่อ recovery ถ้าเสีย, audit ใครเปลี่ยนอะไร
📄️ Sensitive Data in State
State file มักมี secrets (passwords, keys, tokens) เป็น plain text — เรียนวิธีจัดการ + ป้องกัน
📄️ Best Practices for State
สรุป best practices การจัดการ Terraform state — สำหรับ production-grade setup