ข้ามไปเนื้อหาหลัก
จัดการ & มอนิเตอร์· ~14 นาที· อัปเดตล่าสุด

CloudFormation และ IaC

สร้างโครงสร้างพื้นฐานด้วยไฟล์เทมเพลต

เปรียบเทียบ: IaC เหมือนสูตรทำอาหารหรือพิมพ์เขียวสร้างบ้าน

เมื่อเราจดสูตร (โค้ด) ไว้ครบถ้วนแล้ว ไม่ว่าจะสั่งให้ทำอาหารจานนี้อีกกี่สิบครั้ง รสชาติและหน้าตาก็จะออกมาเหมือนเดิมเป๊ะ ไม่ต้องใช้ความรู้สึกกะเอาเอง (การคลิกหน้าเว็บด้วยมือ)

พื้นฐานที่ควรรู้: การกดสร้างเซิร์ฟเวอร์หรือเน็ตเวิร์กผ่านหน้าเว็บ (Console) เป็นวิธีที่ง่ายและเหมาะกับการเรียนรู้ แต่ในโลกการทำงานจริง ถ้าระบบมีเป็นร้อยๆ ชิ้น การคลิกมือจะกินเวลา นำไปสู่ข้อผิดพลาด และเอาไปสร้างซ้ำได้ยาก

AWS CloudFormation คือเครื่องมือสำหรับทำ IaC (Infrastructure as Code - โครงสร้างพื้นฐานเสมือนโค้ด) ให้เราสามารถนิยามสถาปัตยกรรมทุกอย่างเป็นไฟล์ตัวหนังสือ (รูปแบบ YAML หรือ JSON ที่เรียกว่า Template) แล้วให้ AWS อ่านไฟล์นี้เพื่อกางทรัพยากรทั้งชุด (Stack) ขึ้นมาให้อัตโนมัติ

  • สร้าง, อัปเดต, และลบทรัพยากรทั้งหมดในก้อนเดียวกันพร้อมกัน (เรียกก้อนนี้ว่า Stack)
  • ทำซ้ำสถาปัตยกรรมข้าม Environment (Dev/Staging/Prod) หรือข้าม Region ได้ตรงกัน 100%
  • เก็บเวอร์ชัน (Version Control) เทมเพลตไว้ใน Git ได้เหมือนโค้ดแอปพลิเคชันทั่วไป ทำให้รู้ว่าใครแก้ระบบเมื่อไหร่

สรุป Key Takeaways

  • CloudFormation = IaC สร้าง infra จากเทมเพลตซ้ำได้ตรงกัน
  • ลดข้อผิดพลาด ทำซ้ำข้าม environment และ version control ได้

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

Infrastructure as Code ให้ประโยชน์อะไรที่กดหน้า console ไม่ให้

ทำซ้ำได้เป๊ะ (dev/prod เหมือนกัน), review การเปลี่ยนแปลงเหมือนโค้ด, เก็บประวัติใน git, และกู้ระบบ/สร้าง region ใหม่ได้จาก template เดียว — โจทย์ "deploy ซ้ำหลาย environment/หลาย region อย่างสม่ำเสมอ" = CloudFormation

Drift detection คืออะไร

การตรวจว่า resource จริงถูกใครไป "แก้มือ" จนต่างจาก template ไหม — สำคัญเพราะการแก้นอก IaC ทำให้ deploy ครั้งถัดไปผลไม่แน่นอน ข้อสอบถาม "ตรวจว่า stack ยังตรงกับ template ไหม" = drift detection

Change set มีไว้ทำไม

พรีวิวว่าการอัปเดต stack จะเปลี่ยน/ลบ resource อะไรบ้าง "ก่อน" ลงมือจริง — กันเหตุการณ์คลาสสิกอย่าง update แล้ว CloudFormation ตัดสินใจ replace ฐานข้อมูล — โจทย์ "ตรวจผลกระทบก่อน update production stack" = change set

ลองทำ Quiz ท้ายบท

คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

อ่านจบแล้วอย่าลืมทำเครื่องหมาย