EKS Max Pods per Instance Type and Cost Performance Analysis (Tokyo Region)

Background
When selecting worker node instance types for Amazon EKS (Elastic Kubernetes Service), the maximum number of Pods an instance can run significantly impacts cost performance, beyond just vCPU and memory specs.
In EKS, the maximum Pod count is determined by each instance's ENI (Elastic Network Interface) count and IPv4 addresses per ENI, using the following formula:
Max Pods = (ENI count × (IPv4 per ENI - 1)) + 2
These values are defined in AWS's official eni-max-pods.txt. This article calculates the per-Pod cost from Max Pods and On-Demand pricing to identify the most cost-effective instance types.
Non-Intuitive Max Pods Gaps Between Instance Sizes
The investigation revealed counter-intuitive gaps in the relationship between instance sizes and Max Pods.
| Size | Max Pods | Notes |
|---|---|---|
| small (t3 only) | 11 | |
| medium (t3 only) | 17 | |
| large | 29 | |
| xlarge | 58 | |
| 2xlarge | 58 | Same as xlarge |
| 4xlarge | 234 | 4x jump |
| 8xlarge | 234 | Same as 4xlarge |
The critical finding: 2xlarge has the same Pod count (58) as xlarge but costs twice as much, and 8xlarge has the same Pod count (234) as 4xlarge but also costs twice as much. From a Pod density perspective, 2xlarge and 8xlarge should never be selected.
Per-Pod Cost Ranking (ap-northeast-1, On-Demand)
Prices were obtained from the AWS Pricing API (as of 2026-03-17). All 2xlarge and 8xlarge instances are omitted since they have the same Pod count as xlarge / 4xlarge at double the price.
| Rank | Instance | $/hr | Max Pods | $/pod/hr | Monthly/pod |
|---|---|---|---|---|---|
| 1 | t3.small | $0.0155 | 11 | $0.00141 | $1.03 |
| 2 | c7g.4xlarge | $0.3789 | 234 | $0.00162 | $1.18 |
| 3 | c7g.xlarge | $0.0947 | 58 | $0.00163 | $1.19 |
| 4 | c7g.large | $0.0474 | 29 | $0.00163 | $1.19 |
| 5 | c6g.4xlarge | $0.4032 | 234 | $0.00172 | $1.26 |
| 6 | c6g.large | $0.0504 | 29 | $0.00174 | $1.27 |
| 7 | c6g.xlarge | $0.1008 | 58 | $0.00174 | $1.27 |
| 8 | m6g.4xlarge | $0.4123 | 234 | $0.00176 | $1.29 |
| 9 | t3.large | $0.0618 | 35 | $0.00177 | $1.29 |
| 10 | m6g.large | $0.0515 | 29 | $0.00178 | $1.30 |
| 11 | m6g.xlarge | $0.1031 | 58 | $0.00178 | $1.30 |
| 12 | t3.medium | $0.0309 | 17 | $0.00182 | $1.33 |
| 13 | m7g.4xlarge | $0.4380 | 234 | $0.00187 | $1.37 |
| 14 | m7g.large | $0.0548 | 29 | $0.00189 | $1.38 |
| 15 | m7g.xlarge | $0.1095 | 58 | $0.00189 | $1.38 |
| 16 | c6i.4xlarge | $0.4456 | 234 | $0.00190 | $1.39 |
| 17 | c6i.large | $0.0557 | 29 | $0.00192 | $1.40 |
| 18 | c6i.xlarge | $0.1114 | 58 | $0.00192 | $1.40 |
| 19 | c7i.4xlarge | $0.4679 | 234 | $0.00200 | $1.46 |
| 20 | c7i.large | $0.0585 | 29 | $0.00202 | $1.47 |
| 21 | c7i.xlarge | $0.1170 | 58 | $0.00202 | $1.47 |
| 22 | t3.xlarge | $0.1236 | 58 | $0.00213 | $1.56 |
| 23 | c5.4xlarge | $0.5070 | 234 | $0.00217 | $1.58 |
| 24 | c5.large | $0.0630 | 29 | $0.00217 | $1.59 |
| 25 | r6g.4xlarge | $0.5096 | 234 | $0.00218 | $1.59 |
| 26 | c5.xlarge | $0.1270 | 58 | $0.00219 | $1.60 |
| 27 | m6i.4xlarge | $0.5154 | 234 | $0.00220 | $1.61 |
| 28 | r6g.large | $0.0637 | 29 | $0.00220 | $1.60 |
| 29 | r6g.xlarge | $0.1274 | 58 | $0.00220 | $1.60 |
| 30 | m6i.large | $0.0644 | 29 | $0.00222 | $1.62 |
| 31 | m6i.xlarge | $0.1288 | 58 | $0.00222 | $1.62 |
| 32 | r7g.4xlarge | $0.5392 | 234 | $0.00230 | $1.68 |
| 33 | m7i.4xlarge | $0.5412 | 234 | $0.00231 | $1.69 |
| 34 | r7g.large | $0.0674 | 29 | $0.00232 | $1.70 |
| 35 | r7g.xlarge | $0.1348 | 58 | $0.00232 | $1.70 |
| 36 | m7i.large | $0.0676 | 29 | $0.00233 | $1.70 |
| 37 | m7i.xlarge | $0.1353 | 58 | $0.00233 | $1.70 |
| 38 | m5.4xlarge | $0.5750 | 234 | $0.00246 | $1.79 |
| 39 | m5.large | $0.0720 | 29 | $0.00248 | $1.81 |
| 40 | m5.xlarge | $0.1440 | 58 | $0.00248 | $1.81 |
| 41 | r6i.4xlarge | $0.6343 | 234 | $0.00271 | $1.98 |
| 42 | r5.4xlarge | $0.6340 | 234 | $0.00271 | $1.98 |
| 43 | r5.large | $0.0790 | 29 | $0.00272 | $1.99 |
| 44 | r6i.large | $0.0793 | 29 | $0.00273 | $2.00 |
| 45 | r6i.xlarge | $0.1586 | 58 | $0.00273 | $2.00 |
| 46 | r5.xlarge | $0.1590 | 58 | $0.00274 | $2.00 |
| 47 | r7i.4xlarge | $0.6660 | 234 | $0.00285 | $2.08 |
| 48 | r7i.large | $0.0833 | 29 | $0.00287 | $2.10 |
| 49 | r7i.xlarge | $0.1665 | 58 | $0.00287 | $2.10 |
Conclusions
Best Pod Density Cost: c7g (Graviton3 Compute Optimized)
Excluding t3.small (burstable, not suited for sustained workloads), the c7g family offers the lowest per-Pod cost.
- c7g.4xlarge ($0.00162/pod/hr) — 234 pods, for large-scale deployments
- c7g.xlarge ($0.00163/pod/hr) — 58 pods, for medium-scale
- c7g.large ($0.00163/pod/hr) — 29 pods, for small-scale
Instance Size Selection Guide
| Recommended | Not Recommended |
|---|---|
| large, xlarge | 2xlarge (same Pod count as xlarge at 2x price) |
| 4xlarge (Pod density sweet spot) | 8xlarge (same Pod count as 4xlarge at 2x price) |
Since 4xlarge jumps from 58 to 234 Max Pods (a 4x increase), it is the optimal choice when running many Pods.
Instance Family Selection Guide
| Use Case | Recommended Family | $/pod/hr |
|---|---|---|
| CPU-intensive (Web APIs, etc.) | c7g | $0.00162 |
| General purpose | m6g / m7g | $0.00176–0.00187 |
| Memory-intensive | r6g | $0.00218 |
Common rule: Graviton (g-series) is approximately 20% cheaper than Intel (i-series). If you can prepare ARM architecture container images, there is no reason not to choose Graviton.
Caveats
- The above Max Pods values assume Prefix Delegation disabled (default)
- Enabling Prefix Delegation assigns /28 prefixes (16 IPs) to each ENI, significantly increasing Pod counts. EKS Managed Node Groups cap at 110 for vCPU < 30, and 250 for vCPU >= 30
- With Prefix Delegation enabled, the 2xlarge disadvantage may be eliminated
- t3 instances are burstable and not suited for sustained CPU workloads
- In practice, per-Pod CPU/memory resource requests must also be considered
References
We look forward to discussing your development needs.