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

โครงสร้างโค้ดและหลักเกณฑ์การตั้งชื่อ

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

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

เหตุใดจึงต้องจัดโครงสร้างโค้ด Terraform

เช่นเดียวกับการจัดระเบียบพื้นที่ทำงานจริง การจัดโครงสร้างโค้ด Terraform ช่วยให้ทำความเข้าใจ จัดการ และทำงานร่วมกันได้ง่ายขึ้น

โครงสร้างที่ดีช่วยให้อ่านง่ายขึ้น ลดข้อผิดพลาด และช่วยให้สมาชิกใหม่ในทีมเริ่มทำงานได้อย่างรวดเร็ว

ไฟล์ Terraform ที่จำเป็น

โดยทั่วไป โครงการ Terraform จะเริ่มต้นด้วยไฟล์สำคัญไม่กี่ไฟล์ การจัดระเบียบการกำหนดค่าลงในไฟล์เหล่านี้เป็นแนวทางปฏิบัติที่ดีโดยทั่วไป:

  • main.tf: กำหนดทรัพยากรและโมดูล
  • variables.tf: ประกาศตัวแปรอินพุตทั้งหมด
  • outputs.tf: กำหนดค่าเอาต์พุตจากโครงสร้างพื้นฐาน
  • versions.tf: ระบุเวอร์ชันของ Terraform และผู้ให้บริการ

การตั้งชื่อทรัพยากร

การตั้งชื่ออย่างสอดคล้องกันช่วยให้ระบุทรัพยากรได้ง่าย ปฏิบัติตามแนวทางทั่วไปเหล่านี้สำหรับชื่อท้องถิ่น (เช่น my_instance ใน resource "aws_instance" "my_instance"):

  • ใช้ชื่อที่สื่อความหมาย: ทรัพยากรนี้ทำหน้าที่อะไร
  • ใช้ยัติภังค์หรือขีดล่าง: เพื่อให้อ่านง่าย (เช่น web-server-sg หรือ web_server_sg)
  • หลีกเลี่ยงชื่อทั่วไป: server ให้ข้อมูลน้อยกว่า app-frontend-server

ชื่อทรัพยากรท้องถิ่นของ Terraform ควรไม่ซ้ำกันภายในโมดูลเดียวกัน

แนวทางการตั้งชื่อตัวแปร

ตัวแปรช่วยให้การกำหนดค่าของคุณยืดหยุ่น การตั้งชื่ออย่างเหมาะสมจึงเป็นสิ่งสำคัญ:

  • ใช้ตัวพิมพ์เล็กและขีดล่าง: นี่เป็นรูปแบบที่ใช้กันทั่วไปที่สุด (เช่น instance_type, vpc_id)
  • ระบุให้ชัดเจน: ตัวแปรนี้ควบคุมอะไร
  • เพิ่มคำอธิบาย: อธิบายวัตถุประสงค์ของตัวแปรเพื่อความชัดเจน

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

การตั้งชื่อค่าเอาต์พุต

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

  • ใช้ตัวพิมพ์เล็กและขีดล่าง: คล้ายกับตัวแปร เช่น web_server_ip
  • สื่อความหมายของค่า: ค่านี้ให้ข้อมูลอะไร
  • เพิ่มคำอธิบาย: จำเป็นสำหรับเอาต์พุตของโมดูล เพื่ออธิบายว่าเอาต์พุตเหล่านั้นส่งคืนอะไร

ตัวอย่าง: การกำหนดค่าอย่างง่าย

ไฟล์ main.tf ฉบับสมบูรณ์นี้สาธิตแนวทางการตั้งชื่อที่ดีสำหรับทรัพยากร ตัวแปร และเอาต์พุต คุณสามารถเรียกใช้ terraform init และ terraform plan กับไฟล์นี้ได้

terraform {
  required_providers {
    null = {
      source = "hashicorp/null"
      version = "~> 3.0"
    }
  }
}

resource "null_resource" "example_web_server" {
  # Descriptive resource name
  triggers = {
    always_run = timestamp()
  }
}

variable "app_environment" {
  description = "The application's deployment environment (e.g., dev, prod)."
  type        = string
  default     = "development"
}

