โลโก้ Ansible
อันดับ 85 ใน Top 100 DevOps และ CI/CDGPLv3 (โอเพนซอร์ส)

Ansible คืออะไร และวิธีใช้ตั้งค่าเซิร์ฟเวอร์อัตโนมัติ

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

หมวดหมู่
DevOps และ CI/CD
ติดตั้งบนเซิร์ฟเวอร์เองได้
ได้
สเปกเริ่มต้นที่แนะนำ
1 vCPU · RAM 2 GB
ไลเซนส์
GPLv3 (โอเพนซอร์ส)
เว็บทางการ
เปิดเว็บไซต์
สร้าง Cloud Server เดี๋ยวนี้
  • ISO/IEC 27001
  • ISO 22301
  • ISO 20000-1
  • CSA-STAR

Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย

Ansible คืออะไร

เมื่อองค์กรมีเซิร์ฟเวอร์หลายเครื่อง การตั้งค่าด้วยมือทำให้แต่ละเครื่องค่อย ๆ ต่างกันจนแก้ปัญหายาก Ansible แก้เรื่องนี้ด้วยการเก็บสถานะที่ต้องการไว้เป็นไฟล์ YAML แล้วบังคับให้ทุกเครื่องเป็นไปตามนั้น

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

งานที่ Ansible ทำได้ดีคือการติดตั้งซอฟต์แวร์ ตั้งค่าไฟล์ จัดการผู้ใช้ และรันขั้นตอน Deploy ส่วนงานสร้างโครงสร้างพื้นฐานตั้งแต่ต้น เช่น สร้างเครื่องใหม่ มักใช้คู่กับ Terraform

แผนผังการวางระบบ Ansible บน Cloud Server หนึ่งเครื่องที่ Data Center ในประเทศไทย ผู้ใช้เข้าถึงผ่านไฟร์วอลล์ที่เปิดเฉพาะพอร์ต 22 ตัว Ansible และข้อมูลอยู่บนเครื่องเดียวกัน เริ่มต้นที่ 1 vCPU แรม 2 GB และมีสำเนาสำรองเขียนออกไปเก็บอีกไซต์หนึ่ง
Ansible ทำงานบน Cloud Server เครื่องเดียวได้ครบ เปิดเฉพาะพอร์ตที่จำเป็น ข้อมูลและสำเนาสำรองอยู่ใน Data Center ในประเทศไทย

ความสามารถเด่นของ Ansible

ไม่ต้องลง Agent

ทำงานผ่าน SSH จึงใช้กับเซิร์ฟเวอร์ที่มีอยู่แล้วได้ทันที

เขียนด้วย YAML ที่อ่านง่าย

คนที่ไม่ใช่นักพัฒนาก็อ่าน Playbook เข้าใจได้ว่าระบบถูกตั้งค่าอย่างไร

รันซ้ำได้โดยไม่พัง

ออกแบบให้ตรวจสถานะก่อนทำ ถ้าเครื่องอยู่ในสถานะที่ต้องการแล้วจะข้ามไป

โมดูลสำเร็จรูปจำนวนมาก

ครอบคลุมทั้งการติดตั้งแพ็กเกจ ตั้งค่าบริการ จัดการไฟล์ ผู้ใช้ และ Firewall

ใช้ Ansible ทำอะไรได้บ้าง

  • ตั้งค่า Cloud Server ใหม่ให้เหมือนกันทุกเครื่องภายในไม่กี่นาที
  • อัปเดตแพตช์ความปลอดภัยพร้อมกันทั้งฟาร์มเซิร์ฟเวอร์
  • Deploy แอปขึ้นหลายเครื่องตามลำดับที่กำหนด
  • บันทึกวิธีตั้งค่าระบบเป็นเอกสารที่รันได้จริง แทนคู่มือที่ล้าสมัย

สเปก Cloud Server ที่แนะนำ

แผนภาพเทียบสเปก Cloud Server สำหรับ Ansible 3 ระดับ เริ่มจาก 1 vCPU แรม 2 GB ดิสก์ NVMe 20 GB ไปจนถึง 4 vCPU แรม 8 GB ดิสก์ NVMe 80 GB โดยเทียบขนาดแยกตามแต่ละคอลัมน์
เริ่มจากระดับที่ตรงกับการใช้งานตอนนี้ แล้วเพิ่ม CPU และ RAM ทีหลังได้บนเครื่องเดิม
ระดับการใช้งานvCPURAMDisk
เครื่องควบคุมAnsible รันจากเครื่องเดียวไปสั่งงานเครื่องอื่น1 vCPU2 GBNVMe 20 GB
แนะนำดูแลเซิร์ฟเวอร์หลายสิบเครื่องพร้อมเก็บ Playbook ใน Git2 vCPU4 GBNVMe 40 GB
ระบบใหญ่รัน Playbook พร้อมกันหลายชุดหรือใช้ร่วมกับระบบ CI4 vCPU8 GBNVMe 80 GB

ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ

วิธีติดตั้ง Ansible บน Cloud Server ของ THAI DATA CLOUD

ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server

