Infrastructure as Code with Terraform

Infrastructure as Code with Terraform

การสร้างและแก้ไขโครงสร้างพื้นฐานด้วยมือผ่านหน้าเว็บคอนโซลทำให้เกิดความไม่สม่ำเสมอ ตรวจสอบย้อนหลังไม่ได้ และสร้างซ้ำในอีกสภาพแวดล้อมได้ยาก Terraform แก้ปัญหานี้ด้วยการเขียนโครงสร้างพื้นฐานเป็นโค้ด (Infrastructure as Code) ที่เก็บใน Git ตรวจทานผ่าน Pull Request และนำไปสร้างซ้ำได้เหมือนกันทุกครั้ง อีกทั้งยังใช้ได้กับหลายผู้ให้บริการคลาวด์ด้วยเครื่องมือเดียว หลักสูตรนี้พาผู้เรียนเขียน Terraform ตั้งแต่ศูนย์จนถึงระดับใช้งานในทีม ครอบคลุมภาษา HCL, Provider และ Resource, การจัดการ State อย่างปลอดภัย, ตัวแปรและ Output, การแยกเป็น Module ที่นำกลับมาใช้ซ้ำได้, การแยกสภาพแวดล้อม Dev และ Prod, Remote State สำหรับทำงานเป็นทีม, การจัดการทรัพยากรที่สร้างไว้แล้วด้วย import, การจัดการ Secret อย่างปลอดภัย ไปจนถึงการวาง CI/CD ให้รัน plan และ apply อัตโนมัติ ทุกหัวข้อลงมือทำจริงบนคลาวด์ (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สาขากรุงเทพฯ (ลาดพร้าว)
  • ยังไม่มีรอบเปิดอบรม (ลงชื่อจองไว้ได้)
  • เข้าใจแนวคิด Infrastructure as Code และประโยชน์เทียบกับการสร้างทรัพยากรด้วยมือ
  • ติดตั้งและใช้งาน Terraform CLI พร้อมวงจรคำสั่งหลัก init, plan, apply และ destroy
  • เขียนภาษา HCL ได้อย่างถูกต้องทั้ง Resource, Data Source, Variable, Output และ Expression
  • เข้าใจการทำงานของ State และจัดการอย่างปลอดภัยรวมถึงการล็อกไม่ให้ชนกัน
  • แยกโค้ดเป็น Module ที่นำกลับมาใช้ซ้ำได้และจัดโครงสร้างโปรเจกต์อย่างเป็นระบบ
  • แยกสภาพแวดล้อม Dev, Staging และ Production ด้วย Workspace หรือโครงสร้างไดเรกทอรี
  • ตั้งค่า Remote State และ State Locking สำหรับการทำงานเป็นทีม
  • นำทรัพยากรที่สร้างไว้แล้วเข้ามาอยู่ในการจัดการของ Terraform ด้วย import
  • จัดการ Secret อย่างปลอดภัยและวาง CI/CD ให้รัน Terraform อัตโนมัติ
  • DevOps Engineer และ Cloud Engineer ที่ต้องดูแลโครงสร้างพื้นฐานบนคลาวด์
  • ผู้ดูแลระบบ (System Administrator) ที่ต้องการเปลี่ยนจากงานมือเป็นงานอัตโนมัติ
  • นักพัฒนาที่ต้องสร้างและดูแลสภาพแวดล้อมของระบบด้วยตนเอง
  • สถาปนิกระบบที่ต้องออกแบบโครงสร้างพื้นฐานให้สร้างซ้ำได้และตรวจสอบได้
  • ทีมที่ใช้หลายคลาวด์และต้องการเครื่องมือมาตรฐานเดียวในการจัดการ
  • เข้าใจแนวคิดคลาวด์พื้นฐาน (แนะนำผ่าน AWS Cloud Practitioner หรือ Azure AZ-900 มาก่อน)
  • ใช้งาน Command Line และ Git ในระดับพื้นฐานได้
  • เข้าใจแนวคิดเครือข่ายพื้นฐาน เช่น IP, Subnet และ Security Group
  • ไม่จำเป็นต้องเขียนโปรแกรมเป็น แต่ควรอ่านไฟล์ตั้งค่าแบบมีโครงสร้างได้
  • 18 ชั่วโมง
  • ราคาปกติ 10,500 บาท / คน
  • โปรโมชั่นลด 10% เหลือ 9,450 บาท / คน
  • ราคาเหมาจ่าย (ผู้อบรมตั้งแต่ 10 คน) ตามแต่ตกลงกัน
  • ขอใบเสนอราคา

รายละเอียดหลักสูตร

อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง รูปแบบบรรยายพร้อมปฏิบัติจริงบนคลาวด์ (Hands-on Lab) ทุกหัวข้อ ระดับ Intermediate ผู้เรียนจะได้ Lab Guide, โค้ดตัวอย่างครบทุก Lab, Module ที่นำกลับไปใช้ซ้ำได้ และ Checklist แนวปฏิบัติที่ดี กลับไปใช้งานจริง หมายเหตุ: ผู้เรียนสร้างทรัพยากรจริงบนบัญชีคลาวด์ทดสอบ ควรรัน terraform destroy เมื่อจบแต่ละ Lab เพื่อไม่ให้เกิดค่าใช้จ่ายค้าง

Day 1: พื้นฐาน Terraform และ State

Section 1: แนวคิด Infrastructure as Code และการติดตั้ง

  • ปัญหาของการสร้างทรัพยากรด้วยมือ และประโยชน์ของ Infrastructure as Code
  • Terraform ทำงานอย่างไร: Declarative, Provider, Plan และ Apply และเทียบกับเครื่องมืออื่น
  • การติดตั้ง Terraform CLI และการตั้งค่าการเข้าถึงบัญชีคลาวด์อย่างปลอดภัย
  • Lab: ติดตั้ง Terraform และสร้างทรัพยากรแรกบนคลาวด์ด้วยโค้ด

Section 2: ภาษา HCL และโครงสร้างโค้ด

  • โครงสร้างไฟล์ .tf และบล็อกหลัก: terraform, provider, resource และ data
  • ชนิดข้อมูล นิพจน์ (Expression) เงื่อนไข และฟังก์ชันที่ใช้บ่อย
  • การอ้างอิงระหว่างทรัพยากรและการกำหนดลำดับการสร้าง (Dependency)
  • Lab: เขียนโค้ดสร้างเครือข่ายและเครื่องเซิร์ฟเวอร์ที่อ้างอิงกัน

Section 3: Provider และการจัดการทรัพยากร

  • การใช้งาน Provider และการล็อกเวอร์ชันด้วย Version Constraint
  • วงจรชีวิตทรัพยากร: การสร้าง แก้ไข แทนที่ และลบ และการอ่านผลลัพธ์ของ plan
  • การใช้ Data Source เพื่ออ้างอิงทรัพยากรที่มีอยู่แล้ว
  • Lab: แก้ไขโครงสร้างพื้นฐานและอ่าน plan ให้เข้าใจก่อน apply ทุกครั้ง

Section 4: การจัดการ State

  • State คืออะไร ทำไมสำคัญ และความเสี่ยงเมื่อ State สูญหายหรือถูกแก้ไขผิด
  • คำสั่งจัดการ State: show, list, mv และ rm และเมื่อใดควรใช้
  • การป้องกันข้อมูลลับใน State และการไม่นำ State ขึ้น Git
  • Lab: สำรวจไฟล์ State และฝึกย้ายทรัพยากรภายใน State

Day 2: ตัวแปร Module และการทำงานเป็นทีม

Section 5: ตัวแปร Output และการตั้งค่า

  • การประกาศตัวแปร (Variable) ชนิดข้อมูล ค่าเริ่มต้น และการตรวจสอบค่า (Validation)
  • การส่งค่าผ่าน tfvars, ตัวแปรสภาพแวดล้อม และ Command Line
  • การใช้ Output ส่งค่าออกและการใช้ Local Value ลดการเขียนซ้ำ
  • Lab: แปลงโค้ดที่ Hardcode ให้ยืดหยุ่นด้วยตัวแปรและ Output

Section 6: Module ที่นำกลับมาใช้ซ้ำได้

  • แนวคิด Module และการออกแบบให้ใช้ซ้ำได้ในหลายโครงการ
  • การเขียน Module ของตนเองและการเรียกใช้ Module จาก Terraform Registry
  • การจัดโครงสร้างโปรเจกต์ให้อ่านง่ายและดูแลระยะยาวได้
  • Lab: แยกโค้ดเป็น Module และเรียกใช้ซ้ำในสองสภาพแวดล้อม

Section 7: หลายสภาพแวดล้อม (Dev, Staging, Prod)

  • การแยกสภาพแวดล้อมด้วย Workspace เทียบกับการแยกด้วยโครงสร้างไดเรกทอรี
  • การจัดการค่าตั้งต้นที่ต่างกันในแต่ละสภาพแวดล้อมอย่างปลอดภัย
  • แนวปฏิบัติการตั้งชื่อและติด Tag ทรัพยากรให้ตรวจสอบต้นทุนได้
  • Lab: สร้างสภาพแวดล้อม Dev และ Prod จากโค้ดชุดเดียวกัน

Section 8: Remote State และการทำงานเป็นทีม

  • การเก็บ State ไว้ส่วนกลาง (Remote Backend) และเหตุผลที่ทีมต้องใช้
  • State Locking เพื่อป้องกันการแก้ไขพร้อมกันจนข้อมูลเสียหาย
  • Workflow แบบทีม: Branch, Pull Request, การรีวิวผล plan ก่อน apply
  • Lab: ย้าย State ขึ้น Remote Backend และทดสอบการล็อกเมื่อมีคนรันพร้อมกัน

Day 3: ของเดิม ความปลอดภัย และ CI/CD

Section 9: การนำทรัพยากรที่มีอยู่เข้าระบบ

  • การใช้ terraform import นำทรัพยากรที่สร้างด้วยมือเข้ามาอยู่ในการจัดการ
  • การจัดการเมื่อสถานะจริงกับโค้ดไม่ตรงกัน (Configuration Drift)
  • แนวทางค่อย ๆ เปลี่ยนระบบเดิมให้มาอยู่ใต้ Terraform โดยไม่กระทบบริการ
  • Lab: import ทรัพยากรที่สร้างด้วยมือและปรับโค้ดให้ตรงกับของจริง

Section 10: ความปลอดภัยและการจัดการ Secret

  • การจัดการข้อมูลลับ: ไม่เก็บรหัสผ่านและคีย์ไว้ในโค้ดหรือใน Git
  • การใช้บริการจัดการความลับของคลาวด์ร่วมกับ Terraform
  • การกำหนดสิทธิ์ให้บัญชีที่รัน Terraform ตามหลัก Least Privilege
  • การตรวจสอบโค้ดโครงสร้างพื้นฐานเพื่อหาการตั้งค่าที่ไม่ปลอดภัย

Section 11: CI/CD สำหรับ Terraform

  • การวาง Pipeline ให้รัน fmt, validate และ plan อัตโนมัติเมื่อเปิด Pull Request
  • การควบคุมขั้นตอน apply ให้ต้องมีการอนุมัติก่อนแตะ Production
  • การเก็บผล plan เป็นหลักฐานและการย้อนกลับเมื่อเกิดปัญหา
  • Lab: สร้าง Pipeline ตรวจโค้ดและรัน plan อัตโนมัติบน Git Repository

Section 12: Capstone และแนวปฏิบัติที่ดี

  • โจทย์: ออกแบบและสร้างโครงสร้างพื้นฐานครบชุดด้วย Terraform ตั้งแต่เครือข่ายถึงแอปพลิเคชัน
  • แนวปฏิบัติที่ดีในการเขียนและดูแลโค้ดโครงสร้างพื้นฐานระยะยาว
  • การต่อยอดสู่ Ansible, Kubernetes และเครื่องมือ DevOps อื่นในสายงาน
  • Workshop: นำเสนอโครงสร้างที่สร้างขึ้นและทบทวนโค้ดร่วมกัน

คอร์ส Infrastructure as Code ด้วย Terraform เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

ดูรายละเอียดกลุ่มเป้าหมายและพื้นฐานที่ต้องมีได้ในหัวข้อ "กลุ่มเป้าหมาย" และ "พื้นฐานที่ผู้เรียนต้องมี" บนหน้านี้ หากไม่แน่ใจว่าพื้นฐานพอหรือไม่ ปรึกษาทีมงานได้ฟรีทาง LINE @itgenius หรือโทร 02-570-8449

คอร์ส Infrastructure as Code ด้วย Terraform ราคาเท่าไร ใช้เวลาเรียนกี่ชั่วโมง

ราคาปกติ 10,500 บาท (โปรโมชันปัจจุบันเหลือ 9,450 บาท) ใช้เวลาอบรม 18 ชั่วโมง ราคานี้รวมเอกสารประกอบการอบรม อาหารกลางวัน และอาหารว่างตลอดหลักสูตร

เรียนจบได้รับ Certificate หรือไม่

ได้รับ ผู้ผ่านการอบรมทุกท่านจะได้รับใบประกาศนียบัตร (Certificate of Completion) จากสถาบันไอทีจีเนียส

อบรมที่ไหน มีเรียนแบบออนไลน์หรือไม่

อบรมแบบ Onsite ที่สถาบันไอทีจีเนียส สาขาลาดพร้าววังหิน 68 กรุงเทพฯ และมีบริการจัดอบรมนอกสถานที่ (In-house Training) สำหรับองค์กร บางหลักสูตรมีเวอร์ชันเรียนออนไลน์ผ่าน GeniusHub ดูได้ที่เมนูคอร์สออนไลน์

ถ้าเรียนไม่ทันหรือขาดเรียน มีเรียนซ้ำ/เรียนชดเชยหรือไม่

มี ผู้เรียนสามารถแจ้งขอเรียนซ้ำ (repeat) ในรอบถัดไปของหลักสูตรเดียวกันได้ฟรีตามเงื่อนไขของสถาบัน ดูรายละเอียดที่หน้า "เรียนซ้ำฟรี" หรือสอบถามทีมงาน

สมัครเรียนหรือขอใบเสนอราคาในนามบริษัทได้อย่างไร

สมัครออนไลน์ได้จากแบบฟอร์มลงทะเบียนบนหน้านี้ หรือขอใบเสนอราคา (Quotation) ในนามนิติบุคคลได้ทันทีจากปุ่ม "ขอใบเสนอราคา" สอบถามเพิ่มเติมโทร 02-570-8449 หรือ LINE @itgenius