Amazon Elastic Kubernetes Service (Amazon EKS) is AWS’s service to manage and deploy containers via Kubernetes container orchestration service. Pricing is $0.10 per hour for each EKS cluster you create – you can use a single cluster to run multiple applications using Kubernetes namespaces and IAM security policies. You can run EKS on AWS using EC2 or Fargate. You can also run on-prem with AWS Outposts.
If you use EC2, you would pay for the resources you created to run your Kubernetes worker nodes. This is on demand: you only pay for what you use, as you use it. You pay per cluster and underlying resource. If you choose to run your EKS clusters on Fargate, it will remove the need to provision and manage servers. With Fargate you can specify and pay for resources per application – pricing is based on the vCPU and memory resources used from the time you start to download your container image until the Amazon EKS pod terminates (minimum 1-minute charge).
EKS worker nodes are standard Amazon EC2 instances – you are billed for them based on normal EC2 prices.
With the $0.10 price per hour, you’d be spending $72 per month for a cluster running the full month. It’s important to note that this price is the necessary cost to operate a cluster note – you still have to pay for the computation costs on top of this (e.g. EC2 instance hours or Fargate compute resources).
The main selling point of Amazon EKS is that the Kubernetes control plane is managed for you by AWS, so you don’t have to set up and run your own. When you set up a new cluster in EKS, you can specify if it’s going to be just available to the current VPC, or if it will be accessible to outside IP addresses. This flexibility highlights the two main deployment options for EKS:
-
Fully within an AWS VPC, with complete integration to other AWS services you run in your account while being completely isolated from the outside world.
-
Open and accessible, which enables hybrid-cloud, multi-cloud, or multi-account Kubernetes deployments.
Both options allow you the flexibility to use your own Kubernetes management tools, like Dashboard and kubectl, as EKS gives you the API Server Endpoint once you provision the cluster. This control plane utilizes multiple availability zones within the region you choose for redundancy.