0Pricing
Terraform Infrastructure as Code · บทเรียน

พื้นฐานการจัดการสถานะ

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

พื้นฐานการจัดการสถานะ เป็นบทเรียน Terraform Infrastructure as Code ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Terraform Infrastructure as Code และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Terraform Infrastructure as Code มีบทเรียนทั้งหมด 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) และปลดล็อคส่วนที่เหลือของคอร์ส Terraform Infrastructure as Code ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Terraform Infrastructure as Code มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐานการจัดการสถานะ”

ทำความเข้าใจแนวคิดสถานะของ Terraform เหตุผลที่สถานะมีความสำคัญต่อการติดตามทรัพยากรที่นำไปใช้งาน และวิธีจัดการไฟล์สถานะภายในเครื่อง คุณปฏิบัติ Terraform Infrastructure as Code ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Terraform Infrastructure as Code หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Terraform Infrastructure as Code บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “พื้นฐานการจัดการสถานะ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Terraform Infrastructure as Code นี้ได้ไหม

ได้ บทเรียน Terraform Infrastructure as Code ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ผู้ให้บริการและทรัพยากร
  2. ตัวแปรและผลลัพธ์
  3. พื้นฐานการจัดการสถานะ
  4. โมดูลและการใช้โค้ดซ้ำ
← กลับไปที่ Terraform Infrastructure as Code