สิ่งที่ต้องเตรียม

  • เครื่องควบคุมที่ติดตั้ง Python 3 และ Ansible
  • สิทธิ์ SSH ไปยังเซิร์ฟเวอร์ปลายทางด้วยคีย์ (ไม่แนะนำให้ใช้รหัสผ่าน)
  • ผู้ใช้ปลายทางที่มีสิทธิ์ sudo

ทดสอบบน Ubuntu Server 24.04 LTS

  1. 1

    ติดตั้ง Ansible

    sudo apt update
    sudo apt -y install ansible
    ansible --version
  2. 2

    สร้างไฟล์ Inventory ระบุเครื่องปลายทาง

    สร้างไฟล์ inventory.ini ที่จัดกลุ่มเซิร์ฟเวอร์ตามหน้าที่

    [web]
    10.10.0.11
    10.10.0.12
    
    [db]
    10.10.0.20
    
    [all:vars]
    ansible_user=deploy
    ansible_ssh_private_key_file=~/.ssh/id_ed25519
  3. 3

    ทดสอบการเชื่อมต่อ

    ansible -i inventory.ini all -m ping
  4. 4

    เขียน Playbook แรก

    ตัวอย่างนี้ติดตั้ง Nginx เปิดบริการ และตั้งค่า Firewall ให้เครื่องกลุ่ม web ทุกเครื่อง

    - name: Setup web servers
      hosts: web
      become: true
      tasks:
        - name: Install nginx
          apt:
            name: nginx
            state: present
            update_cache: true
    
        - name: Ensure nginx is running
          service:
            name: nginx
            state: started
            enabled: true
    
        - name: Allow HTTP and HTTPS
          ufw:
            rule: allow
            name: "Nginx Full"
  5. 5

    รัน Playbook

    ใช้ตัวเลือก check ก่อนเพื่อดูว่าจะมีอะไรเปลี่ยนบ้างโดยยังไม่ลงมือจริง

    ansible-playbook -i inventory.ini site.yml --check
    ansible-playbook -i inventory.ini site.yml
  6. 6

    เก็บความลับด้วย Ansible Vault

    ansible-vault create secrets.yml
    ansible-playbook -i inventory.ini site.yml --ask-vault-pass

เก็บ Playbook ไว้ใน Git เสมอ เพราะนั่นคือเอกสารที่บอกว่าระบบถูกตั้งค่าอย่างไร และย้อนดูได้ว่าใครเปลี่ยนอะไรเมื่อไหร่

พอร์ตที่ต้องเปิดบน Firewall

พอร์ตโปรโตคอลใช้ทำอะไร
22TCPSSH จากเครื่องควบคุมไปยังเซิร์ฟเวอร์ปลายทาง

สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ

  • ใช้คีย์ SSH แทนรหัสผ่าน และจำกัดว่าเครื่องควบคุมเข้าถึงได้จากไอพีใดบ้าง
  • เก็บรหัสผ่านและคีย์ในไฟล์ที่เข้ารหัสด้วย Ansible Vault ไม่วางเป็นข้อความธรรมดา
  • ใช้ตัวเลือก check ก่อนรันจริงกับระบบ Production เสมอ
  • จำกัดสิทธิ์ของผู้ใช้ที่ Ansible ใช้เชื่อมต่อ ไม่ใช้ root โดยตรงถ้าเลี่ยงได้
  • ทบทวนสิทธิ์การเข้าถึงที่เก็บ Playbook เพราะไฟล์เหล่านี้อธิบายโครงสร้างระบบทั้งหมด

ทำไมควรรัน Ansible บน Cloud Server ของ THAI DATA CLOUD

Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง

เมื่อสร้าง Cloud Server ใหม่ Ansible ตั้งค่าให้เหมือนเครื่องเดิมได้ในไม่กี่นาที ทำให้ขยายระบบเร็วขึ้นมาก

ใช้ตั้งค่าความปลอดภัยพื้นฐานเหมือนกันทุกเครื่อง ทั้ง Firewall, Fail2ban และการอัปเดตอัตโนมัติ

ทีมวิศวกรของ THAI DATA CLOUD ใช้แนวทางเดียวกันในการดูแลเครื่องของลูกค้าที่ใช้บริการ Managed Services

คำถามที่พบบ่อยเกี่ยวกับ Ansible

Ansible ต่างจาก Terraform อย่างไร

Terraform ใช้สร้างโครงสร้างพื้นฐาน เช่น สร้างเครื่อง เครือข่าย และดิสก์ ส่วน Ansible ใช้ตั้งค่าสิ่งที่อยู่ภายในเครื่องหลังจากสร้างเสร็จ หลายทีมใช้ทั้งคู่ควบคู่กัน

ต้องติดตั้งอะไรบนเครื่องปลายทางไหม

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

เหมาะกับองค์กรที่มีเซิร์ฟเวอร์ไม่กี่เครื่องไหม

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

ให้เราติดตั้ง Ansible ให้ฟรี บน Cloud Server ในไทย

แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด