Amazon EKS — EKS Pricing

4 minute read

EKS pricing has multiple components. The cluster fee is just the beginning — compute, networking, and storage costs add up quickly. Let’s break it all down.


Cost Components

Component Cost Notes
EKS Cluster (Control Plane) $0.10/hour (~$73/month) Per cluster, regardless of size
EC2 Instances (Worker Nodes) Varies by instance type On-Demand, Reserved, Savings Plans, or Spot
Fargate Per vCPU + memory per second Billed per pod, no node costs
NAT Gateway $0.045/hour + $0.045/GB processed Often the biggest hidden cost
Data Transfer $0.01-0.09/GB (cross-AZ, internet) Cross-AZ traffic between pods costs money
EBS Volumes $0.08/GB/month (gp3) Persistent storage for pods
EFS $0.30/GB/month (standard) Shared persistent storage
ALB/NLB $0.0225/hour + LCU charges Per load balancer
CloudWatch Varies Logs, metrics, Container Insights
Extended Support $0.60/hour per cluster When running old K8s versions

EKS Cluster Fee

Every EKS cluster costs $0.10 per hour, which is approximately $73 per month or $876 per year.

This covers:

  • Fully managed control plane (API server, etcd, scheduler)
  • Multi-AZ high availability
  • Automatic upgrades and patching
  • 99.95% SLA

You pay this regardless of whether you have 1 node or 1,000 nodes.


EC2 Compute Costs

Worker node costs depend on instance types and pricing models:

Common EKS Instance Types

Instance vCPU Memory On-Demand (us-east-1) Use Case
t3.medium 2 4 GB ~$0.0416/hr (~$30/mo) Dev/test
m5.large 2 8 GB ~$0.096/hr (~$70/mo) General workloads
m5.xlarge 4 16 GB ~$0.192/hr (~$140/mo) Medium workloads
m6g.large (Graviton) 2 8 GB ~$0.077/hr (~$56/mo) Cost-optimized
c5.xlarge 4 8 GB ~$0.170/hr (~$124/mo) CPU-intensive
r5.xlarge 4 32 GB ~$0.252/hr (~$184/mo) Memory-intensive

Pricing Models

Model Discount Commitment
On-Demand Baseline None
Savings Plans Up to 72% 1 or 3-year term
Reserved Instances Up to 72% 1 or 3-year term
Spot Instances Up to 90% Can be interrupted

Tip: Use Graviton (ARM) instances for ~20% savings on general workloads. Many containerized applications run on ARM without changes.


Fargate Pricing

Fargate charges per-pod based on vCPU and memory requested:

Resource Price (us-east-1)
vCPU $0.04048 per vCPU per hour
Memory $0.004445 per GB per hour

Example: 0.5 vCPU, 1 GB Memory Pod

vCPU:   0.5 × $0.04048 = $0.02024/hr
Memory: 1.0 × $0.004445 = $0.004445/hr
Total per pod: $0.024685/hr ≈ $18/month

For 10 such pods running 24/7: ~$180/month (Fargate compute only, plus $73 EKS fee = $253 total)

Compare with EC2: Two m5.large instances could run those 10 pods for ~$140/month + $73 EKS = $213 total.

Fargate makes sense when: Workloads are bursty, you don’t want node management overhead, or you need strong pod-level isolation. For steady workloads, EC2 is usually cheaper.


Networking Costs — The Hidden Killer

Networking is often the most surprising part of an EKS bill.

NAT Gateway

If your nodes are in private subnets and pull images, call AWS APIs, or make any outbound internet requests:

NAT Gateway: $0.045/hr ≈ $33/month (per NAT Gateway)
Data processed: $0.045/GB

Two NAT Gateways (multi-AZ) processing 500 GB/month:

Hourly: 2 × $33 = $66
Data: 500 × $0.045 = $22.50
Total: $88.50/month

Cross-AZ Data Transfer

Pods on different AZs communicating with each other:

$0.01/GB in each direction ($0.02/GB round-trip)

This adds up fast for chatty microservices.

Tips to Reduce Networking Costs

  • Use VPC endpoints for S3, ECR, and other AWS services (avoids NAT Gateway for AWS traffic)
  • Use topology-aware routing to reduce cross-AZ traffic
  • Pull images from ECR with a VPC endpoint (no NAT Gateway data charges)
  • Consider a single NAT Gateway for dev environments (saves $33/mo but loses HA)

Extended Support Costs

When your EKS cluster runs a Kubernetes version that has exited standard support, it enters extended support:

Support Type Cost Duration
Standard Support Included in $0.10/hr ~14 months from release
Extended Support Extra $0.60/hr (~$438/mo per cluster) ~12 additional months

Extended support costs 6x the base cluster fee. Always plan upgrades proactively.


Cost Comparison: EKS vs Self-Managed K8s vs ECS

For a typical small production setup (3 worker nodes, 1 ALB, moderate traffic):

Item EKS Self-Managed K8s ECS
Control Plane $73/mo $0 (but you run 3 master nodes ~$210/mo) $0
Worker Nodes (3x m5.large) $210/mo $210/mo $210/mo
ALB $25/mo $25/mo $25/mo
NAT Gateway (2x) $66/mo $66/mo $66/mo
Total ~$374/mo ~$511/mo ~$301/mo

EKS is cheaper than self-managed K8s (you avoid running master nodes). ECS is cheaper if you don’t need Kubernetes features.


Free Tier and Cost Estimation

  • No EKS free tier — You pay from cluster creation
  • AWS offers a cost calculator: calculator.aws
  • Use AWS Cost Explorer with EKS cost allocation tags
  • Tag your clusters and node groups for cost tracking

Useful Tags

# Tag EKS cluster
aws eks tag-resource \
  --resource-arn arn:aws:eks:us-east-1:123456789012:cluster/my-cluster \
  --tags team=platform,environment=production,project=api

Monthly Cost Estimate Template

Use this template to estimate your EKS costs:

Item Quantity Unit Cost Monthly Cost
EKS Cluster 1 $73 $73
Worker Nodes (type) N $X/hr × 730 $
Fargate Pods N vCPU + Memory $
NAT Gateway 1-3 $33 + data $
ALB/NLB N $25 + LCU $
EBS Storage N GB $0.08/GB $
Data Transfer N GB $0.01-0.09/GB $
Total     $

What’s Next?

Before we create a cluster, let’s make sure all the prerequisite tools are installed.

Next: Prerequisites & Tools →

Updated: