Bỏ qua đến nội dung
DevOps Lab

EKS NLB — Traffic flow (IP mode vs instance mode)

So sánh đường đi traffic từ client qua NLB tới Pod: IP mode (khuyến nghị) và instance mode (legacy).

EKS NLB traffic flow diagramTraffic từ Web/Mobile clients qua NLB vào EKS pods, so sánh IP mode và Instance modeClientsWeb browserMobile appAPI callergRPC clientInternet / VPCNLBAWS Load BalancerTCP/TLSEKS Cluster (VPC)AZ-aAZ-bEC2 NodeAZ-akube-proxyNodePort DNAT:30080EC2 NodeAZ-bkube-proxyNodePort DNAT:30080PodPodAZ-aPodPodAZ-bNodePortcross-AZ!Direct to pod (free)To node (NodePort)Cross-AZ DNATRoute53DNS resolve
IP modeRecommendedAWS LBC required

Traffic path: Client → NLB → Pod IP trực tiếp (bypass Node/kube-proxy)
Target type: nlb-target-type: "ip" — NLB register Pod IP vào target group

Tại sao dùng:
  • Không có DNAT extra hop qua kube-proxy
  • Preserve source IP của client đến tận Pod
  • Kết hợp được Zonal Affinity + disable cross-zone LB → AZI hoàn chỉnh
  • Latency thấp hơn instance mode
  • Dùng tốt cho TCP, UDP, TLS passthrough, gRPC
Use-case phù hợp: Public API, gRPC services, real-time apps, WebSocket, bất kỳ workload nào cần performance cao hoặc muốn optimize inter-AZ cost.

Annotation cần thiết:
aws-load-balancer-type: "external"
aws-load-balancer-nlb-target-type: "ip"