Contact
Line : comsiam
Contact
Line : comsiam

เมื่อจำนวน Server เพิ่มขึ้น การเข้า Remote Desktop ทีละเครื่องเพื่อแก้ไขปัญหา ติดตั้ง Software หรือเปลี่ยน Configuration จะกลายเป็นงานที่เสียเวลามาก
Ansible เป็นเครื่องมือ Automation ที่ได้รับความนิยมระดับโลก ช่วยให้ Administrator จัดการ Windows Server หลายสิบหรือหลายร้อยเครื่องพร้อมกันได้จากศูนย์กลาง
แม้หลายคนจะมองว่า Ansible เหมาะกับ Linux แต่ความจริงแล้ว Ansible สามารถทำงานกับ Windows Server 2025 ได้ดีมากผ่าน WinRM
Ansible เป็น Automation Platform แบบ Open Source
ใช้สำหรับ
Ansible ถูกพัฒนาโดย Red Hat และได้รับความนิยมในองค์กรทั่วโลก
ข้อดีหลัก
จึงได้รับความนิยมอย่างมากใน Data Center ยุคใหม่
โครงสร้างพื้นฐาน
Ansible Controller
↓
WinRM
↓
Windows Server
Controller จะส่งคำสั่งไปยัง Server ผ่าน WinRM
ฝั่ง Windows Server
ฝั่ง Controller
ตัวอย่าง
Enable-PSRemoting -Force
จากนั้นตรวจสอบ
Test-WSMan localhost
หากตอบกลับข้อมูล Service แสดงว่าพร้อมใช้งาน
บน Linux
ตัวอย่าง
sudo apt update
sudo apt install ansible -y
ตรวจสอบเวอร์ชัน
ansible --version
ติดตั้ง Python Module
pip install pywinrm
Ansible จะใช้ Module นี้เชื่อมต่อกับ Windows
ตัวอย่างไฟล์
[windows]
server01
server02
server03
หรือ
[windows]
192.168.1.10
192.168.1.11
192.168.1.12
Inventory คือรายการ Server ที่ต้องการจัดการ
ตัวอย่าง
[windows:vars]
ansible_user=administrator
ansible_password=Password123!
ansible_connection=winrm
ansible_winrm_transport=ntlm
ansible_port=5985
ช่วยให้ Ansible เชื่อมต่อได้อัตโนมัติ
ตัวอย่าง
ansible windows -i inventory.ini -m win_ping
ผลลัพธ์
pong
แสดงว่าพร้อมใช้งาน
ตัวอย่าง
ansible windows `
-i inventory.ini `
-m win_shell `
-a "Get-Service"
Ansible จะดึงข้อมูล Service จากทุกเครื่อง
ตัวอย่าง
ansible windows `
-i inventory.ini `
-m setup
ช่วยเก็บข้อมูล Inventory ของ Server
ตัวอย่าง
- name: Restart DNS
win_service:
name: DNS
state: restarted
ช่วยจัดการ Service หลายเครื่องพร้อมกัน
ตัวอย่าง
- name: Install IIS
win_feature:
name: Web-Server
state: present
Ansible จะติดตั้ง IIS ให้ทุก Server
ตัวอย่าง
- name: Create User
win_user:
name: admin01
password: Password123!
state: present
เหมาะกับการจัดการ User จำนวนมาก
ตัวอย่าง
- name: Copy File
win_copy:
src: config.txt
dest: C:\Config\config.txt
ใช้ Deploy Configuration ได้สะดวก
ตัวอย่าง
- name: Run Script
win_shell: C:\Scripts\Maintenance.ps1
ช่วยทำ Automation ได้หลากหลาย
Playbook คือชุดคำสั่ง YAML ที่ใช้ควบคุม Infrastructure
ตัวอย่าง
---
- hosts: windows
tasks:
- name: Install IIS
win_feature:
name: Web-Server
state: present
เปรียบเสมือน Script ขนาดใหญ่ของ Ansible
ตัวอย่าง
ansible-playbook `
-i inventory.ini `
iis-install.yml
ระบบจะติดตั้ง IIS ทุกเครื่องใน Inventory
ตัวอย่างงาน
ช่วยลดงาน Manual อย่างมาก
ตัวอย่าง
เหมาะกับ Web Farm
สามารถ
ได้จากส่วนกลาง
ตัวอย่าง
ช่วยบริหาร Virtual Infrastructure ได้ง่ายขึ้น
ตัวอย่าง
ช่วยรักษามาตรฐานระบบ
| หัวข้อ | PowerShell | Ansible |
|---|---|---|
| Server เดียว | ดีมาก | ดี |
| หลาย Server | ดี | ดีมาก |
| Inventory | จำกัด | ดีมาก |
| Playbook | ไม่มี | มี |
| IaC | ปานกลาง | สูง |
| Multi Platform | จำกัด | ดีมาก |
องค์กรจำนวนมากจึงใช้ทั้งสองเครื่องมือร่วมกัน
ปัญหายอดนิยม
ควรทดสอบการเชื่อมต่อก่อนทุกครั้ง
ควรทำดังนี้
ช่วยให้บริหาร Infrastructure ได้ง่ายขึ้นมาก
Windows Server 2025 รองรับ
ได้อย่างสมบูรณ์
จึงสามารถทำงานร่วมกับ Ansible ได้ดีมาก
Ansible เป็นเครื่องมือ Automation ที่ทรงพลังสำหรับ Windows Server 2025 ช่วยให้ Administrator จัดการ Server จำนวนมากผ่าน Playbook และ Infrastructure as Code ได้อย่างมีประสิทธิภาพ ลดงาน Manual และเพิ่มความสม่ำเสมอของระบบ
ทีมงาน comsiam แนะนำให้ผู้ดูแลระบบที่ต้องดูแลหลาย Server เริ่มศึกษา Ansible ควบคู่กับ PowerShell เพราะทั้งสองเครื่องมือเสริมกันได้อย่างดี และ comsiam มองว่า Ansible เป็นหนึ่งในทักษะสำคัญของ Administrator ยุค Automation และ Hybrid Infrastructure
หากคุณต้องติดตั้ง IIS บน Server 200 เครื่อง คุณจะเข้าไปติดตั้งทีละเครื่อง หรือจะใช้ Ansible Playbook เพียงไฟล์เดียวจัดการทั้งหมด?