Skip to main content
Back to articles

นำ Resource เดิมเข้าการดูแลของ OpenTofu ด้วย Import

import เชื่อมวัตถุที่สร้างไว้แล้วกับ address ใน state อธิบายหลักการใช้งาน กรณีที่เหมาะ และข้อควรระวังจากเอกสารทางการ

นำ Resource เดิมเข้าการดูแลของ OpenTofu ด้วย Import

import เชื่อมวัตถุที่สร้างไว้แล้วกับ address ใน state เหมาะกับการย้ายเซิร์ฟเวอร์หรือบริการคลาวด์ที่สร้างด้วยมือเข้าสู่ infrastructure as code บทความนี้สรุปแนวคิดจากเอกสารทางการของ OpenTofu และจุดที่ควรตรวจเมื่อนำไปใช้จริง

ภาพรวม

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

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

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

หลัง import ต้องเขียน configuration ให้ตรงพฤติกรรมจริงและตรวจ plan อีกครั้ง

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

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

เหมาะกับการย้ายเซิร์ฟเวอร์หรือบริการคลาวด์ที่สร้างด้วยมือเข้าสู่ infrastructure as code

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

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

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

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

ข้อควรระวัง

import ไม่ได้สร้าง configuration ที่สมบูรณ์ให้อัตโนมัติ และการจับคู่ผิดอาจทำให้ plan จะลบหรือแก้ทรัพยากร

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

สรุป

import เชื่อมวัตถุที่สร้างไว้แล้วกับ address ใน state เหมาะกับการย้ายเซิร์ฟเวอร์หรือบริการคลาวด์ที่สร้างด้วยมือเข้าสู่ infrastructure as code ก่อนนำไปใช้กับงานหลัก ควรตรวจผลตามขั้นตอนข้างต้นและทบทวนข้อจำกัดของระบบที่มีอยู่

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