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

ตัวแปรและผลลัพธ์

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

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

การกำหนดค่าที่ยืดหยุ่น

Terraform ช่วยให้คุณกำหนดโครงสร้างพื้นฐานเป็นโค้ด แต่ถ้าคุณต้องการนำโค้ดเดิมกลับมาใช้กับสภาพแวดล้อมหรือการตั้งค่าที่แตกต่างกันจะทำอย่างไร

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

ตัวแปรอินพุต: ความยืดหยุ่น

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

  • หลีกเลี่ยงการฝังค่าไว้โดยตรงในการกำหนดค่า
  • ทำให้โมดูลและการกำหนดค่าสามารถนำกลับมาใช้ใหม่ได้
  • รองรับค่าที่แตกต่างกันในแต่ละสภาพแวดล้อม เช่น dev และ prod

ประกาศตัวแปรของคุณ

คุณประกาศตัวแปรอินพุตในไฟล์ .tf ซึ่งมักตั้งชื่อว่า variables.tf ตัวแปรแต่ละตัวต้องมีชื่อที่ไม่ซ้ำกัน

ตัวอย่างการประกาศพื้นฐานมีดังนี้

variable "file_content" {
  description = "Content to write to a local file."
  type        = string
}

ชนิดและค่าเริ่มต้น

ตัวแปรสามารถมีชนิดต่าง ๆ เช่น string, number, bool, list หรือ map นอกจากนี้คุณยังระบุค่าเริ่มต้นได้ ซึ่งจะทำให้ตัวแปรนั้นเป็นตัวเลือก

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

variable "instance_count" {
  description = "Number of instances."
  type        = number
  default     = 1
}

การใช้ตัวแปรในโค้ด

เมื่อประกาศแล้ว คุณสามารถอ้างอิงค่าของตัวแปรโดยใช้คำนำหน้า var. ตามด้วยชื่อของตัวแปร เช่น var.environment

วิธีนี้ช่วยให้ทรัพยากรปรับเปลี่ยนตามอินพุตที่ได้รับ

resource "local_file" "example" {
  content  = "Hello from ${var.environment}!"
  filename = "example-${var.environment}.txt"
}

วิธีระบุค่า

มีหลายวิธีในการระบุค่าตัวแปร:

  • บรรทัดคำสั่ง: ใช้ -var="key=value" ร่วมกับ terraform plan หรือ apply
  • ไฟล์ .tfvars: สร้างไฟล์ เช่น terraform.tfvars หรือ dev.tfvars
  • ตัวแปรสภาพแวดล้อม: ใช้ TF_VAR_name=value

ไฟล์ terraform.tfvars เป็นวิธีที่นิยมใช้สำหรับกำหนดค่า:

# terraform.tfvars
environment = "staging"
file_content = "This is some custom content."

ค่าผลลัพธ์: ดึงข้อมูลออกมา

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

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

ประกาศค่าเอาต์พุตของคุณ

คุณประกาศค่าเอาต์พุตในไฟล์ .tf ซึ่งมักตั้งชื่อว่า outputs.tf เอาต์พุตแต่ละรายการต้องมีชื่อไม่ซ้ำกันและมีอาร์กิวเมนต์ value

output "file_name" {
  description = "The name of the generated local file."
  value       = local_file.example.filename
}

การดูค่าเอาต์พุต

หลังจากเรียกใช้ terraform apply แล้ว คุณสามารถดูค่าเอาต์พุตได้โดยใช้คำสั่ง terraform output

อาร์กิวเมนต์ value มักอ้างอิงแอตทริบิวต์ของทรัพยากร เช่น resource_type.resource_name.attribute

# After 'terraform apply', run:
terraform output file_name

ตัวแปรและเอาต์พุตในการใช้งานจริง

มารวมสิ่งที่เราเรียนรู้กัน ตัวอย่างนี้ใช้ตัวแปรสำหรับเนื้อหาและสภาพแวดล้อม และส่งออกชื่อไฟล์กับเนื้อหา ให้สร้างไฟล์สามไฟล์นี้ในไดเรกทอรีหนึ่ง:

# main.tf
terraform {
  required_providers {
    local = {
      source = "hashicorp/local"
      version = "~> 2.1"
    }
  }
}

resource "local_file" "message" {
  content  = var.greeting_message
  filename = "hello_${var.env}.txt"
}

# variables.tf
variable "greeting_message" {
  description = "The message content for the file."
  type        = string
  default     = "Hello CoddyKit!"
}

variable "env" {
  description = "Environment name."
  type        = string
  default     = "dev"
}

# outputs.tf
output "generated_filename" {
  description = "The full path of the generated file."
  value       = local_file.message.filename
}

output "file_content_used" {
  description = "The content actually written to the file."
  value       = local_file.message.content
}

ตรวจสอบความเข้าใจอย่างรวดเร็ว: ตัวแปรและเอาต์พุต

ข้อใดต่อไปนี้กล่าวถึงตัวแปรและเอาต์พุตของเทอร์ราฟอร์มได้ TRUE?

สรุป: ตัวแปรและเอาต์พุต

ทำได้ดีมาก! คุณได้เรียนรู้วิธีทำให้การกำหนดค่าของเทอร์ราฟอร์มทำงานแบบไดนามิกแล้ว:

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

ถัดไป คุณจะเรียนรู้ว่าเทอร์ราฟอร์มติดตามโครงสร้างพื้นฐานของคุณอย่างไรด้วยการจัดการสถานะ!

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

บทเรียน “ตัวแปรและผลลัพธ์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ตัวแปรและผลลัพธ์”

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

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

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

บทเรียน “ตัวแปรและผลลัพธ์” ใช้เวลานานแค่ไหน

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

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

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

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

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