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

EKS NLB — 3 Availability Zones (top-down + cost)

Clients → Route53 → NLB → ENI theo từng AZ, annotation chi phí và hai chế độ IP / instance.

EKS NLB 3-AZ traffic flow với cost annotation Traffic từ clients qua Route53, NLB, vào EKS pods trên 3 Availability Zones, top-down layout với cost labels Clients Web browser Mobile app API caller gRPC / WebSocket Internet / VPC Route53 Resolver DNS resolve → NLB IPs $0 DNS Network Load Balancer internet-facing / internal NLB LCU cost ~$0.006/LCU-hr EKS Cluster — VPC AZ-a AZ-b AZ-c NLB ENI AZ-a endpoint NLB ENI AZ-b endpoint NLB ENI AZ-c endpoint EC2 Node kube-proxy / NodePort :30080 AZ-a EC2 Node kube-proxy / NodePort :30080 AZ-b EC2 Node kube-proxy / NodePort :30080 AZ-c Pod 1 Pod 2 Pod 3 Pod 4 Pod 1 Pod 2 Pod 3 Pod 4 Pod 1 Pod 2 Pod 3 Pod 4 $0 — same AZ, direct $0 — same AZ, direct $0 — same AZ, direct $0 node→pod same AZ $0 node→pod same AZ $0 node→pod same AZ $0.02/GB — kube-proxy DNAT cross-AZ (ẩn, xảy ra ngẫu nhiên!) $0.02/GB nếu client khác AZ với NLB ENI (không bật Zonal Affinity) Same-AZ ($0) NLB routing NodePort (instance) Cross-AZ DNAT ($0.02/GB) Cost hot zones: Client x-AZ → NLB ENI kube-proxy x-AZ DNAT NLB ENI → Pod same AZ
IP modeRecommendedAWS LBC required
Traffic path: Client → Route53 → NLB → NLB ENI (AZ) → Pod IP trực tiếp
Cost breakdown:
  • DNS query: $0
  • NLB processing: ~$0.006/LCU-hr
  • Client → NLB ENI cùng AZ: $0 (cần bật Zonal Affinity)
  • Client → NLB ENI khác AZ: $0.02/GB (nếu không bật Zonal Affinity)
  • NLB ENI → Pod cùng AZ: $0 (cần tắt Cross-Zone LB)
  • NLB ENI → Pod khác AZ: $0.02/GB (nếu Cross-Zone LB bật)

Config tối ưu (AZI):
dns_record.client_routing_policy: availability_zone_affinity
load_balancing.cross_zone.enabled: false
nlb-target-type: "ip"