- Newest
- Most votes
- Most comments
When creating an Amazon EKS cluster, you have several options for configuring endpoint access, but there isn't a direct way to assign an Elastic IP to an EKS private endpoint.
Here are your available options for connecting to EKS clusters from a centralized VPC:
-
Public and Private Endpoint Configuration: You can configure your EKS cluster with both public and private endpoints. This allows Kubernetes API calls within your cluster's VPC to use the private VPC endpoint while still allowing restricted public access. You can limit the CIDR blocks that can use the public endpoint for your employees, while internal traffic remains within your VPC.
-
AWS PrivateLink: You can use AWS PrivateLink to create a private connection between your centralized VPC and Amazon EKS. This allows you to access EKS as if it were in your VPC, without requiring internet gateways or NAT devices. PrivateLink creates interface endpoints with network interfaces in each subnet you enable.
-
VPC Lattice: For a more centralized approach, you could implement VPC Lattice to create centralized private endpoints. This would allow multiple spoke VPCs to access services through a single set of endpoints in a central VPC, potentially reducing costs compared to having individual Route 53 Resolver endpoints for each cluster.
For your specific concern about costs with Route 53 Resolver endpoints, the VPC Lattice approach might be more cost-effective when dealing with many clusters, as it allows you to centralize the endpoint management.
When using the private endpoint option, all traffic between worker nodes and the Kubernetes API will go through the cross-account ENIs that are provisioned in your cluster VPC when the control plane is created.
Sources
VPC and Subnet Considerations - Amazon EKS
Centralized Private Endpoint using VPC Lattice | AWS re:Post
Access Amazon EKS using AWS PrivateLink - Amazon EKS
Identity and Access Management - Amazon EKS
After couple of iterations we dropped the idea of exposing eks on public IP and put used VPN for ops engineers to connect to private only endpoint eks clusters. Though AWS VPN is not costly, we still think it will be better to expose eks api endpoint as a vpc endpoint, so the communication can happen with in aws network rather than going to internet with PublicIP address.
Relevant content
- asked 7 months ago
- AWS OFFICIALUpdated 2 years ago

VPC Lattice is not an option here as it is used to have endpoints for specific targets groups like lambda, ec2, PODS but not to EKS API server endpoint. And private link will only use private IP address of eks api server only when it is enabled with private only access, otherwise it will use public ip address. The requirement in my case is that, eks should have both public and private endpoint enabled and service to service communication should happen only through private IP address considering those two VPC's are connected through transit gateway