Amazon Elastic Kubernetes Service
EKS
You need a managed Kubernetes service to run, orchestrate, and scale containerized applications using standard APIs.
Reach for it when
- Migrating existing Kubernetes workloads from on-premises datacenters to AWS with minimal modification.
- Standardizing container deployment pipelines across multiple cloud providers using open-source tools.
- Deploying complex microservice meshes that require advanced traffic routing and ingress configurations.
Do not reach for it when
- Deploying standard Docker containers without complex orchestration needs — use ECS instead.
- Hosting a simple web application that only needs to scale in response to basic HTTP traffic — use App Runner instead.
- Running lightweight background scripts that do not require continuous execution — use Lambda instead.
Alternatives, and how to choose
| Service | Pick it instead when |
|---|---|
| ECS | Choose it when you want to deploy Docker containers using a simple, native AWS orchestration model. |
| App Runner | Choose it when you need to deploy containers directly from a registry without managing clusters. |
How you pay
- The model
- Pay a flat hourly fee per cluster, plus the cost of the underlying EC2 or Fargate worker nodes.
- The line item that surprises people
- The baseline cluster fee is charged continuously even if you run zero worker nodes or active workloads.
What trips people up
- You must manage Kubernetes version upgrades; older versions are deprecated and forced to upgrade by AWS.
- Configuring network namespaces and IAM Roles for Service Accounts (IRSA) requires complex IAM policy mappings.
- Default node groups do not automatically scale; you must deploy Cluster Autoscaler or Karpenter manually.
Verify the live service
This page is a concept reference. Cost models are qualitative; confirm the current offering, Region and pricing before deploying.