0Pricing
DevOps Bootcamp · บทเรียน

การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้

เรียนรู้การเขียนโมดูล Terraform ของคุณเอง โดยกำหนดอินพุต ผลลัพธ์ และทรัพยากรเพื่อสร้างการตั้งค่าที่เป็นโมดูลและยืดหยุ่น

การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้ เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

สร้าง Terraform โมดูลของคุณเอง

ในบทเรียนก่อนหน้านี้ เราได้เรียนรู้เกี่ยวกับการใช้โมดูล Terraform ที่มีอยู่แล้ว ตอนนี้มาเจาะลึกการสร้างโมดูลที่นำกลับมาใช้ใหม่ได้ของคุณเองกันครับ

การสร้างโมดูลช่วยรวมรูปแบบโครงสร้างพื้นฐานทั่วไปไว้เป็นหน่วย ทำให้การกำหนดค่าของคุณสะอาดขึ้น สอดคล้องกันมากขึ้น และดูแลรักษาได้ง่ายขึ้น

การจัดระเบียบไฟล์โมดูล

โมดูล Terraform โดยพื้นฐานแล้วคือชุดของไฟล์ .tf ที่จัดเก็บไว้ในไดเรกทอรีเฉพาะ

ในรูปแบบที่ง่ายที่สุด ไดเรกทอรีของโมดูลจะประกอบด้วย:

  • variables.tf: กำหนดตัวแปรอินพุตสำหรับโมดูล
  • main.tf: มีการประกาศทรัพยากรจริง
  • outputs.tf: กำหนดค่าเอาต์พุตจากโมดูล

คุณยังสามารถใส่ versions.tf สำหรับข้อกำหนดของผู้ให้บริการ และ README.md สำหรับเอกสารประกอบได้

อินพุตของโมดูล: ตัวแปร

เพื่อให้โมดูลมีความยืดหยุ่น คุณจะกำหนด ตัวแปรอินพุต ซึ่งช่วยให้ผู้ใช้โมดูลปรับแต่งการทำงานได้โดยไม่ต้องเปลี่ยนโค้ดหลักของโมดูล

ตัวแปรกำหนดโดยใช้บล็อก variable พร้อมระบุ description, type และค่า default ได้ตามต้องการ

ตัวอย่าง: การกำหนดตัวแปรของโมดูล

คุณสามารถกำหนดตัวแปรสำหรับประเภทอินสแตนซ์ภายในไฟล์ variables.tf ของโมดูลได้ดังนี้:

# variables.tf
variable "instance_type" {
  description = "The EC2 instance type to use."
  type        = string
  default     = "t2.micro"
}

ทรัพยากรของโมดูล: ตรรกะหลัก

หัวใจสำคัญของโมดูลอยู่ที่ การประกาศทรัพยากร ซึ่งก็คือทรัพยากรคลาวด์จริงที่โมดูลจะจัดเตรียม

คุณจะใส่บล็อกทรัพยากรเหล่านี้ เช่น อินสแตนซ์ AWS EC2 หรือบัคเก็ต S3 ไว้ในไฟล์ main.tf ของโมดูล

ที่สำคัญ ทรัพยากรภายในโมดูลมักใช้ตัวแปรอินพุตที่คุณกำหนดไว้

การประกาศทรัพยากรโดยใช้อินพุต

มาประกาศอินสแตนซ์ EC2 ใน main.tf โดยใช้ตัวแปร instance_type กันครับ:

# main.tf
resource "aws_instance" "web_server" {
  ami           = "ami-0abcdef1234567890" # Example AMI ID
  instance_type = var.instance_type
  tags = {
    Name = "MyWebServer"
  }
}

เอาต์พุตของโมดูล: การแบ่งปันข้อมูล

เช่นเดียวกับที่โมดูลรับอินพุต โมดูลยังสามารถส่งมอบ ค่าเอาต์พุต ได้ด้วย ค่าเหล่านี้มีประโยชน์สำหรับส่งออกข้อมูลเกี่ยวกับทรัพยากรที่โมดูลสร้าง

ตัวอย่างเช่น คุณอาจต้องการส่งออกที่อยู่ IP สาธารณะของอินสแตนซ์ EC2 หรือ ARN ของบัคเก็ต S3

เอาต์พุตกำหนดไว้ใน outputs.tf โดยใช้บล็อก output

การกำหนดค่าเอาต์พุตของโมดูล

ต่อไปนี้คือวิธีกำหนดเอาต์พุตสำหรับ IP สาธารณะของอินสแตนซ์ EC2 ใน outputs.tf:

# outputs.tf
output "instance_public_ip" {
  description = "The public IP address of the EC2 instance."
  value       = aws_instance.web_server.public_ip
}

การเรียกใช้โมดูลใหม่ของคุณ

เมื่อกำหนดโมดูลแล้ว คุณสามารถใช้โมดูลนั้นในการกำหนดค่าหลัก (หรือโมดูลอื่น) ได้เช่นเดียวกับโมดูลทั่วไป

คุณจะระบุ source (เส้นทางไปยังไดเรกทอรีของโมดูล) และส่งค่าไปยังตัวแปรอินพุตของโมดูล

# root_config/main.tf
module "my_web_server_module" {
  source        = "../my-ec2-module" # Path to your module
  instance_type = "t3.small"         # Override default
}

output "web_server_ip" {
  value = module.my_web_server_module.instance_public_ip
}

ตรวจสอบองค์ประกอบของโมดูล

คุณได้เรียนรู้เกี่ยวกับไฟล์สำคัญในโมดูล Terraform แล้ว ไฟล์ใดใช้เป็นหลักในการกำหนดค่าที่สามารถส่ง เข้าไปใน โมดูลได้

สรุป: การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้

ทำได้ดีมาก! ตอนนี้คุณทราบวิธีสร้างโมดูล Terraform ของตนเองแล้ว

  • โมดูลคือไดเรกทอรีที่มีไฟล์ .tf อยู่ภายใน
  • ใช้ variables.tf สำหรับอินพุต
  • ใส่การกำหนดทรัพยากรไว้ใน main.tf
  • กำหนดเอาต์พุตใน outputs.tf เพื่อเปิดเผยข้อมูล

ทักษะนี้มีความสำคัญอย่างยิ่งต่อการสร้างโครงสร้างพื้นฐานในรูปแบบโค้ดที่ขยายขนาด ดูแลรักษา และใช้งานได้อย่างสอดคล้องกัน

คำถามที่พบบ่อย

บทเรียน “การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้”

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

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

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

บทเรียน “การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

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

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

  1. บทนำสู่โมดูล Terraform
  2. การสร้างโมดูลที่นำกลับมาใช้ใหม่ได้
  3. การใช้เวิร์กสเปซสำหรับสภาพแวดล้อม
  4. การเผยแพร่โมดูลไปยังรีจิสทรี
← กลับไปที่ DevOps Bootcamp