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

Configuration Management ด้วย Ansible

หลักสูตร Configuration Management ด้วย Ansible เป็นการอบรมตั้งค่าเซิร์ฟเวอร์หลายเครื่องพร้อมกันแบบอัตโนมัติ ครอบคลุม Inventory, Playbook, Module, Jinja2 Template, Role และ Ansible Vault พร้อมลงมือกับเครื่อง Lab เหมาะกับผู้ดูแลระบบ DevOps Engineer และทีม Infrastructure ที่อยากให้ทุกเครื่องได้มาตรฐานเดียวกัน

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

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

เมื่อองค์กรมีเซิร์ฟเวอร์หลายสิบเครื่อง การเข้าไปตั้งค่าทีละเครื่องด้วยมือทำให้เสียเวลา เกิดความไม่เหมือนกันระหว่างเครื่อง และตรวจสอบย้อนหลังไม่ได้ Ansible แก้ปัญหานี้ด้วยการเขียนสิ่งที่ต้องการให้เครื่องเป็นลงในไฟล์ YAML แล้วสั่งให้ทุกเครื่องปรับตัวให้ตรงตามนั้นพร้อมกัน โดยไม่ต้องติดตั้ง Agent บนเครื่องปลายทาง เพราะทำงานผ่าน SSH ที่มีอยู่แล้ว หลักสูตรนี้พาผู้เรียนใช้ Ansible