output "resource_unique_id" {
  description = "The unique ID of the example null resource."
  value       = null_resource.example_web_server.id
}

การจัดโครงสร้างโมดูล Terraform

สำหรับส่วนประกอบที่นำกลับมาใช้ซ้ำได้ โมดูลจะมีโครงสร้างที่ชัดเจนเป็นของตนเอง:

  • โมดูลราก: ไดเรกทอรีระดับบนสุดที่มีการกำหนดค่าหลักของคุณ
  • โมดูลย่อย: ไดเรกทอรีย่อยที่แต่ละแห่งมี main.tf, variables.tf, outputs.tf และไฟล์อื่น ๆ เป็นของตนเอง
  • README.md: จำเป็นสำหรับอธิบายวัตถุประสงค์ อินพุต และเอาต์พุตของโมดูล

วิธีนี้ทำให้โมดูลมีทุกอย่างในตัวเองและนำกลับมาใช้ซ้ำได้ง่าย

การจัดระเบียบโฟลเดอร์โครงการ

นอกเหนือจากการจัดระเบียบไฟล์แล้ว การจัดโฟลเดอร์โครงการก็มีความสำคัญอย่างยิ่ง โดยเฉพาะการตั้งค่าขนาดใหญ่:

  • แยกสภาพแวดล้อม: มีโฟลเดอร์เฉพาะสำหรับ dev, staging, prod โดยแต่ละโฟลเดอร์มีการกำหนดค่าของตนเอง
  • โฟลเดอร์โมดูลส่วนกลาง: มีไดเรกทอรี modules สำหรับโมดูลแบบกำหนดเองที่นำกลับมาใช้ซ้ำได้
  • โฟลเดอร์รากสำหรับผู้ให้บริการ: โดยทั่วไปโฟลเดอร์ระดับบนสุดจะกำหนดผู้ให้บริการและแบ็กเอนด์สถานะ

วิธีนี้ช่วยป้องกันการคลาดเคลื่อนของการกำหนดค่าและทำให้จัดการสภาพแวดล้อมต่าง ๆ ได้ง่ายขึ้น

ตัวอย่างโฟลเดอร์โครงการ

โครงการ Terraform ที่มีหลายสภาพแวดล้อมโดยทั่วไปอาจมีลักษณะดังนี้ ซึ่งช่วยแยกส่วนและนำกลับมาใช้ซ้ำได้อย่างชัดเจน:

. ├── modules/ │ ├── vpc/ │ │ ├── main.tf │ │ ├── variables.tf │ │ └── outputs.tf │ └── ec2-instance/ │ ├── main.tf │ └── variables.tf ├── environments/ │ ├── dev/ │ │ └── main.tf │ ├── staging/ │ │ └── main.tf │ └── prod/ │ └── main.tf └── README.md

ตรวจสอบความเข้าใจ

ข้อใดต่อไปนี้เป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับการตั้งชื่อตัวแปรอินพุตของ Terraform ที่ระบุจำนวนอินสแตนซ์

ทบทวน: โครงสร้างและการตั้งชื่อ

เราได้เรียนรู้ว่าโค้ด Terraform ที่มีโครงสร้างดีและตั้งชื่ออย่างสอดคล้องกันมีความสำคัญต่อการอ่าน การบำรุงรักษา และการทำงานร่วมกันเป็นทีม

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

แนวทางเหล่านี้เป็นพื้นฐานสำหรับการจัดการ IaC อย่างมีประสิทธิภาพ!

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

บทเรียน “โครงสร้างโค้ดและหลักเกณฑ์การตั้งชื่อ” ฟรีหรือไม่

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

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

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

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

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

บทเรียน “โครงสร้างโค้ดและหลักเกณฑ์การตั้งชื่อ” ใช้เวลานานแค่ไหน

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

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

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

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

  1. โครงสร้างโค้ดและหลักเกณฑ์การตั้งชื่อ
  2. การควบคุมเวอร์ชันด้วย Git
  3. การทำงานเป็นทีมและกระบวนการทำงาน
  4. เอกสารประกอบและกระบวนการทำงานแบบบริการตนเอง
← กลับไปที่ DevOps Bootcamp