- Newest
- Most votes
- Most comments
When you create an Amazon EKS cluster, you need to understand the architecture involves two VPCs:
- An AWS-managed VPC that hosts the Kubernetes control plane (not visible in your account)
- Your customer-managed VPC that hosts the worker nodes and other infrastructure
The subnets you specify during cluster creation are used for placing cross-account elastic network interfaces (X-ENIs or EKS Managed ENIs) in your VPC. These ENIs enable communication between the AWS-managed control plane and your worker nodes. EKS places these ENIs in each subnet you specify during cluster creation (also called cluster subnets).
The control plane itself is not created in your subnets - it's created and managed by AWS in their own VPC. However, the ENIs that allow communication with the control plane are placed in your specified subnets.
When worker nodes start up, they need to communicate with the Kubernetes API server (control plane). This communication happens either through:
- A public endpoint (if you've enabled public access)
- Through these EKS Managed ENIs within your VPC (for private access)
If you selected a location like Wavelength Zones that isn't supported for EKS control plane connectivity, you'll receive an error because EKS can't establish the necessary ENIs in those subnets to communicate with the control plane.
When you later create node groups, you can specify different subnets for your worker nodes than those used for the cluster ENIs, but those worker nodes still need to be able to communicate with the control plane through the ENIs placed in your cluster subnets.
Sources
How EKS Control Plane is communicate with worker node | AWS re:Post
VPC and Subnet Considerations - Amazon EKS
Updating control plane subnets and security groups - Eksctl User Guide
Relevant content
- asked 5 months ago
- AWS OFFICIALUpdated 5 months ago
- AWS OFFICIALUpdated 3 years ago

Very clear, based on what you have said, the subnets provided when creating the cluster are the subnets used to place the ENIs so that the worker nodes can communicate with the master nodes, and the subnets where the worker nodes will start up are provided later when creating the worker nodes. but why in eks architectures in google, ENIs are in the same subnet as the worker nodes