ตั้งแต่พื้นฐานจนถึงระดับใช้งานจริงในองค์กร ครอบคลุมการจัดการ Inventory, การสั่งงานแบบ Ad-hoc, การเขียน Playbook, Module ที่ใช้บ่อยสำหรับติดตั้งแพ็กเกจและจัดการบริการและไฟล์, ตัวแปรและ Template ด้วย Jinja2, การจัดระเบียบด้วย Role, การแยกสภาพแวดล้อม Dev และ Prod, การเก็บข้อมูลลับด้วย Ansible Vault ไปจนถึงหลักการ Idempotency ที่ทำให้รันซ้ำกี่ครั้งผลก็เหมือนเดิม ทุกหัวข้อลงมือทำจริงกับเครื่อง Lab หลายเครื่องพร้อมกัน (อบรม 2 วัน วันละ 6 ชั่วโมง รวม 12 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เข้าใจแนวคิด Configuration Management และประโยชน์เทียบกับการตั้งค่าเครื่องด้วยมือ
  • ติดตั้ง Ansible และจัดการ Inventory ทั้งแบบไฟล์และแบบไดนามิก
  • สั่งงานเซิร์ฟเวอร์หลายเครื่องพร้อมกันด้วย Ad-hoc Command
  • เขียน Playbook ด้วย YAML และเข้าใจโครงสร้าง Play, Task และ Handler
  • ใช้ Module ที่ใช้บ่อยในการติดตั้งแพ็กเกจ จัดการบริการ ผู้ใช้ และไฟล์
  • ใช้ตัวแปร Fact และ Template ด้วย Jinja2 เพื่อสร้างไฟล์ตั้งค่าที่ยืดหยุ่น
  • จัดระเบียบโค้ดด้วย Role และนำ Role จาก Ansible Galaxy มาใช้
  • แยกการตั้งค่าระหว่างสภาพแวดล้อม Dev, Staging และ Production
  • เก็บข้อมูลลับอย่างปลอดภัยด้วย Ansible Vault และเขียน Playbook ให้ Idempotent

หลักสูตรนี้เหมาะสำหรับ

  • ผู้ดูแลระบบ (System Administrator) ที่ต้องดูแลเซิร์ฟเวอร์หลายเครื่อง
  • DevOps Engineer ที่ต้องการทำให้งานตั้งค่าเครื่องเป็นอัตโนมัติ
  • ทีม Infrastructure ที่ต้องการให้ทุกเครื่องมีมาตรฐานเดียวกัน
  • นักพัฒนาที่ต้องเตรียมสภาพแวดล้อมของระบบด้วยตนเอง
  • ผู้ที่ใช้ Terraform สร้างเครื่องแล้วต้องการตั้งค่าภายในเครื่องต่อ

พื้นฐานของผู้เข้าอบรม

  • ใช้งาน Linux ในระดับคำสั่งพื้นฐานได้ (แนะนำผ่านหลักสูตร Linux Administration มาก่อน)
  • เข้าใจการเชื่อมต่อ SSH และการใช้ SSH Key
  • อ่านไฟล์ YAML ได้ (ไม่จำเป็นต้องเขียนโปรแกรมเป็น)
  • หากเคยดูแลเซิร์ฟเวอร์มากกว่าหนึ่งเครื่องจะเห็นประโยชน์ของหลักสูตรได้ชัดเจน

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

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

อบรม 2 วัน วันละ 6 ชั่วโมง รวม 12 ชั่วโมง รูปแบบบรรยายพร้อมปฏิบัติจริงกับเครื่อง Lab หลายเครื่องพร้อมกัน (Hands-on Lab) ระดับ Intermediate ผู้เรียนจะได้ Lab Guide, Playbook และ Role ตัวอย่างครบทุก Lab และ Checklist การตั้งค่าเซิร์ฟเวอร์ใหม่ กลับไปใช้งานจริง Ansible เป็นโอเพนซอร์สที่นำไปใช้ในองค์กรได้โดยไม่มีค่าลิขสิทธิ์

Day 1 พื้นฐาน Ansible และ Playbook

Section 1: แนวคิด Configuration Management

  • ปัญหาของการตั้งค่าเครื่องด้วยมือ: ช้า ไม่เหมือนกัน และตรวจสอบย้อนหลังไม่ได้

  • Ansible ทำงานอย่างไร: Agentless ผ่าน SSH และแนวคิด Declarative

  • ความต่างระหว่าง Ansible กับเครื่องมือ Provisioning อย่าง Terraform และการใช้ร่วมกัน

  • หลักการ Idempotency: รันกี่ครั้งผลลัพธ์ก็เหมือนเดิม

Section 2: การติดตั้งและการจัดการ Inventory

  • การติดตั้ง Ansible บน Control Node และการเตรียม SSH Key ไปยังเครื่องเป้าหมาย

  • การเขียน Inventory แบบไฟล์ การจัดกลุ่มเครื่อง และการกำหนดตัวแปรระดับกลุ่มและระดับเครื่อง

  • การตรวจสอบการเชื่อมต่อและการแก้ปัญหาเมื่อเชื่อมต่อเครื่องเป้าหมายไม่ได้

  • Lab: ตั้งค่า Control Node และเชื่อมต่อเครื่องเป้าหมายหลายเครื่องให้สำเร็จ

Section 3: Ad-hoc Command

  • การสั่งงานเครื่องหลายเครื่องพร้อมกันด้วยคำสั่งเดียวโดยไม่ต้องเขียน Playbook

  • การใช้ Module พื้นฐานผ่าน Ad-hoc เช่น ping, command, shell และ copy

  • การเลือกเป้าหมายด้วย Pattern และการจำกัดจำนวนเครื่องที่ทำพร้อมกัน

  • Lab: ตรวจสอบสถานะและเก็บข้อมูลเครื่องทั้งหมดด้วย Ad-hoc Command

Section 4: การเขียน Playbook

  • โครงสร้าง Playbook: Play, Task, Handler และการตั้งชื่อให้อ่านเข้าใจ

  • การใช้ become เพื่อยกระดับสิทธิ์ และการกำหนดผู้ใช้ที่ใช้เชื่อมต่อ

  • การตรวจสอบก่อนรันจริงด้วยโหมด Check และการดูความเปลี่ยนแปลงด้วย Diff

  • Lab: เขียน Playbook ติดตั้งและตั้งค่าเว็บเซิร์ฟเวอร์บนเครื่องเป้าหมายทั้งหมด

Section 5: Module ที่ใช้บ่อยในงานจริง

  • การจัดการแพ็กเกจ บริการ ผู้ใช้ และกลุ่มด้วย Module มาตรฐาน

  • การจัดการไฟล์และไดเรกทอรี สิทธิ์ และการคัดลอกไฟล์ไปยังเครื่องปลายทาง

  • การใช้เงื่อนไข (when) การวนซ้ำ (loop) และการจัดการข้อผิดพลาด

  • Lab: เขียน Playbook ตั้งค่าเครื่องใหม่ให้พร้อมใช้งานตาม Checklist ขององค์กร

Day 2 Template Role และการใช้งานจริง

Section 6: ตัวแปร Fact และ Template

  • ลำดับความสำคัญของตัวแปรและการกำหนดตัวแปรในระดับต่าง ๆ

  • การใช้ Fact ที่ Ansible เก็บจากเครื่องเป้าหมายมาใช้ตัดสินใจ

  • การสร้างไฟล์ตั้งค่าด้วย Template และ Jinja2 ให้แต่ละเครื่องได้ค่าที่เหมาะกับตัวเอง

  • Lab: สร้างไฟล์ตั้งค่าจาก Template ที่ปรับตามข้อมูลของแต่ละเครื่อง

Section 7: Role และการจัดระเบียบโค้ด

  • โครงสร้าง Role มาตรฐาน: tasks, handlers, templates, files, vars และ defaults

  • การแปลง Playbook ยาว ๆ ให้เป็น Role ที่นำกลับมาใช้ซ้ำได้

  • การนำ Role จาก Ansible Galaxy มาใช้และการประเมินความน่าเชื่อถือก่อนใช้

  • Lab: แปลง Playbook ของตนเองให้เป็น Role และเรียกใช้ซ้ำ

Section 8: การจัดการหลายสภาพแวดล้อม

  • การแยก Inventory และตัวแปรระหว่าง Dev, Staging และ Production

  • การใช้ group_vars และ host_vars จัดการค่าที่ต่างกันในแต่ละสภาพแวดล้อม

  • การทยอยปรับเครื่องทีละชุด (Rolling Update) เพื่อไม่ให้บริการหยุดพร้อมกัน

  • Lab: รัน Playbook เดียวกันกับสองสภาพแวดล้อมที่มีค่าตั้งต้นต่างกัน

Section 9: ความปลอดภัยและ Ansible Vault

  • การเก็บรหัสผ่านและคีย์อย่างปลอดภัยด้วย Ansible Vault และการเข้ารหัสไฟล์ตัวแปร

  • การจัดการสิทธิ์ของบัญชีที่ใช้รัน Ansible ตามหลัก Least Privilege

  • แนวปฏิบัติเมื่อเก็บโค้ด Ansible ไว้ใน Git โดยไม่ให้ความลับรั่วไหล

  • Lab: เข้ารหัสไฟล์ความลับด้วย Vault และเรียกใช้ใน Playbook

Section 10: การนำไปใช้จริงและการดูแล

  • การเขียน Playbook ให้ Idempotent อย่างแท้จริงและการทดสอบก่อนใช้กับ Production

  • การจัดโครงสร้างโปรเจกต์ Ansible ให้ทีมทำงานร่วมกันได้

  • การรัน Ansible จาก CI/CD และการเก็บบันทึกผลการรัน

  • การใช้ Ansible ร่วมกับ Terraform: สร้างเครื่องแล้วตั้งค่าต่อทันที

Section 11: Capstone และการต่อยอด

  • โจทย์: เขียนชุด Playbook ตั้งค่าเซิร์ฟเวอร์ใหม่ทั้งชุดให้พร้อมให้บริการ

  • การนำเสนอโครงสร้าง Role และเหตุผลของการออกแบบ

  • แนวทางการนำ Ansible ไปใช้กับงานจริงในองค์กรใน 30 วันแรก

  • Workshop: นำเสนอ Playbook ที่เขียนและทบทวนโค้ดร่วมกัน

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

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

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

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

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

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

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

Ansible ต่างจาก Terraform อย่างไร ควรใช้ร่วมกันไหม

Terraform เน้นสร้างโครงสร้างพื้นฐาน (Provisioning) เช่น เครื่องเสมือน เครือข่าย และฐานข้อมูลบนคลาวด์ โดยจดสถานะไว้ใน State ส่วน Ansible เน้นตั้งค่าภายในเครื่อง (Configuration Management) เช่น ติดตั้งแพ็กเกจ แก้ไฟล์ตั้งค่า และเปิดบริการ ผ่าน SSH โดยไม่ต้องติดตั้ง Agent ในงานจริงนิยมใช้ร่วมกัน คือใช้ Terraform สร้างเครื่อง แล้วใช้ Ansible ตั้งค่าภายในเครื่องต่อทันที

Idempotency ใน Ansible หมายความว่าอะไร

Idempotency คือการรัน Playbook ซ้ำกี่ครั้งก็ได้ผลลัพธ์เหมือนเดิม เพราะ Module ของ Ansible ตรวจสถานะปัจจุบันก่อน และเปลี่ยนเฉพาะสิ่งที่ยังไม่ตรงกับที่ประกาศไว้ เช่น ถ้าติดตั้งแพ็กเกจไว้แล้วก็จะไม่ติดตั้งซ้ำและรายงานเป็น ok แทน changed จึงรันซ้ำเพื่อแก้เครื่องที่ค่าเพี้ยนได้อย่างปลอดภัย ควรเลี่ยง command หรือ shell เมื่อมี Module เฉพาะทาง เพราะคำสั่งเหล่านี้ไม่รู้สถานะเดิมของเครื่อง

เขียน Playbook ติดตั้งเว็บเซิร์ฟเวอร์หลายเครื่องพร้อมกันทำอย่างไร

เริ่มจากเขียน Inventory จัดเครื่องเว็บไว้ในกลุ่มเดียวกัน แล้วทดสอบการเชื่อมต่อด้วย Module ping จากนั้นเขียน Playbook ระบุ hosts เป็นกลุ่มนั้น ใส่ become เพื่อยกระดับสิทธิ์ และเพิ่ม Task ติดตั้งแพ็กเกจ สร้างไฟล์ตั้งค่าจาก Template และเปิดบริการให้เริ่มอัตโนมัติ ใช้ Handler รีสตาร์ตบริการเฉพาะเมื่อไฟล์ตั้งค่าเปลี่ยน แล้วรันด้วยโหมด Check และ Diff ก่อนรันจริง

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

เหมาะกับผู้ดูแลระบบที่ต้องดูแลเซิร์ฟเวอร์หลายเครื่อง DevOps Engineer ที่ต้องการทำงานตั้งค่าเครื่องให้เป็นอัตโนมัติ ทีม Infrastructure ที่ต้องการให้ทุกเครื่องมีมาตรฐานเดียวกัน และผู้ที่ใช้ Terraform สร้างเครื่องแล้วต้องตั้งค่าต่อ ควรใช้คำสั่ง Linux พื้นฐานได้ เข้าใจการเชื่อมต่อ SSH และ SSH Key และอ่านไฟล์ YAML ได้ ไม่จำเป็นต้องเขียนโปรแกรมเป็น

เรียนจบหลักสูตร Configuration Management ด้วย Ansible แล้วทำอะไรได้บ้าง

เขียน Inventory และสั่งงานหลายเครื่องพร้อมกันด้วย Ad-hoc Command เขียน Playbook ตั้งค่าเครื่องใหม่ตาม Checklist ขององค์กร สร้างไฟล์ตั้งค่าเฉพาะเครื่องด้วย Template และ Jinja2 จัดโค้ดเป็น Role ที่ใช้ซ้ำได้ แยกค่าระหว่าง Dev Staging และ Production เก็บความลับด้วย Ansible Vault และรันจาก CI/CD ต่อจาก Terraform ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร Configuration Management ด้วย Ansible ให้ทีมในองค์กรได้ไหม

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