EKS Pricing: A Complete Breakdown (2025 Guide)

Alberto Grande
Head of Marketing

Amazon EKS makes it easy to run Kubernetes without managing the control plane, but pricing isn’t always straightforward. Between EC2, Fargate, storage, data transfer, and add-on services, your monthly bill can vary widely depending on how you deploy and scale your workloads.
This guide breaks down how EKS pricing works—component by component—so you can understand where costs come from and how to plan accordingly. Whether you’re building a dev cluster or scaling production workloads, you’ll get a clear view of what to expect and how to avoid surprises.
Last updated: 2026-10-01 — AWS EC2 on-demand, Spot, and Reserved pricing for Linux in us-east-1, pulled from the DevZero instances dataset. See the full set at the instance pricing explorer.
EKS Pricing Components#
EKS pricing is made up of several components. Some are fixed, like the control plane fee, while others depend on how your workloads run—like node type, storage, and network traffic.
Here’s a breakdown:
| Component | Price | Notes |
|---|---|---|
| Control Plane | $0.10 per hour per cluster | ~$72/month per cluster |
| EC2 Nodes | Varies by instance type and pricing model | On-demand, Reserved, Spot |
| Fargate Pods | $0.04048 per vCPU-sec + $0.004445 per GB-sec | Charged per running pod |
| EBS Storage | $0.10 per GB-month | Snapshot storage billed separately |
| Load Balancer | $0.0225/hr + $0.008 per LCU-hr | For ALB/NLB used by services or Ingress |
| Data Transfer | $0.01–$0.09 per GB outbound | Intra-AZ is free; cross-AZ and internet cost extra |
Live EC2 Node Pricing by Instance Type (us-east-1)#
The control plane fee is fixed, but EC2 nodes are where an EKS bill actually moves. The tables below are generated at build time from the same live pricing dataset that powers DevZero’s instance pricing explorer—Linux, US East (N. Virginia), no hand-typed numbers. Use them as the compute baseline for any estimate; the AKS pricing guide has the equivalent for Azure node pools.
On-Demand#
| Instance Type | vCPU | RAM | On-Demand $/hr | Approx $/month |
|---|---|---|---|---|
| t3.medium | 2 | 4 GiB | $0.0416/hr | ~$30.37/mo |
| m5.large | 2 | 8 GiB | $0.0960/hr | ~$70.08/mo |
| m5.xlarge | 4 | 16 GiB | $0.1920/hr | ~$140.16/mo |
| c5.xlarge | 4 | 8 GiB | $0.1700/hr | ~$124.10/mo |
| r5.xlarge | 4 | 32 GiB | $0.2520/hr | ~$183.96/mo |
| m6i.large | 2 | 8 GiB | $0.0960/hr | ~$70.08/mo |
On-demand is the no-commitment rate. It is the right default for spiky or short-lived clusters and the wrong default for a baseline that runs 24/7.
Spot#
| Instance Type | On-Demand | Spot | Spot Discount |
|---|---|---|---|
| t3.medium | $0.0416/hr | $0.0153/hr | ~63% |
| m5.large | $0.0960/hr | $0.0431/hr | ~55% |
| m5.xlarge | $0.1920/hr | $0.0552/hr | ~71% |
| c5.xlarge | $0.1700/hr | $0.0592/hr | ~65% |
| r5.xlarge | $0.2520/hr | $0.0635/hr | ~75% |
| m6i.large | $0.0960/hr | $0.0361/hr | ~62% |
Spot instances use spare EC2 capacity at a large discount, but AWS can reclaim them with a two-minute warning. They suit stateless workers, batch jobs, and CI runners behind a node group that can tolerate interruptions.
Reserved (1-year and 3-year)#
| Instance Type | On-Demand | 1-yr Reserved (no upfront) | 3-yr Reserved | 3-yr Discount |
|---|---|---|---|---|
| t3.medium | $0.0416/hr | $0.0286/hr | $0.0191/hr | ~54% |
| m5.large | $0.0960/hr | $0.0675/hr | $0.0455/hr | ~53% |
| m5.xlarge | $0.1920/hr | $0.1341/hr | $0.0901/hr | ~53% |
| c5.xlarge | $0.1700/hr | $0.1176/hr | $0.0760/hr | ~55% |
| r5.xlarge | $0.2520/hr | $0.1739/hr | $0.1218/hr | ~52% |
| m6i.large | $0.0960/hr | $0.0671/hr | $0.0451/hr | ~53% |
Reserved Instances and Savings Plans trade a 1- or 3-year commitment for a lower rate on steady-state capacity. Size the commitment to the floor of your usage, not the peak.
Deployment Models and How They Affect Pricing#
EKS is flexible in where and how it runs—but that flexibility comes with very different cost implications.
Here are the four main models, and how they impact what you pay for.
| Model | Where It Runs | What You Pay For | When to Use |
|---|---|---|---|
| EKS on EC2 | Your managed EC2 nodes | EC2 + EKS control plane + storage + network | Best when you want control and lower long-term costs |
| EKS on Fargate | AWS-managed Fargate | vCPU & memory per pod-second + EKS control plane | Great for bursty workloads, short-lived jobs |
| EKS on Outposts | On-prem AWS hardware | Outposts infra (custom) + EKS control plane + network | Hybrid or regulatory environments |
| EKS Anywhere | On your own infra | No EKS infra cost; optional support contract | Self-managed K8s with EKS tooling |
Cost Behavior by Model#
- EC2: You choose the instance types, pricing model (on-demand, spot, reserved), and node count. High control, higher management.
- Fargate: You don’t manage nodes, but costs scale linearly with pod usage. Easy to overpay for idle or underused resources.
- Outposts: Enterprise hybrid model with custom pricing, not typically cost-efficient for small teams.
- Anywhere: No AWS charges, but you manage everything and lose cloud-native elasticity unless combined with autoscalers.
EKS Pricing Examples#
Understanding pricing components is one thing—seeing how they add up in practice is another. Below are real-world examples to illustrate how EKS costs can vary based on workload type, node selection, and deployment model.
Example 1: Small Dev Cluster on EC2#
Let’s assume:
- 1 control plane
- 2 × t3.medium EC2 instances (2 vCPU, 4 GB RAM)
- 100 GB gp2 EBS
- 1 ALB
| Component | Usage | Monthly Cost |
|---|---|---|
| Control Plane | 730 hours | $72.00 |
| EC2 Nodes | 2 × t3.medium | ~$100 |
| EBS Storage | 100 GB | $10.00 |
| ALB | 1 load balancer | ~$16 |
| Total | ~$198/month |
This is a baseline development setup with no autoscaling, no Spot pricing, and minimal network traffic.
Example 2: Burstable Job on Fargate#
Let’s say you have a batch job that runs once per day, using:
- 2 vCPU and 4 GB memory
- 30 minutes/day
Fargate billing (rounded):
- vCPU: 2 vCPU × 1800 sec × $0.04048 = $0.1457/day
- Memory: 4 GB × 1800 sec × $0.004445 = $0.0319/day
- Total: $0.18/day = $5.40/month
Fargate shines here—you only pay for the compute time your job actually runs. For sporadic workloads, it’s far more cost-effective than always-on EC2 instances.
EC2 vs Fargate: Cost Snapshot#
| Scenario | EC2 | Fargate |
|---|---|---|
| Always-on workload | More efficient at scale | More expensive over time |
| Bursty or short-lived | Wasteful unless auto-scaled | Pay only for runtime |
| Management overhead | You manage nodes | AWS handles node lifecycle |
| Cost flexibility | Reserved/Spot savings possible | No reservations, fixed pricing |
Hidden Costs Beyond the Node Bill#
Node compute is the biggest line item, but it is not the only one. Treat these as planning ranges, not exact quotes for your account.
| Cost | Typical Range | Why It’s Easy to Miss |
|---|---|---|
| EKS control plane | $0.10/hr per cluster (~$72/mo) | Charged whether or not any pods are running; multiplies with every non-prod cluster |
| EBS volumes (PVCs + node root disks) | ~$0.08–$0.125/GB-month for gp3 | Every PersistentVolumeClaim and every node’s root volume bills separately from EC2 |
| EBS snapshots | ~$0.05/GB-month | Automated backups and stale volume snapshots accumulate silently |
| NAT Gateway | ~$0.045/hr + ~$0.045/GB processed | Private node subnets route egress through it; per-GB processing often exceeds the hourly charge |
| Elastic Load Balancers | ~$0.0225/hr per ALB/NLB + LCU charges | Each LoadBalancer Service or Ingress can provision its own load balancer |
| Cross-AZ data transfer | ~$0.01–$0.02/GB each direction | Pod-to-pod traffic across Availability Zones is billed both ways; chatty services add up fast |
| Internet egress | ~$0.09/GB for the first tier | Pulling large images or serving traffic straight from pods without a CDN |
| CloudWatch Container Insights | Per metric, per GB of logs ingested | Easy to enable cluster-wide and forget it is metered |
None of these show up in a per-instance price table, which is exactly why teams estimate EKS costs from compute alone and then get surprised by the bill.
How to Estimate EKS Costs Accurately#
Before launching a new cluster, it’s worth modeling your expected spend—especially since EKS pricing spans multiple services (EC2, storage, networking, etc.).
What You Need to Account For#
To build an accurate estimate, factor in:
- Number and type of worker nodes (or Fargate usage)
- Storage volumes (per workload, including replicas)
- Load balancers and network traffic patterns
- Logging, monitoring, and any add-on AWS services
- Region-specific pricing differences
| Tool | What It Does Well | Limitations |
|---|---|---|
| AWS Pricing Calculator | Official, supports EC2 + EKS + EBS | Manual, time-consuming |
| DevZero | Provides spend + utilization dashboards | Works with live clusters |
| Spreadsheets | Quick, flexible for rough forecasts | Easy to miss hidden costs |
Pro tip#
Don’t just look at monthly totals—use Kubernetes cost monitoring to track per-pod or per-team costs and catch inefficiencies early. Idle EC2 nodes, oversized requests, or underutilized volumes are some of the most common budget leaks in EKS.
To stay on top of these patterns, many teams use Kubernetes cost optimization tools that provide granular visibility and automate resource tuning based on real usage—helping prevent waste before it impacts your bill. For a side-by-side comparison of the leading platforms, see our guide to Kubernetes cost optimization tools.
Worked Example: A 3-Node Managed Node Group at Live Rates#
Take a small production node group and price it off the live tables above rather than a calculator guess:
- 1 EKS cluster (control plane)
- 3 ×
m5.xlargenodes (4 vCPU, 16 GiB), on-demand, running 730 hours/month - 200 GB of gp3 EBS across PVCs and node root volumes
- 1 ALB for ingress
| Component | Basis | Monthly Cost |
|---|---|---|
| Control plane | $0.10/hr × 730 | $73.00 |
| EC2 nodes | 3 × on-demand m5.xlarge rate from the On-Demand table above × 730 | see live table |
| EBS (gp3) | 200 GB × ~$0.08/GB-month | ~$16.00 |
| ALB | ~$0.0225/hr × 730 + LCU | ~$18.00 |
Swap the three on-demand nodes for Spot using the Spot table and the EC2 line drops by roughly the spot discount shown there; move the baseline to a 3-year Reserved commitment and it drops by the discount in the Reserved table instead. The control plane, EBS, and ALB lines do not change—which is why, on a small cluster, the fixed costs can rival the compute bill.
Methodology & Data Freshness#
Last updated: 2026-10-01 — AWS EC2 on-demand, Spot, and Reserved pricing for Linux in us-east-1, pulled from the DevZero instances dataset. See the full set at the instance pricing explorer.
The EC2 tables on this page (On-Demand, Spot, Reserved) are pulled at build time from the same dataset behind DevZero’s instance pricing explorer, for Linux instances in us-east-1. The instance types shown (t3.medium, m5.large, m5.xlarge, c5.xlarge, r5.xlarge, m6i.large) are representative reference SKUs, not a recommendation—your rates will vary by region and by the exact instance families you run. Spot prices in particular fluctuate; the figure shown is the last snapshot, not a real-time quote.
The fixed and hidden-cost figures (control plane, EBS, NAT Gateway, load balancers, data transfer) are AWS published list prices for us-east-1 and are cited as planning ranges. Everything derived from the node group compute is traceable to the live tables above. For the Azure equivalent of this breakdown, see the AKS pricing guide; for cutting the bill once it is grounded, the EKS cost optimization guide.
Frequently Asked Questions#
Is Amazon EKS free?#
No. You pay $0.10/hour for each EKS cluster you create. That’s roughly $72/month, even if no pods are running.
What’s the cheapest way to run EKS?#
Use a single EKS cluster with Spot EC2 nodes, limit persistent storage, and avoid unnecessary load balancers. You can also schedule workloads to shut down during off-hours.
How is Fargate pricing different from EC2?#
Fargate bills per second based on vCPU and memory per pod. EC2 bills per instance, regardless of how much of it you actually use.
Is there a free tier for EKS?#
Not for the control plane. But if you use the AWS Free Tier, you can test workloads on small EC2 instances or low-cost Fargate tasks—though it won’t cover full EKS operation.
Does EKS pricing vary by region?#
Yes. EC2, Fargate, EBS, and data transfer prices can vary significantly between regions. Always verify rates in the AWS pricing calculator.
Conclusion#
EKS pricing isn’t complicated—but it is fragmented. Your total cost depends on how you deploy, scale, and configure your infrastructure across multiple AWS services.
The key is to:
- Know what you’re being charged for (control plane, compute, storage, networking)
- Choose the right deployment model (EC2 vs Fargate vs Anywhere)
- Estimate costs early and monitor them continuously
When you’re running production workloads or managing infrastructure across multiple teams, every overprovisioned pod or idle node chips away at your budget. If you’re looking to reduce cloud waste and run your EKS clusters more efficiently, check out our full EKS Cost Optimization Guide.

Alberto Grande
Head of Marketing
