HAProxy คืออะไร และวิธีติดตั้ง Load Balancer บน Cloud Server
HAProxy คือซอฟต์แวร์กระจายโหลดที่ขึ้นชื่อเรื่องความเสถียรและประสิทธิภาพ ใช้กระจายทราฟฟิกไปยังเซิร์ฟเวอร์หลายเครื่อง พร้อมตรวจสุขภาพและถอดเครื่องที่มีปัญหาออกจากวงโดยอัตโนมัติ
- หมวดหมู่
- Web Server และ Proxy
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 2 GB
- ไลเซนส์
- GPLv2 (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
HAProxy คืออะไร
เมื่อระบบโตจนเครื่องเดียวรับไม่ไหว หรือธุรกิจรับความเสี่ยงที่เครื่องเดียวล่มแล้วทั้งระบบหยุดไม่ได้ ทางออกคือมีเซิร์ฟเวอร์หลายเครื่องและมีตัวกระจายโหลดอยู่ด้านหน้า HAProxy คือซอฟต์แวร์ที่ทำหน้าที่นั้นและถูกใช้ในระบบขนาดใหญ่ทั่วโลก
HAProxy ทำงานได้ทั้งระดับ TCP และ HTTP จึงกระจายโหลดได้ทั้งเว็บ ฐานข้อมูล และบริการอื่น พร้อมความสามารถอย่างการทำ Sticky Session ให้ผู้ใช้คนเดิมกลับไปเครื่องเดิม และการตรวจสุขภาพเครื่องหลังบ้านตามรอบ
ในสถาปัตยกรรมที่ต้องการความพร้อมใช้งานสูงจริง ตัว HAProxy เองก็ควรมีสองเครื่องและใช้ Virtual IP สลับกัน เพื่อไม่ให้ตัวกระจายโหลดกลายเป็นจุดล้มเหลวจุดเดียวของระบบ
ความสามารถเด่นของ HAProxy
กระจายโหลดหลายอัลกอริทึม
เลือกได้ทั้งแบบวนรอบ แบบเลือกเครื่องที่มีการเชื่อมต่อน้อยที่สุด หรือแบบอิงค่าแฮชของผู้ใช้
ตรวจสุขภาพอัตโนมัติ
ถอดเครื่องที่ไม่ตอบสนองออกจากวงทันที และนำกลับเข้ามาเมื่อกลับมาปกติ
รองรับ TLS Termination
ถอดรหัส HTTPS ที่ชั้นหน้าเพื่อลดภาระเครื่องหลังบ้าน หรือส่งต่อแบบเข้ารหัสทั้งเส้นทางก็ได้
หน้าสถิติในตัว
ดูสถานะการเชื่อมต่อและสุขภาพของทุกเครื่องหลังบ้านได้จากหน้าเว็บเดียว
ใช้ HAProxy ทำอะไรได้บ้าง
- กระจายโหลดเว็บไปยัง Cloud Server หลายเครื่องเพื่อรองรับผู้ใช้จำนวนมาก
- ทำ High Availability ให้ระบบที่หยุดไม่ได้ เช่น ระบบชำระเงินหรือ API หลัก
- กระจายการเชื่อมต่อฐานข้อมูลแบบอ่านไปยัง Replica หลายตัว
- ทยอยเปลี่ยนเวอร์ชันแอปโดยไม่ต้องปิดระบบ
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นกระจายโหลดเว็บ 2 ถึง 3 เครื่อง | 2 vCPU | 2 GB | NVMe 20 GB |
| แนะนำระบบ Production ที่มีทราฟฟิกต่อเนื่อง | 4 vCPU | 4 GB | NVMe 40 GB |
| ทราฟฟิกสูงรับหลายหมื่นการเชื่อมต่อพร้อมกันและถอดรหัส TLS ที่ชั้นหน้า | 8 vCPU | 8 GB | NVMe 80 GB |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง HAProxy บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
- Cloud Server ปลายทางอย่างน้อยสองเครื่องในวง Private Network เดียวกัน
- ใบรับรอง SSL ในรูปแบบไฟล์ PEM ถ้าจะถอดรหัสที่ชั้นหน้า
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
ติดตั้ง HAProxy
sudo apt update sudo apt -y install haproxy sudo systemctl enable haproxy - 2
ตั้งค่าใน /etc/haproxy/haproxy.cfg
ตัวอย่างนี้รับ HTTP ที่พอร์ต 80 แล้วกระจายไปยังเว็บสองเครื่องในวงภายใน พร้อมตรวจสุขภาพ
frontend web_in bind *:80 default_backend web_servers backend web_servers balance roundrobin option httpchk GET /health server web1 10.10.0.11:80 check server web2 10.10.0.12:80 check listen stats bind 127.0.0.1:8404 stats enable stats uri / - 3
ตรวจไฟล์ตั้งค่าก่อนเริ่มบริการ
ขั้นตอนนี้สำคัญมาก เพราะไฟล์ตั้งค่าผิดจะทำให้บริการไม่ขึ้นและเว็บทั้งระบบล่ม
sudo haproxy -c -f /etc/haproxy/haproxy.cfg sudo systemctl restart haproxy - 4
เพิ่มการรับ HTTPS
รวมไฟล์ใบรับรองกับคีย์เป็นไฟล์ PEM เดียว แล้วให้ HAProxy ถอดรหัสที่ชั้นหน้า
sudo mkdir -p /etc/haproxy/certs sudo bash -c 'cat /etc/letsencrypt/live/example.com/fullchain.pem \ /etc/letsencrypt/live/example.com/privkey.pem > /etc/haproxy/certs/example.pem' # แล้วเพิ่มบรรทัดนี้ใน frontend # bind *:443 ssl crt /etc/haproxy/certs/example.pem
ให้เครื่องหลังบ้านเปิดเส้นทาง /health ที่ตอบ 200 เสมอ เพื่อให้การตรวจสุขภาพสะท้อนสถานะจริงของแอป ไม่ใช่แค่ว่าเว็บเซิร์ฟเวอร์ยังทำงานอยู่
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 80 | TCP | รับทราฟฟิก HTTP จากผู้ใช้ |
| 443 | TCP | รับทราฟฟิก HTTPS |
| 8404 | TCP | หน้าสถิติ (ควรเปิดเฉพาะภายในเครื่องหรือผ่าน VPN) |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ไม่เปิดหน้าสถิติสู่อินเทอร์เน็ต หรือถ้าจำเป็นให้ตั้งรหัสผ่านและจำกัดไอพี
- ให้เครื่องหลังบ้านรับทราฟฟิกจากไอพีของ HAProxy เท่านั้น
- เปิด TLS เฉพาะเวอร์ชัน 1.2 ขึ้นไป และเลือกชุดรหัสที่ปลอดภัย
- ตั้งค่าจำกัดจำนวนการเชื่อมต่อต่อไอพีเพื่อลดผลของการยิงคำขอถี่
- วางสองเครื่องพร้อม Keepalived ถ้าระบบต้องการความพร้อมใช้งานสูงจริง
ทำไมควรรัน HAProxy บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
สร้าง Cloud Server เพิ่มเป็นเครื่องหลังบ้านได้ในไม่กี่นาที แล้วเพิ่มเข้าไปในไฟล์ตั้งค่าโดยไม่ต้องหยุดระบบ
ทราฟฟิกระหว่าง HAProxy กับเครื่องหลังบ้านวิ่งใน Private Network ในไทย จึงเร็วและไม่มีค่าใช้จ่ายทราฟฟิกภายใน
วางสถาปัตยกรรมสองไซต์ระหว่าง Data Center ในไทยและสิงคโปร์ได้ เมื่อองค์กรต้องการแผนสำรองข้ามไซต์
คำถามที่พบบ่อยเกี่ยวกับ HAProxy
HAProxy ต่างจาก Nginx ตรงไหน
ทั้งคู่ทำ Load Balancer ได้ แต่ HAProxy ถูกออกแบบมาเพื่องานกระจายโหลดโดยเฉพาะ จึงมีตัวเลือกการตรวจสุขภาพ การจัดคิว และสถิติที่ละเอียดกว่า ส่วน Nginx เด่นกว่าตรงที่เป็นเว็บเซิร์ฟเวอร์และแคชในตัวเดียวกัน
ต้องมีเครื่องหลังบ้านกี่เครื่องถึงคุ้ม
เริ่มที่สองเครื่องก็คุ้มแล้ว เพราะได้ทั้งการกระจายโหลดและความต่อเนื่องเมื่อเครื่องหนึ่งหยุดเพื่ออัปเดต ถ้าระบบสำคัญมากควรมีสามเครื่องเพื่อให้ยังรับโหลดไหวขณะเครื่องหนึ่งปิดปรับปรุง
HAProxy จะกลายเป็นจุดล้มเหลวจุดเดียวหรือไม่
จะเป็นถ้ามีเครื่องเดียว วิธีแก้มาตรฐานคือติดตั้งสองเครื่องแล้วใช้ Keepalived สลับ Virtual IP ให้กันและกัน ทีมงานของเราออกแบบและติดตั้งรูปแบบนี้ให้ได้
ทางเลือกอื่นที่คล้ายกับ HAProxy
แอปอื่นในหมวด Web Server และ Proxy
- #3Nginxเว็บเซิร์ฟเวอร์และ Reverse Proxy ที่เร็วที่สุด
- #8Apache HTTP Serverเว็บเซิร์ฟเวอร์รุ่นคลาสสิกที่รองรับ .htaccess
- #35TraefikReverse Proxy สำหรับยุค Container
- #37Caddyเว็บเซิร์ฟเวอร์ที่ออก SSL อัตโนมัติ
- Envoy ProxyService Proxy สำหรับสถาปัตยกรรม Microservices
- Nginx Proxy Managerจัดการ Reverse Proxy และ SSL จากหน้าเว็บ
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง HAProxy ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด