Amazon EKS — EKS Pricing

3 minute read

EKS Pricing

Understanding EKS pricing is critical before you create your first cluster. Unexpected costs are the #1 complaint from new EKS users. This page breaks down every cost component.


EKS Cost Components

EKS Total Cost
┌────────────────────────────────────────────────────┐
│                                                    │
│  ┌──────────────┐   You always pay this            │
│  │ EKS Cluster  │   $0.10/hr = $73/month           │
│  │ Fee          │                                  │
│  └──────────────┘                                  │
│         +                                          │
│  ┌──────────────┐   Depends on node type           │
│  │ Compute      │   EC2: instance pricing          │
│  │ (Nodes)      │   Fargate: per vCPU/GB/sec       │
│  └──────────────┘                                  │
│         +                                          │
│  ┌──────────────┐   Often overlooked!              │
│  │ Networking   │   NAT GW: $32/month/AZ           │
│  │              │   Data transfer: varies           │
│  └──────────────┘                                  │
│         +                                          │
│  ┌──────────────┐   Per GB-month                   │
│  │ Storage      │   EBS gp3: $0.08/GB/month        │
│  │              │   EFS: $0.30/GB/month             │
│  └──────────────┘                                  │
└────────────────────────────────────────────────────┘

1. EKS Cluster Fee

Plan Cost When It Applies
Standard Support $0.10/hr ($73/month) K8s versions in standard support window
Extended Support $0.60/hr ($438/month) K8s versions past standard support (e.g., 1.27)

Important: The cluster fee is per cluster, regardless of how many nodes you run (even zero). You pay this even when no workloads are running.


2. Compute Costs

EC2 Nodes (On-Demand)

Instance Type vCPU Memory Cost/hr Cost/month Max Pods
t3.medium 2 4 GB $0.0416 $30 17
t3.large 2 8 GB $0.0832 $61 35
m5.large 2 8 GB $0.0960 $70 29
m5.xlarge 4 16 GB $0.1920 $140 58
m5.2xlarge 8 32 GB $0.3840 $280 58

EC2 Nodes (Spot — up to 90% cheaper)

Instance Type On-Demand Spot (typical) Savings
m5.large $0.096/hr $0.035/hr 64%
m5.xlarge $0.192/hr $0.070/hr 64%
c5.xlarge $0.170/hr $0.055/hr 68%

Fargate

Resource Cost/hr
Per vCPU $0.04048
Per GB memory $0.004445

Example: A pod requesting 0.5 vCPU and 1 GB memory costs ~$0.025/hr = $18/month.


3. Networking Costs (The Hidden Killer)

Component Cost Notes
NAT Gateway $0.045/hr + $0.045/GB ~$32/month per AZ (even with zero traffic)
Data Transfer (cross-AZ) $0.01/GB each way Pods talking across AZs add up
Data Transfer (internet) $0.09/GB out First 100 GB/month free
Elastic IP Free (if attached) $0.005/hr if unattached

⚠️ Warning: If you deploy NAT Gateways in 3 AZs (recommended for HA), that’s $96/month just for NAT — more than the EKS cluster fee itself!


4. Storage Costs

Storage Type Cost Use Case
EBS gp3 $0.08/GB/month Default for most workloads
EBS io2 $0.125/GB/month High-performance databases
EFS $0.30/GB/month (standard) Shared storage across pods
FSx for Lustre $0.14/GB/month HPC workloads

Real-World Cost Examples

Development Cluster

Dev Cluster (minimal)
├── EKS cluster fee:        $73/month
├── 2x t3.medium (On-Demand): $60/month
├── NAT Gateway (1 AZ):     $32/month
├── EBS (20 GB gp3):        $1.60/month
└── TOTAL:                  ~$167/month

Production Cluster

Production Cluster (typical)
├── EKS cluster fee:         $73/month
├── 6x m5.xlarge (3 On-Demand + 3 Spot): ~$630/month
├── NAT Gateways (3 AZs):   $96/month
├── ALB:                     ~$22/month
├── EBS (500 GB gp3):       $40/month
├── Data transfer:           ~$50/month
└── TOTAL:                  ~$911/month

Cost Optimization Tips

  1. Use Spot instances for stateless workloads — save 60-90%
  2. Use Fargate for bursty workloads — pay only when pods run
  3. Use 1 NAT Gateway for dev (accept single AZ risk to save $64/month)
  4. Right-size nodes — don’t use m5.2xlarge when m5.large is enough
  5. Use Karpenter — automatically picks the cheapest instance type
  6. Delete unused clusters — eksctl delete cluster when done
  7. Stay on standard support — extended support costs 6x more
  8. Use topology-aware routing — reduce cross-AZ data transfer

Common Mistakes

Mistake Cost Impact
Forgetting to delete test clusters $167+/month per forgotten cluster
NAT Gateways in all 3 AZs for dev Extra $64/month for no benefit
Using On-Demand for everything 60-90% more than needed
Oversized instances Paying for unused CPU/memory
Not monitoring costs Bills snowball without visibility

Quick Reference

Component Typical Monthly Cost
EKS cluster (standard) $73
t3.medium node (On-Demand) $30
m5.large node (On-Demand) $70
NAT Gateway (per AZ) $32
ALB $22 + data processed
EBS gp3 (100 GB) $8

What’s Next?

Now let’s compare EKS with other AWS container services in EKS vs ECS vs Fargate.