Terraform Dynamic Block: สร้าง Nested Block แบบ Programmatic

Terraform Dynamic Block: สร้าง Nested Block แบบ Programmatic

Resource บางตัวใน HCL มี nested block ที่ซ้ำ ๆ กันหลายชุด เช่น ingress rule ใน security group, statement ใน IAM policy, หรือ environment variables ใน Lambda function การเขียน nested block เดิมซ้ำหลายครั้งทำให้ config ยาวและแก้ไขยาก Dynamic block ช่วยแก้ปัญหานี้โดยให้สร้าง nested block แบบ programmat

Terraform Conditional, count และ for_each: ควบคุม Resource ตามเงื่อนไข

Terraform Conditional, count และ for_each: ควบคุม Resource ตามเงื่อนไข

การสร้าง infrastructure ในโลกจริง มักมีเงื่อนไข เช่น dev environment ไม่ต้องการ bastion host, staging ใช้ database ขนาดเล็กกว่า prod, หรือบาง region ต้องการ replica HCL มีเครื่องมือสามอย่างที่ทำงานร่วมกันเพื่อรองรับเคสเหล่านี้: conditional expression, count และ for_each บทความนี้จะอธิบายแต่ละเครื่อง

Terraform Built-in Functions: คู่มือ Function ยอดนิยมสำหรับเขียน HCL

Terraform Built-in Functions: คู่มือ Function ยอดนิยมสำหรับเขียน HCL

Built-in functions เป็นหนึ่งในเครื่องมือที่ทำให้ HCL มีความยืดหยุ่นสูง ใช้ช่วย transform, คำนวณ, หรือจัดการข้อมูลใน configuration โดยไม่ต้องเขียน custom code ภายนอก ทำให้ config สั้นลงและอ่านง่ายขึ้น บทความนี้แบ่ง functions ที่ใช้บ่อยออกเป็น 5 กลุ่ม: String, Collection, Numeric, Encoding และ Filesys

พื้นฐานไวยากรณ์ HCL สำหรับ Terraform

พื้นฐานไวยากรณ์ HCL สำหรับ Terraform

HashiCorp Configuration Language หรือ HCL เป็นภาษาที่ออกแบบมาเพื่ออธิบายโครงสร้างพื้นฐาน (infrastructure) ในรูปแบบประกาศ (declarative) อ่านง่ายทั้งคนและเครื่อง ใช้เป็นภาษาหลักใน Terraform, Vault, Consul และ Nomad ผู้ที่เพิ่งเริ่มต้นควรเข้าใจไวยากรณ์พื้นฐานก่อน เพราะทุก resource ที่เขียนในโปรเจกต์ล้ว

LINE CHAT