สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
DevOps · DOP-01

Infrastructure as Code ด้วย Terraform

หลักสูตร Infrastructure as Code ด้วย Terraform เป็นการอบรมเขียนโครงสร้างพื้นฐานเป็นโค้ด ครอบคลุม HCL, State, Module การแยก Dev และ Production, Remote State สำหรับทีม และ terraform import พร้อมลงมือบน AWS และ Azure เหมาะกับ DevOps Engineer, Cloud Engineer และผู้ดูแลระบบที่อยากเปลี่ยนงานมือเป็นงานอัตโนมัติ

อัปเดตล่าสุด
ราคาเริ่มต้น 9,450 บาท / ท่าน 10,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

การสร้างและแก้ไขโครงสร้างพื้นฐานด้วยมือผ่านหน้าเว็บคอนโซลทำให้เกิดความไม่สม่ำเสมอ ตรวจสอบย้อนหลังไม่ได้ และสร้างซ้ำในอีกสภาพแวดล้อมได้ยาก 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
  • ไม่จำเป็นต้องเขียนโปรแกรมเป็น แต่ควรอ่านไฟล์ตั้งค่าแบบมีโครงสร้างได้

หัวข้อการฝึกอบรม

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

อบรม 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: นำเสนอโครงสร้างที่สร้างขึ้นและทบทวนโค้ดร่วมกัน

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

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

Terraform State คืออะไร ทำไมทีมต้องเก็บไว้ส่วนกลาง

State คือไฟล์ที่ Terraform ใช้จดว่าโค้ดแต่ละบล็อกผูกกับทรัพยากรจริงตัวไหนบนคลาวด์ เพื่อคำนวณว่าต้องสร้าง แก้ หรือลบอะไรเมื่อรัน plan ถ้าแต่ละคนเก็บ State ไว้บนเครื่องตัวเอง ข้อมูลจะไม่ตรงกันและอาจสร้างทรัพยากรซ้ำ ทีมจึงควรเก็บไว้ที่ Remote Backend เช่น S3 หรือ Azure Storage พร้อมเปิด State Locking และไม่นำไฟล์ State ขึ้น Git เพราะอาจมีข้อมูลลับอยู่ข้างใน

เริ่มสร้างทรัพยากรบนคลาวด์ด้วย Terraform มีขั้นตอนอย่างไร

เริ่มจากติดตั้ง Terraform CLI และตั้งค่าสิทธิ์เข้าถึงบัญชีคลาวด์อย่างปลอดภัย จากนั้นเขียนไฟล์ .tf ระบุ provider และ resource ที่ต้องการ รัน terraform init เพื่อดาวน์โหลด Provider แล้วรัน terraform plan เพื่อดูว่าจะเกิดการเปลี่ยนแปลงอะไร เมื่อตรวจแล้วจึงรัน terraform apply เพื่อสร้างจริง และใช้ terraform destroy ลบเมื่อเลิกใช้ ควรอ่านผล plan ทุกครั้งก่อน apply

Terraform Module คืออะไร ช่วยงานอย่างไร

Module คือชุดไฟล์ Terraform ที่รวมทรัพยากรที่ใช้ด้วยกันไว้เป็นก้อนเดียว เช่น เครือข่ายพร้อม Subnet และ Security Group โดยรับค่าผ่านตัวแปรและส่งค่าออกผ่าน Output ทำให้เรียกใช้ซ้ำได้ในหลายโครงการหรือหลายสภาพแวดล้อม เช่น ใช้ Module เดียวสร้าง Dev และ Prod ที่ต่างกันแค่ขนาดเครื่อง ลดการคัดลอกโค้ดและทำให้ทุกที่ตั้งค่าเป็นมาตรฐานเดียวกัน หาโมดูลสำเร็จรูปได้จาก Terraform Registry

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

เหมาะกับ DevOps Engineer และ Cloud Engineer ที่ดูแลโครงสร้างพื้นฐานบนคลาวด์ ผู้ดูแลระบบที่ต้องการเปลี่ยนงานมือเป็นงานอัตโนมัติ นักพัฒนาที่สร้างสภาพแวดล้อมของระบบเอง และทีมที่ใช้หลายคลาวด์ ควรเข้าใจแนวคิดคลาวด์พื้นฐาน เช่น ผ่าน AWS Cloud Practitioner หรือ AZ-900 มาก่อน ใช้ Command Line และ Git ได้ และเข้าใจ IP Subnet และ Security Group ไม่จำเป็นต้องเขียนโปรแกรมเป็น

เรียนจบหลักสูตร Infrastructure as Code ด้วย Terraform แล้วทำอะไรได้บ้าง

เขียน HCL สร้างโครงสร้างพื้นฐานบน AWS และ Azure อ่านผล plan ได้อย่างเข้าใจ จัดการ State และย้ายไป Remote Backend พร้อม Locking สร้าง Module ที่ใช้ซ้ำได้ แยกสภาพแวดล้อม Dev และ Prod นำทรัพยากรที่สร้างด้วยมือเข้าระบบด้วย terraform import จัดการ Secret อย่างปลอดภัย และรัน Terraform ผ่าน CI/CD ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร Infrastructure as Code ด้วย Terraform ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ใช้ผู้ให้บริการคลาวด์และโครงสร้างระบบที่ทีมดูแลอยู่เป็นโจทย์ ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449