NLB (Network Load Balancer)

2 phút đọcSeries: NoteBook: AWS Certified Solutions Architect Associate SAA-C031 lượt xem

Tổng quan

  • Network Load Balancer (NLB) hoạt động ở Layer 4 (Transport Layer – TCP/UDP), cho phép:
    • Forward TCP & UDP traffic đến các instance trong target group
      • TCP: Bao gồm cả HTTP, HTTPS, gRPC, v.v.
      • UDP: Hữu ích cho game servers, VoIP, DNS, custom protocols
    • Xử lý hàng triệu request mỗi giây (scale cực lớn)
    • Độ trễ cực thấp (Ultra-low latency) – phù hợp cho hệ thống real-time hoặc latency-sensitive (game, VoIP, stock...)
  • NLB cung cấp 1 địa chỉ IP tĩnh (static IP) trên mỗi Availability Zone (AZ)
    → Cho phép gán Elastic IP nếu cần
    → Rất phù hợp cho các hệ thống cần whitelist IP (ví dụ firewall, client system yêu cầu IP cố định)
  • NLB thường được sử dụng cho hệ thống yêu cầu hiệu năng cực cao, xử lý traffic dạng TCP hoặc UDP
    → Ví dụ: Load balancing cho database TCP, game server, SIP traffic...
  • Không nằm trong AWS Free Tier (khác với ALB có giới hạn miễn phí)

NLB - Target Group

NLB có thể route đến các kiểu Target Group sau:

EC2 Instances

Target là instance ID cụ thể (VD: i-1234567890abcdef0)

✅ Phù hợp khi bạn dùng EC2, không cần biết IP vì AWS tự xử lý.

IP Addresses (Private IP)

Target là IP cụ thể (VD: 192.168.1.118, 10.0.4.21)

✅ Dùng khi muốn forward tới 1 service không phải EC2, hoặc ngoài tài khoản AWS hiện tại. Miễn là IP đó private và kết nối được trong VPC.

⚠️ Chỉ private IP — không forward đến public IP.

Application Load Balancer (ALB)

Target là một ALB khác — rất hay ho để làm chained load balancing.

✅ Dùng khi cần chia NLB xử lý traffic tầng 4 (TCP) rồi đẩy cho ALB xử lý tầng 7 (HTTP routing, header, path, v.v.)

  • Kiến thức nền: OSI Model
LayerTênGiao thức thường gặpVai trò
7ApplicationHTTP, HTTPS, WebSocket, gRPCXử lý nội dung request (path, headers, cookies, v.v.)
6PresentationSSL/TLSMã hóa/giải mã
5Session-Quản lý phiên
4TransportTCP, UDPXác định kết nối giữa client-server (port)
3NetworkIPĐịnh tuyến
2Data LinkEthernetTrao đổi frame giữa các thiết bị mạng
1PhysicalCáp, WifiBit-level data
Về Health Check:
  • NLB có thể dùng protocol health check là: TCP, HTTP, HTTPS
    • Nghĩa là bạn dùng NLB nhưng vẫn có thể check tình trạng service qua HTTP (ví dụ: /healthz) để xem service có OK không, dù bản thân NLB hoạt động ở layer 4.
Bạn thấy bài này thế nào?