Skip to main content

Network Load Balancer (NLB)

Overview

  • Network Load Balancer (NLB) ทำงานที่ Layer 4

    • หมายถึง รองรับ TCP และ UDP traffic
    • ต่ำกว่าการทำงานของ Layer 7 (HTTP)
  • เหมาะกับการ Load Balance TCP หรือ UDP traffic

An image

จุดเด่น:

  • ออกแบบมาสำหรับ ประสิทธิภาพสูงสุด
  • รองรับ ล้านคำขอต่อวินาที (millions of requests per second)
  • Latency ต่ำมาก → เหมาะกับงานเครือข่ายที่ต้องการความเร็วสูง

IP คงที่ (Static IP)

  • NLB ให้ IP คงที่ 1 IP ต่อ Availability Zone
  • สามารถ กำหนด Elastic IP ให้แต่ละ Availability Zone ได้
  • ใช้เมื่อแอปต้องเข้าถึงผ่าน IP เฉพาะหนึ่งหรือหลาย IP

ตัวอย่างสำหรับสอบ:

  • ถ้าโจทย์บอกว่า ต้องเข้าผ่าน IP เฉพาะ หรือ ต้องการประสิทธิภาพสูงสำหรับ TCP/UDP → คิดถึง NLB

วิธีการทำงานของ Network Load Balancer

  • คล้ายกับ Application Load Balancer (ALB)
  • สร้าง Target Groups → NLB ส่ง Traffic ไปยัง Target Groups
  • ตัวอย่าง: Frontend ใช้ TCP, Backend อาจใช้ GTP หรือ Protocol อื่น

Target Groups

  • Target Groups ของ NLB สามารถประกอบด้วย:

    • EC2 Instances → NLB ส่ง TCP/UDP traffic ตรงไปยัง EC2

    • IP Addresses → ต้องเป็น Private IP และ Hard-Coded

      • ใช้ได้ทั้ง EC2 ใน AWS และ Server On-Premises
  • NLB สามารถวาง หน้าของ ALB ได้

    • NLB → จัดการ IP คงที่
    • ALB → จัดการ HTTP Traffic + Routing Rules
    • ทำให้ได้ประสิทธิภาพสูงและยังรองรับ Routing Rules ของ HTTP

An image

Health Checks

  • Target Groups ของ NLB รองรับ Health Checks ผ่าน:

    • TCP
    • HTTP
    • HTTPS
  • ถ้า Backend Application รองรับ HTTP/HTTPS → สามารถตั้ง Health Check ได้

สรุป Key Takeaways

  • NLB ทำงานที่ Layer 4 → รองรับ TCP และ UDP
  • ประสิทธิภาพสูงมาก → ล้านคำขอต่อวินาที + Latency ต่ำ
  • Static IP 1 IP ต่อ Availability Zone, สามารถใช้ Elastic IP
  • Target Groups → EC2 Instances หรือ Private IP (รวมถึง On-Premises)
  • สามารถวาง หน้าของ ALB → รวมข้อดีของ IP คงที่กับ HTTP Routing
  • Health Checks รองรับ TCP, HTTP, และ HTTPS