aws_ eks_ cluster cost estimation
A managed Kubernetes control plane. Flat $0.10/hour per cluster, with worker nodes and storage billed separately.
An aws_
The cluster price is just the start. The real cost comes from compute, which is billed separately depending on which compute mode you use:
Standard node groups (aws_
Fargate profiles (aws_
Managed add-ons like the EKS-managed kube-proxy, CoreDNS, and VPC CNI are free. The optional Cluster Auto Scaler add-on is also free.
c3x estimates the cluster price plus any declared node groups and Fargate profiles. For Fargate, pod CPU/memory comes from the profile selectors and pod spec; c3x assumes 24/7 running unless a usage file overrides it.
Terraform example
A minimal but realistic configuration that C3X can estimate.
resource "aws_eks_cluster" "main" {
name = "production"
role_arn = aws_iam_role.cluster.arn
version = "1.31"
vpc_config {
subnet_ids = aws_subnet.private[*].id
}
}
resource "aws_eks_node_group" "general" {
cluster_name = aws_eks_cluster.main.name
node_group_name = "general"
node_role_arn = aws_iam_role.node.arn
subnet_ids = aws_subnet.private[*].id
instance_types = ["m6i.large"]
scaling_config {
desired_size = 3
min_size = 2
max_size = 10
}
}Pricing dimensions
What you actually pay for when you provision aws_.
| Dimension | Unit | What's being charged |
|---|---|---|
| Cluster hours | per hour | Flat rate for the EKS control plane. $0.10/hour ≈ $73/month per cluster |
| Node group EC2 instances | per hour per instance | Worker nodes are regular EC2 instances. Billed at on-demand EC2 rates by instance type and region. |
| Node root and data volumes | per GB-month | Each worker node has an EBS root volume. Billed as gp3 by default. |
| Fargate vCPU-seconds | per vCPU-hour | Pods on Fargate are billed by requested vCPU, rounded up to 0.25 vCPU. $0.04048 per vCPU-hour |
| Fargate memory-seconds | per GB-hour | Pods on Fargate are billed by requested memory, rounded up to 1 GB. $0.004445 per GB-hour |
Optimization tips
Common ways to reduce aws_ cost without changing the workload.
Consolidate clusters across environments
$73/cluster/monthEach cluster costs $73/month minimum. A team running separate dev, staging, and prod clusters pays $219/month just for control planes. Use namespaces and RBAC to consolidate where security boundaries allow.
Use Spot instances for stateless workloads
50-80% on computeEKS node groups can be configured with capacity_
Right-size with VPA recommendations
30-60% on computeVertical Pod Autoscaler in recommendation-only mode shows actual CPU and memory usage per workload. Typical findings: pods request 4-10x what they actually use. Resizing requests directly cuts node count.
Use Karpenter instead of cluster-autoscaler
10-30% on computeKarpenter provisions instance types matched to pending pod requirements. Often picks cheaper instance types than a fixed node group can, including ARM-based Graviton.
FAQ
Why does the EKS cluster show $73/month even with no workloads?
The control plane has a flat hourly rate regardless of pod count. Even an empty cluster costs $73/month. To avoid this in dev environments, consider single-node k3s or kind clusters instead.
Does c3x estimate Fargate pod costs?
Yes, if you declare aws_
What about EKS Auto Mode?
EKS Auto Mode adds a per-instance management fee on top of EC2 instance hours. c3x detects auto-mode-enabled node groups and applies the additional charge.
Do I pay for load balancers separately?
Yes. Each Service of type LoadBalancer provisions an aws_
Related resources
More AWS resources
Further reading
- AWS EKS full cost breakdown: the control plane is the small line
EKS cost is control plane ($73/mo) + worker nodes (the bulk) + EBS + load balancers + NAT + cross-AZ transfer. Here's the full breakdown and where the real savings are, almost all in the nodes.
- AWS GuardDuty cost explained: per GB and per event analyzed
GuardDuty bills by the volume of logs and events it analyzes, CloudTrail events, VPC flow logs, DNS logs, and per feature (S3, EKS, malware, RDS protection). High-traffic accounts and enabled features drive the bill. Here is the model.
- How much does it cost to run an internal developer platform?
An internal developer platform serving 150 engineers across three Kubernetes clusters costs about 3,069 dollars a month, or 20 dollars per engineer. Here is the breakdown and which lines grow with headcount.
- Kubernetes control plane fees: what you pay just to have a cluster
Before a single pod schedules, most managed Kubernetes clusters bill a flat hourly fee for the control plane. It is small per cluster and enormous across a fleet of fifty. Here is what each provider charges and how to stop paying it fifty times.
Estimate this resource in your own Terraform
Free, open source, no API key. C3X parses your Terraform and shows line-item cost for every resource, including aws_.