ENI Attachment and Pod IP Allocation
In EKS, each worker node attaches an Elastic Network Interface (ENI) to the VPC subnet. The ENI’s primary IP serves the node itself (kubelet, kube-proxy, etc.), while secondary IPs are allocated to pods. When a pod launches, the VPC CNI plugin requests a free IP from the node’s ENIs. Since each ENI can hold multiple secondary IPs, you can run many pods off one physical interface:
Pending.


Example Capacities
| Max ENIs per instance | IPs per ENI | Max Pods (without prefix delegation) |
|---|---|---|
| 1 | 5 | 4 |
| 2 | 5 | 9 |
Warm ENI and Warm IP Pools
Attaching ENIs is relatively slow. To mitigate scheduling delays, the VPC CNI lets you keep extra resources “warm”:WARM_ENI_TARGET
This setting ensures a specified number of unused ENIs remain attached. For example,WARM_ENI_TARGET=1 keeps one spare ENI ready. If you’re using 3 of 5 IPs on your primary ENI, the CNI will pre-attach a second ENI so that new pods get IPs immediately.

WARM_IP_TARGET
Instead of full ENIs, you can maintain a pool of free IPs across all ENIs. The CNI calculates how many ENIs are needed to meet the target and pre-allocates them.
- On an instance with 5 IPs/ENI, setting
WARM_IP_TARGET=10attaches two ENIs (5 IPs each):

- On larger instances (e.g., 20 IPs/ENI), the same warm IP target can be satisfied by a single ENI.
Prefix Delegation
Prefix Delegation lets each secondary allocation on an ENI be a/28 block (16 addresses) instead of a single IP. Enable it via the ENABLE_PREFIX_DELEGATION environment variable:

/28 prefix from the VPC and programs routes so that the node becomes the next hop for all 16 addresses. From one prefix you now get 16 pod IPs:


Enabling prefix delegation is an EKS best practice when you need high pod density per node.
Your VPC subnet must have available
/28 CIDR blocks. Each delegated prefix consumes one /28.Real-World Example
-
List your nodes:
-
Check attached ENIs and delegated prefixes:
-
Sort pods by IP to observe
/28ranges:
192.168.114.16–31 routed to one ENI. Scaling pods with prefix delegation is significantly faster than single-IP allocation since you avoid repeated ENI attachments.
While the AWS VPC CNI plugin offers many tunables, using the defaults plus Prefix Delegation is a powerful way to maximize pod IP capacity and accelerate scale-out without resorting to large instance types.