What is Amazon EKS? - Amazon EKS

Help improve this page

Want to contribute to this user guide? Scroll to the bottom of this page and select Edit this page on GitHub. Your contributions will help make our user guide better for everyone.

What is Amazon EKS?

Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that eliminates the need to install, operate, and maintain your own Kubernetes control plane on Amazon Web Services (AWS). Kubernetes is an open-source system that automates the management, scaling, and deployment of containerized applications.

Features of Amazon EKS

The following are key features of Amazon EKS:

Secure networking and authentication

Amazon EKS integrates your Kubernetes workloads with AWS networking and security services. It also integrates with AWS Identity and Access Management (IAM) to provide authentication for your Kubernetes clusters.

Easy cluster scaling

Amazon EKS enables you to scale your Kubernetes clusters up and down easily based on the demand of your workloads. Amazon EKS supports horizontal Pod autoscaling based on CPU or custom metrics, and cluster autoscaling based on the demand of the entire workload.

Managed Kubernetes experience

You can make changes to your Kubernetes clusters using eksctl, AWS Management Console, AWS Command Line Interface (AWS CLI), the API, kubectl, and Terraform.

High availability

Amazon EKS provides high availability for your control plane across multiple Availability Zones.

Integration with AWS services

Amazon EKS integrates with other AWS services, providing a comprehensive platform for deploying and managing your containerized applications. You can also more easily troubleshoot your Kubernetes workloads with various observability tools.

For details about other features of Amazon EKS, see Amazon EKS features.

Get started with Amazon EKS

To create your first cluster and its associated resources, see Getting started with Amazon EKS. In general, getting started with Amazon EKS involves the following steps.

  1. Create a cluster – Start by creating your cluster using eksctl, AWS Management Console, AWS CLI, or one of the AWS SDKs.

  2. Choose your approach to compute resources – Decide between AWS Fargate, Karpenter, managed node groups, and self-managed nodes.

  3. Setup – Set up the necessary controllers, drivers, and services.

  4. Deploy workloads – Tailor your Kubernetes workloads to best utilize the resources and capabilities of your chosen node type.

  5. Management – Oversee your workloads, integrating AWS services to streamline operations and enhance workload performance. You can view information about your workloads using the AWS Management Console.

The following diagram shows a basic flow of running Amazon EKS in the cloud. To learn about other Kubernetes deployment options, see Deployment options.

A basic flow diagram of the steps described previously.

Pricing for Amazon EKS

An Amazon EKS cluster consists of a control plane and the Amazon Elastic Compute Cloud (Amazon EC2) or Fargate compute that you run Pods on. For more information about pricing for the control plane, see Amazon EKS pricing. Both Amazon EC2 and Fargate provide:

On-Demand Instances

Pay for the instances that you use by the second, with no long-term commitments or upfront payments. For more information, see Amazon EC2 On-Demand Pricing and AWS Fargate Pricing.

Savings Plans

You can reduce your costs by making a commitment to a consistent amount of usage, in USD per hour, for a term of one or three years. For more information, see Pricing with Savings Plans. You can also use a hybrid pricing model. For example, you can use Savings Plans to serve your regular traffic and scale up your cluster nodes with Spot instances to serve the peak demands.