Skip to main content
Back to articles

อ่าน OpenTofu Plan ก่อนเปลี่ยน Infrastructure

tofu plan เปรียบเทียบ configuration กับ state และระบบจริงเพื่อคาดการเปลี่ยนแปลง อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

อ่าน OpenTofu Plan ก่อนเปลี่ยน Infrastructure

tofu plan เปรียบเทียบ configuration กับ state และระบบจริงเพื่อคาดการเปลี่ยนแปลง เหมาะกับการทบทวนโครงสร้างพื้นฐานผ่าน pull request และงานเปลี่ยน production บทความนี้สรุปแนวคิดจากเอกสารทางการของ OpenTofu และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

OpenTofu อ่าน configuration แล้วเทียบกับ state เพื่อวางแผนเปลี่ยน resource จริง การตรวจ plan และเก็บ state อย่างปลอดภัยสำคัญพอ ๆ กับการเขียน configuration

หัวข้อนี้ตอบโจทย์เฉพาะเรื่อง: tofu plan เปรียบเทียบ configuration กับ state และระบบจริงเพื่อคาดการเปลี่ยนแปลง จึงควรเริ่มจากปัญหาที่ต้องแก้และผลลัพธ์ที่คาดหวัง ไม่ใช่เพียงเปิดฟีเจอร์เพราะมีอยู่ในเครื่องมือ

หลักการทำงาน

ผล plan แสดง resource ที่จะสร้าง แก้ หรือทำลายก่อนเรียก apply

ให้ตรวจทั้งสถานะที่เครื่องมือรายงานและผลลัพธ์ปลายทางที่ผู้ใช้หรือระบบอื่นได้รับ หากสองส่วนไม่ตรงกัน ควรกลับไปตรวจค่าตั้งต้นและขอบเขตที่ฟีเจอร์นี้รับผิดชอบก่อนเปลี่ยนค่าเพิ่มเติม

เหมาะกับงานแบบไหน

เหมาะกับการทบทวนโครงสร้างพื้นฐานผ่าน pull request และงานเปลี่ยน production

ก่อนทดลอง ให้ระบุสิ่งที่จะใช้วัดผล เช่น เวลาตอบสนอง ความพร้อมใช้งาน ความถูกต้องของข้อมูล หรือภาระการดูแล แล้วเทียบกับสภาพเดิม วิธีนี้ช่วยให้รู้ว่าฟีเจอร์แก้ปัญหาจริงหรือย้ายภาระไปอีกจุดหนึ่ง

ขั้นตอนนำไปใช้

  1. ตรวจ workspace, backend และ state ที่กำลังใช้งาน
  2. อ่าน plan โดยสนใจ resource ที่จะถูกแทนที่หรือทำลาย
  3. หลัง apply ตรวจ resource จริงและเก็บ plan ที่ผ่านการทบทวน

เริ่มจากขอบเขตเล็กและเก็บผลทดสอบไว้กับการเปลี่ยนแปลง หากจะใช้ใน production ให้กำหนดผู้ติดตามผลและเงื่อนไขที่จะหยุดการขยายการใช้งาน

ข้อควรระวัง

plan อาจล้าสมัยหากระบบเปลี่ยนหลังตรวจ ต้องตรวจความต่างอีกครั้งตอน apply

แปลงข้อควรระวังนี้เป็นรายการตรวจในการทบทวนงาน เพราะปัญหาจากค่าตั้งต้นอาจไม่แสดงทันทีในสภาพแวดล้อมทดสอบ

สรุป

tofu plan เปรียบเทียบ configuration กับ state และระบบจริงเพื่อคาดการเปลี่ยนแปลง เหมาะกับการทบทวนโครงสร้างพื้นฐานผ่าน pull request และงานเปลี่ยน production ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

อ่านเพิ่มเติม: เอกสารทางการของ OpenTofu