Use the Load Balancer Controller for a single cluster and VPC Lattice for services across clusters.
Both implement Gateway API, backed by different AWS products and aimed at different problems.
AWS Load Balancer Controller
north-south, one cluster- Gateway API
HTTPRouteandGRPCRoutebecome an ALB. - L4 routes (
TCPRoute,UDPRoute,TLSRoute) become an NLB. - Same controller you may already run for Ingress: easy continuity.
- GatewayClass controllers:
gateway.k8s.aws/alb,gateway.k8s.aws/nlb.
AWS Gateway API Controller (VPC Lattice)
east-west, many clusters and accounts- Provisions VPC Lattice service networks and services.
- Cross-cluster, cross-VPC, cross-account service connectivity.
- Auth policies and sharing through AWS RAM.
- Concepts:
ServiceExportandServiceImport.
GatewayClass for the ALB path
kind: GatewayClass metadata: {name: alb} spec: {controllerName: gateway.k8s.aws/alb}
Check support before you design
Gateway API support in the Load Balancer Controller has matured quickly, including L4 routes. Older articles say TCP and UDP routes are unsupported on EKS, which is now out of date. Confirm the feature level of the controller version you install.