Chuyển tới nội dung chính

Azure Load Balancing

1. Giới thiệu

Load Balancing là gì?

  • Phân phối traffic đến nhiều servers
  • Tăng availability (server chết → traffic chuyển sang server khác)
  • Tăng scalability (thêm server khi cần)

Health Check: Load Balance liên tục ping servers, server không phản hồi → ngừng gửi traffic


2. Layer 4 vs Layer 7

Layer 4Layer 7
Hiểu đượcIP + PortHTTP URL, Headers, Cookies
Ví dụ routingPort 80 → Server Pool/api/* → API Pool
Tốc độNhanhChậm hơn
ProtocolTCP/UDP/Bất kỳChỉ HTTP/HTTPS
Tính năngĐơn giảnWAF, SSL Termination, URL routing

3. Các dịch vụ Load Balancer

A. Azure Load Balancer (Layer 4)

  • Loại: Regional (Trong 1 Region).

  • Chức năng: Phân phối traffic TCP/UDP đơn giản.

  • Public LB: Có Public IP. Dùng để nhận traffic từ Internet vào VM.

  • Internal LB: Chỉ có Private IP. Dùng để cân bằng tải giữa các tầng nội bộ (VD: Web Server gọi xuống DB Cluster).

  • Tính năng:

    • Hash-based Distribution: Phân phối traffic dựa trên hash của Source IP, Destination IP, Port
    • Session Persistence: Client IP affinity (2-tuple, 3-tuple, 5-tuple hash)
    • Port Forwarding: Inbound NAT rules để RDP/SSH vào specific VM
    • High Availability: Zone-redundant deployment (Standard SKU)
    • Outbound Connectivity: SNAT cho VMs không có Public IP

B. Azure Application Gateway (Layer 7)

Đặc điểm chính

  • Layer: Layer 7 (Application Layer)
  • Scope: Regional (1 Azure Region)
  • Protocol: Chỉ HTTP và HTTPS
  • Đặc biệt: Hiểu được nội dung HTTP request

Kiến trúc

  • Tính năng:
    • URL-based Routing (Path-based Routing): Routing dựa trên URL path
    • Multi-site Hosting: Host nhiều websites trên 1 Application Gateway
    • SSL Termination: Giải mã SSL tại Gateway, giảm tải cho Web Server.
    • Cookie-based Affinity: Giữ User luôn kết nối vào đúng Server cũ (Sticky Session).
    • WAF (Web Application Firewall): Chống hack (SQL Injection, XSS).

C. Azure Front Door (Layer 7 - Global)

Đặc điểm chính

  • Layer: Layer 7 (Application Layer)
  • Scope: Global (toàn cầu, tất cả Azure Regions)
  • Protocol: HTTP và HTTPS
  • Đặc biệt: CDN tích hợp + Global load balancing
  • Cơ chế: Sử dụng mạng lưới CDN của Microsoft. User ở VN sẽ kết nối vào trạm (Edge) gần nhất ở VN, sau đó đi đường cáp quang riêng của Microsoft về Server ở Mỹ -> Tăng tốc độ truy cập.

Kiến trúc Global

  • Tính năng:
    • Global Load Balancing: latency thấp
    • Routing Methods: Priority-based (Failover), Weighted (Load Distribution), Latency-based (Performance)
    • CDN & Caching
    • SSL/TLS Management: Free managed certificates (auto-renewal),...
    • WAF (Web Application Firewall): Chống hack (SQL Injection, XSS).

D. Azure Traffic Manager (DNS-based)

Đặc điểm chính

  • Type: DNS-based Global Load Balancer
  • Scope: Global (toàn cầu)
  • Protocol: Bất kỳ (vì chỉ trả lời DNS)
  • Đặc biệt: Không nằm trên data path, chỉ chỉ đường DNS
  • Cơ chế: Khi User hỏi "IP của web là gì?", Traffic Manager trả lời IP của Region gần User nhất. Nó không nằm trên đường truyền dữ liệu (Data Path), chỉ chỉ đường.

4. Bảng chọn nhanh (Decision Guide)

So sánh tổng hợp 4 dịch vụ

Load BalancerApp GatewayFront DoorTraffic Manager
Layer4 (TCP/UDP)7 (HTTP/S)7 (HTTP/S)DNS-based
ScopeRegionalRegionalGlobalGlobal
ProtocolAnyHTTP/S onlyHTTP/S onlyAny
RoutingIP:PortURL/HostURL/Host/GeoDNS methods
WAF
SSL
CDN
Latency⚡ Rất thấp⚡ Thấp⚡ ThấpN/A
FailoverTrong RegionTrong RegionGlobal autoGlobal (DNS TTL)
Data Path
Price/month~$20~$150~$300~$7

Kết luận:

Nhu cầuDịch vụ nên dùng
Web App (HTTP/S), cần WAF, trong 1 RegionApplication Gateway
Web App toàn cầu, cần tăng tốc độAzure Front Door
Non-HTTP (Game, DB, TCP), trong 1 RegionAzure Load Balancer
Điều hướng traffic đa vùng đơn giản, giá rẻTraffic Manager

Tài liệu tham khảo: