พื้นฐานการจัดการสถานะ
ทำความเข้าใจแนวคิดสถานะของ Terraform เหตุผลที่สถานะมีความสำคัญต่อการติดตามทรัพยากรที่นำไปใช้งาน และวิธีจัดการไฟล์สถานะภายในเครื่อง
พื้นฐานการจัดการสถานะ เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
สถานะของเทอร์ราฟอร์มคืออะไร
สถานะของเทอร์ราฟอร์มเปรียบเสมือนความทรงจำสำหรับโครงสร้างพื้นฐานของคุณ ซึ่งเป็นภาพบันทึกของทรัพยากรที่เทอร์ราฟอร์มจัดการอยู่
ลองนึกภาพว่าสถานะเป็นฐานข้อมูลสำคัญที่ติดตามสิ่งที่เทอร์ราฟอร์มสร้างและกำหนดค่าไว้ในโลกจริง ซึ่งก็คือผู้ให้บริการคลาวด์ของคุณ
เหตุใดสถานะจึงสำคัญ
สถานะมีความสำคัญเพราะช่วยให้เทอร์ราฟอร์มสามารถ:
- จับคู่ทรัพยากร: ทราบว่าทรัพยากรคลาวด์จริงรายการใดสอดคล้องกับบล็อกทรัพยากรใดในการกำหนดค่าของคุณ
- ติดตามข้อมูลกำกับ: จัดเก็บแอตทริบิวต์ของทรัพยากรที่ไม่ได้อยู่ในการกำหนดค่าของคุณ เช่น ID หรือที่อยู่ IP
- วางแผนการเปลี่ยนแปลง: เปรียบเทียบสถานะที่ต้องการ ซึ่งคือการกำหนดค่าของคุณ กับสถานะปัจจุบัน ซึ่งคือไฟล์สถานะ เพื่อพิจารณาว่าต้องสร้าง อัปเดต หรือลบสิ่งใด
บทบาทของสถานะในขั้นตอนการทำงาน
เมื่อคุณเรียกใช้ terraform apply เทอร์ราฟอร์มจะดูไฟล์ .tf ของคุณก่อนเพื่อทำความเข้าใจว่าคุณ ต้องการอะไร จากนั้นจะตรวจสอบไฟล์สถานะเพื่อดูว่า มีอะไรอยู่ในปัจจุบัน
เทอร์ราฟอร์มจะเปรียบเทียบข้อมูลทั้งสองส่วนเพื่อสร้าง "แผน" สำหรับไปสู่การตั้งค่าโครงสร้างพื้นฐานที่คุณต้องการ หลังจากนำไปใช้แล้ว ระบบจะอัปเดตไฟล์สถานะให้ตรงกับความเป็นจริงใหม่
ทำความรู้จักกับ `terraform.tfstate`
โดยค่าเริ่มต้น เทอร์ราฟอร์มจะจัดเก็บสถานะไว้ในเครื่องในไฟล์ชื่อ terraform.tfstate ภายในไดเรกทอรีทำงานของคุณ
ไฟล์นี้เป็นเอกสาร JSON ที่มีการจับคู่การกำหนดค่าของคุณกับทรัพยากรในโลกจริงอย่างครบถ้วน
ทรัพยากรรายการแรกของเรา
มาใช้ null_resource แบบง่ายเพื่อดูว่าสถานะถูกสร้างขึ้นอย่างไร ทรัพยากรนี้ไม่ได้สร้างสิ่งใดในคลาวด์ แต่เทอร์ราฟอร์มยังคงติดตามทรัพยากรนี้
บันทึกสิ่งนี้เป็น main.tf:
resource "null_resource" "my_example" {
triggers = {
always_run = timestamp()
}
}สร้างไฟล์สถานะ
ขั้นแรก ให้เริ่มต้นเทอร์ราฟอร์ม จากนั้นนำการกำหนดค่าไปใช้เพื่อสร้างทรัพยากรและไฟล์ terraform.tfstate
เรียกใช้คำสั่งเหล่านี้ในเทอร์มินัลของคุณ:
terraform init
terraform apply --auto-approveแสดงรายการทรัพยากรในสถานะ
เมื่อ apply ทำงานเสร็จแล้ว คุณจะมีไฟล์ terraform.tfstate อยู่ คุณสามารถตรวจสอบเนื้อหาของไฟล์ได้โดยใช้คำสั่ง CLI ของเทอร์ราฟอร์ม
ใช้ terraform state list เพื่อดูทรัพยากรทั้งหมดที่ติดตามอยู่ในสถานะ:
terraform state listแสดงรายละเอียดทรัพยากร
หากต้องการดูข้อมูลโดยละเอียดของทรัพยากรเฉพาะรายการจากไฟล์สถานะ ให้ใช้ terraform state show ตามด้วยที่อยู่ของทรัพยากร
ลองใช้กับ null_resource ของเรา:
terraform state show null_resource.my_exampleอย่าแก้ไขสถานะด้วยตนเอง!
ไฟล์ terraform.tfstate มีความสำคัญและซับซ้อนมาก อย่าแก้ไขไฟล์นี้โดยตรงด้วยตนเองเด็ดขาด
การแก้ไขด้วยตนเองอาจทำให้สถานะเสียหาย และนำไปสู่:
- โครงสร้างพื้นฐานไม่สอดคล้องกัน
- เทอร์ราฟอร์มสูญเสียการติดตามทรัพยากร
- ทรัพยากรถูกลบหรือสร้างขึ้นโดยไม่คาดคิด
ให้ใช้คำสั่ง CLI ของเทอร์ราฟอร์มเสมอ เช่น terraform state mv เพื่อจัดการสถานะ
ตรวจสอบความเข้าใจเรื่องการจัดการสถานะ
ข้อใดต่อไปนี้กล่าวถึงสถานะของเทอร์ราฟอร์มได้ถูกต้อง
สรุปการจัดการสถานะ
ในบทเรียนนี้ เราได้สำรวจสถานะของเทอร์ราฟอร์ม ซึ่งเป็นองค์ประกอบสำคัญสำหรับติดตามโครงสร้างพื้นฐานของคุณ
- เราได้เรียนรู้ว่าสถานะจับคู่การกำหนดค่าของคุณกับทรัพยากรในโลกจริง
- ไฟล์สถานะภายในเครื่องมีชื่อว่า
terraform.tfstate - คำสั่งอย่าง
terraform state listและterraform state showช่วยตรวจสอบสถานะได้ - อย่าแก้ไขไฟล์สถานะด้วยตนเอง เพื่อป้องกันความเสียหาย
การทำความเข้าใจสถานะเป็นพื้นฐานสำคัญของการใช้เทอร์ราฟอร์มอย่างมีประสิทธิภาพ!
คำถามที่พบบ่อย
บทเรียน “พื้นฐานการจัดการสถานะ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นฐานการจัดการสถานะ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐานการจัดการสถานะ”
ทำความเข้าใจแนวคิดสถานะของ Terraform เหตุผลที่สถานะมีความสำคัญต่อการติดตามทรัพยากรที่นำไปใช้งาน และวิธีจัดการไฟล์สถานะภายในเครื่อง คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “พื้นฐานการจัดการสถานะ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ผู้ให้บริการและทรัพยากร
- ตัวแปรและผลลัพธ์
- พื้นฐานการจัดการสถานะ
- โมดูลและการใช้โค้ดซ้ำ