ALB vs NLB vs GLB
โหลดบาลานเซอร์ 3 ประเภทหลัก ต่างกันยังไง
ALB (พนักงานส่งจดหมายฉลาด) เปิดอ่านซองจดหมายดูว่าจ่าหน้าซองหาแผนกไหน แล้วค่อยเลือกเส้นทางส่ง. NLB (พนักงานโบกรถไฟ) ไม่สนใจว่าข้างในจดหมายเขียนว่าอะไร รู้แค่ว่ามาจาก IP ไหน ส่งไปท่อไหน ไวทะลุนรก! GLB (ด่านตรวจความมั่นคง) กรองตรวจอาวุธทุกคันก่อนปล่อยเข้าสู่ตัวเมือง
AWS มีเครื่องมือกระจายโหลดให้เราเลือกใช้ตามเลเยอร์ (OSI Model) และเป้าหมายการทำงานที่แตกต่างกัน:
- ALB (Application Load Balancer - กระจายโหลดระดับแอปพลิเคชัน) — ทำงานที่ Layer 7 (ระดับ HTTP/HTTPS) มันฉลาดถึงขั้นแกะอ่าน URL ของคำขอได้ เช่น ถ้าลูกค้าขอเปิดเว็บ URL
.../videoมันจะโยนไปให้เซิร์ฟเวอร์แก๊งทำวิดีโอ แต่ถ้า URL.../ordersก็โยนไปแก๊งจัดการออเดอร์ (Path-based routing) - NLB (Network Load Balancer - กระจายโหลดระดับเครือข่าย) — ทำงานที่ Layer 4 (ระดับ TCP/UDP) มันจะไม่อ่านเนื้อหาข้างในเลย แค่รับ IP ส่งต่อ IP ล้วนๆ ทำให้มันรองรับคำขอระดับ ล้านคำขอต่อวินาที (Millions of requests/sec) โคตรเร็วและมีความหน่วงต่ำสุดๆ
- GLB (Gateway Load Balancer - กระจายโหลดระดับเกตเวย์) — ทำงานระดับ Layer 3/4 ออกแบบมาเฉพาะเพื่อใช้แทรก "อุปกรณ์ไฟร์วอลล์ (Third-party Firewall/IDS/IPS)" เป็นด่านตรวจเข้มก่อนปล่อยข้อมูลเข้าสู่เครือข่ายหลัก
สรุป Key Takeaways
- ALB = Layer 7 (HTTP/HTTPS) ฉลาด เลี้ยวคิวตาม URL (path-based routing) ได้
- NLB = Layer 4 (TCP/UDP) ไม่อ่านข้างใน เน้นความเร็วสูงสุด (ล้าน request/วิ)
- GLB = Layer 3/4 ใช้ดักทราฟฟิกให้วิ่งผ่านอุปกรณ์ third-party firewall ตรวจก่อน
คำถามที่พบบ่อย
จะเลือก ALB หรือ NLB ดี ตัดสินใจจากอะไร
ถามคำถามเดียว: แอปคุยกันด้วย HTTP/HTTPS ไหม ถ้าใช่และอยากได้ routing ฉลาดๆ ตาม path หรือ hostname ให้ใช้ ALB แต่ถ้าเป็น TCP/UDP ล้วนๆ ต้องการ latency ต่ำสุดๆ หรือต้องการ static IP ให้ใช้ NLB
ALB ให้ Static IP ได้ไหม
ไม่ได้โดยตรง — ALB ให้เป็น DNS name ที่เบื้องหลัง IP เปลี่ยนได้ตลอด ถ้าโจทย์บังคับว่าต้องมี IP คงที่ ทางแก้คือเอา NLB (ซึ่งมี static IP ได้) วางไว้หน้า ALB หรือใช้ AWS Global Accelerator ครอบอีกชั้น — ประเด็นนี้ออกข้อสอบบ่อย
Gateway Load Balancer ใช้ในสถานการณ์ไหนจริงๆ
เมื่อองค์กรต้องการบังคับให้ traffic ทุกเส้นวิ่งผ่านอุปกรณ์ตรวจสอบของ third-party เช่น firewall, IDS/IPS ก่อนเข้าระบบ — GLB จะรับ traffic แล้วส่งต่อไปให้ fleet ของ appliance เหล่านั้นตรวจ (ผ่านโปรโตคอล GENEVE) แล้วค่อยปล่อยไปปลายทาง
Classic Load Balancer ยังต้องรู้ไหม
CLB เป็นรุ่นเก่าที่ AWS ไม่แนะนำให้ใช้กับงานใหม่แล้ว ข้อสอบ SAA-C03 แทบไม่ถามถึง ให้โฟกัสที่ ALB, NLB และ GLB เป็นหลัก
ลองทำ Quiz ท้ายบท
คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

