December 10, 2023
EKS Pricing in EC2 and Fargate and How to Optimize your costs
6 min read
Containers run everywhere—from factories and hospitals to cars and cruise ships. And with the torrents of advancements in cloud technologies, software and apps power so much of our world with the benefits of containerization.
It used to be that we had servers, and then virtual machines. Now, we just have Kubernetes as the orchestration layer, with containerization as the foundational technology. The best and strongest reason for considering managed Kubernetes is that it's just an infrastructure.
There is no upside to doing it yourself.
Amazon EKS (Elastic Kubernetes Service) enables you to run and manage container workloads on AWS-managed infrastructure. You can easily run containerized applications in a cloud environment with consistent tooling, as opposed to on an individual virtual machine. This can reduce costs and mitigate complex local container orchestration.
Amazon EKS Anywhere helps to simplify the creation and operation of on-premises Kubernetes clusters while automating cluster management. That way, you can reduce your support costs and avoid the maintenance of hosting multiple installs of open-source and third-party tools. You can manage everything cost-effectively in one centralized place.
In this article, let's look at the pricing model for Amazon EKS. We'll consider accounting structure, including the native pricing estimators, reservations, cost optimization, etc.
Understanding EKS Pricing Model
AWS has the most extensive global cloud infrastructure, with many regions and availability zones connected with low latency, high throughput and network redundancy. They offer a suite of services, and EKS is cheap (approximately $73 per cluster/month)!
The cost of an Amazon EKS cluster is $0.10 per hour plus compute costs, which depend on the deployment option you choose (AWS Fargate, Amazon EC2, or AWS Outposts) and the resources used (worker nodes, etc.).
Before we dive into the EKS pricing model for deployments, let’s first look at the baseline prices for the usual features—keep in mind that actual costs will depend on your usage patterns and the resource footprint.
The following are the core components that generate EKS pricing:
Amazon EKS maintains the highly available control plane across multiple Availability Zones to eliminate a single point of failure, further providing reliability to your setup. This control plane is managed, meaning AWS will deal with setting it all up and scaling the control plane for you as you use it.
Its use, however, is limited —each cluster gets its own control plane. And includes at least two API server instances and three etcd instances, distributed across three Availability Zones.
You pay for control plane resources, including API requests and etcd storage, based on monthly cluster runtime hours, with rates varying by region.
The cost of worker nodes that run your application containers, is determined by the EC2 instance type, region and the resources consumed by those nodes. You have the option to choose the instance types, including general-purpose, compute-optimized, memory-optimized, and GPU options to suit your specific workload requirements.
You can modify the availability zone, scope, networking type, and instance size when you purchase a Reserved Instance for a region (see AWS Reservations section below).
It is essential to understand the attributes that generate data transfer charges for minimizing EKS pricing while operating your workload on Amazon EKS at the production scale. Common scenarios for data transfer charges in EKS include:
Kubernetes Services in a EKS cluster
Load Balancers in a EKS cluster
Calls made to external services from a EKS cluster
Data transfer from the internet into AWS is free, but you pay for data transferred out of your cluster and across different Availability Zones. This encompasses traffic between the control plane and worker nodes, as well as traffic between your cluster and other AWS services or external endpoints.
For EKS clusters, the data transfer costs (see on-demand pricing document) are incurred for the common architectures and EKS clusters are by default eligible for a 100 GB free tier of outbound data transfer to the internet.
Kubernetes allows you to define storage classes, which are used to provision storage for your applications. The underlying storage for these classes could be EBS volumes or other AWS storage solutions. You pay for the storage used by your cluster, including EBS volumes, EFS file systems and S3 for Object Storage.
EKS clusters often use Amazon EBS volumes, and you pay for the provisioned capacity of EBS volumes on worker nodes. If you create snapshots of your EBS volumes for backup purposes, there may be costs associated with storing those snapshots.
Some EKS applications may need shared file storage. Amazon EFS offers scalable file storage for multiple EKS worker nodes, with costs based on the storage capacity used.
For applications or workloads involving object storage, take note that S3 costs are separate from EKS. And there are costs associated with the interaction between your EKS applications and S3.
It can be difficult to understand everything that goes into native pricing estimators. Use our Cost Analyzer to monitor the cloud cost curves to avoid any surprise bills at the end of the month.
EKS Pricing with Amazon EC2
With EKS on Amazon EC2, you'll only pay for the resources you use, like EC2 instances and storage, to run your Kubernetes worker nodes.
You can also take advantage of EC2 purchase models, such as Savings Plans, spot instances, and commitment-free on-demand instances, to reduce your costs. But you're responsible for managing your own patches, network security, and scalability.
EKS Pricing with AWS Fargate
When you use EKS with Fargate, you only pay for the vCPU and memory resources your containers use. Charges are rounded to the nearest second, with a minimum charge of one minute.
You can also save money with compute savings plans and spot instances if you have predictable usage patterns.
There are no upfront charges or minimum fees. All charges are rounded to the nearest second with a minimum charge of one minute. See detailed pricing information on the AWS Fargate pricing page.
EKS Pricing with AWS OutPosts
EKS pricing with AWS OutPosts is similar to using EKS in the cloud. You'll pay $0.10 per hour for the EKS cluster itself, regardless of whether it's running in the cloud or on Outposts. The worker nodes, which handle the actual container workloads, will run on Outposts EC2 instances without any additional charges.
The EKS cluster service fee is not included in the Outposts pricing. To put it simply, you pay $0.10 per hour for the EKS control plane, and the worker nodes run on Outposts for free. This means you will not be double charged, and you can find more details about Outposts pricing on the AWS Outposts rack pricing page.
Amazon EKS costs across various deployment scenarios can add up quickly, even after managing to negotiate discounts with Amazon. This brings to how to minimize EKS pricing.
Understanding AWS Reservations
AWS Reservations come with either a one-year or three-year term, providing up to a 72 percent discount compared to pay-as-you-go prices. AWS Reserved Instances (RIs) have either regional or zonal scope.
Regional scope is when you purchase a RI for region, but it does not provide capacity reservation.
Zonal scope is when you purchase a RI for a specific availability zone.
Another distinctive advantage is that some reservations provide a capacity benefit, like Zonal reserved instances. Savings plans and regional RIs don't have this benefit. AWS also offers capacity reservations, where you only pay for guaranteed capacity. You can terminate AWS capacity reservations whenever you want.
The payment options are no upfront, partial upfront, and all upfront. There are three types of reserved instances:
Standard enables you to modify the availability zone, scope, networking type, and instance size. AWS reservation can be sold in a reserved instance (RI) marketplace in AWS.
You can sell standard RIs in the RI marketplace, usually for pennies on the dollar, and there is no RI cancellation option.
Convertible reservations enable you to exchange one or more convertible Reserved Instances — with a different configuration, including instance family, operating system, and tenancy—for another convertible Reserved Instance. There are no limits to how many times you can perform exchange. As long as the target convertible Reserved Instance is of an equal or higher value than the CRIs that you are exchanging.
Note that convertible Reserved Instances cannot be sold in a reserved instance marketplace. This document (Exchange Convertible Reserved Instances) underscored the requirements.
Scheduled reservations have the ability to launch within time window of a reservation. Good for matching capacity reservations with predictable reoccurring schedule for our fraction over time.
It can be exhaustive to optimize your cloud spend and implement forecasting strategies. Give Kubernetes visibility (an Amnic service) a try and experience the benefits of personalized recommendations without massive infrastructure overhauls to lower costs.
Key considerations for reducing EKS Costs
Real-time observability and drilldowns are essential for maintaining cost control. Although AWS provides web-based cost estimator tools and TCO tools, there can still be cost blindspots.
Here are a few measures you can take to consolidate your efforts.
Talk to AWS representatives about centralized discounts, which can provide blanket cost savings across the organization.
Implement alerting and preventative action strategies as a cost savings tool.
Terminate pods that are not serving any purpose to minimize resource footprint.
Set precise resource requests and limits for containers in pods to avoid over-provisioning.
Use Spot Instances for non-critical workloads.
Your FinOps team will ultimately help you to get the most out of the cloud for your company at the lowest cost. And your education, inspiring a FinOps culture, will be key to your success in reducing your overall EKS cost.
Amnic's Kubernetes Visibility offers advanced Kubernetes cost optimization. You can easily dissect Kubernetes costs (with Amnic) by clusters, workloads and namespaces to gain visibility into resource utilization and efficiently manage costs.
Amnic delivers a cloud cost observability platform that helps measure and rightsize cloud costs continuously. It is agentless, secure and allows users to get started in five minutes at no cost. Amnic provides a suite of features such as cost explorer, K8s visibility, custom dashboards, benchmarking, anomaly detection, alerts, K8s optimization and more.
Amnic provides precise recommendations across network, storage and compute, based on your cloud infrastructure to identify high costs and industry best practices to reduce them.
With Amnic, organizations can successfully build a roadmap towards lean cloud infrastructure and build a culture of cost optimization among their teams. Visit www.amnic.com to learn more about how you can get started on your cloud cost optimization journey.