EKS Ingress with VPC Lattice - console guide

EKS Ingress with VPC Lattice - console guide

VPC Lattice provides application-layer connectivity across VPCs and accounts with auth policies and service networks. On EKS, teams combine Gateway API or Lattice targets with cluster ingress controllers.

Deep labs: VPC Lattice path routing · EKS Lattice Gateway API · dir/vpc-lattic-eks
Checklist: DevOps checklist

Official: What is VPC Lattice?


Use cases

ScenarioWhy Lattice
Shared platform cluster, many consumer VPCsService network association without VPC peering mesh
Fine-grained auth between servicesLattice auth policy on service
Gradual strangler from monolithPath-based routing to K8s and EC2 targets
Internal API catalogDNS names under service network

When ALB alone is enough: single VPC, north-south HTTP only - use ALB Ingress Controller.


Architecture

Consumer VPC (Lambda/ECS) ──► VPC Lattice service network ──► Lattice service ──► EKS (Gateway/HTTPRoute)

Console - service network

  1. VPC Lattice console → Service networks → Create.
  2. Name: platform-internal.
  3. Auth policy (optional): IAM-based access - define who can invoke.

Console - register EKS workload

Paths vary by integration generation; typical flow:

  1. Create service in Lattice linked to target group (IP targets = pod ENIs or NodePort path per design).
  2. Associate service network with consumer VPCs (same or cross-account via RAM).
  3. On EKS: deploy AWS Gateway API Controller for Lattice (updated guide).

EKS console touchpoints

  1. EKS → cluster → verify OIDC provider for IRSA.
  2. Install Lattice/Gateway controller with IAM policy from AWS docs.
  3. Apply Gateway + HTTPRoute manifests pointing to Service.

Configuration details

ItemNote
Health checksLattice target health independent of K8s ready - align probes
TLSTerminate at Lattice or pass-through - pick one model
DNSLattice-generated names; integrate with private DNS if needed
Security groupsPod SG must allow Lattice ENI traffic

IAM

  • Controller role: vpc-lattice:* scoped + elasticloadbalancing if hybrid.
  • Consumer principals allowed in auth policy on service network association.

Commonly missed

  • Mixing ALB Ingress annotations with Lattice routes without clear ownership
  • Forgetting cross-account RAM accept for service network
  • Target type mismatch (instance vs IP) on Fargate
  • No auth policy - open internal mesh

Troubleshooting

SymptomCheck
403 from LatticeAuth policy principal
No healthy targetsPod labels, HTTPRoute backend ref, SG
DNS fails in consumer VPCAssociation + resolver rules

← Checklist · Lattice application networking