Amazon EKS Popular2017年〜
A managed service for easily building and operating Kubernetes clusters on AWS
What It Does
Amazon EKS (Elastic Kubernetes Service) is a managed service for easily running Kubernetes on AWS. AWS automatically handles the setup, operation, and scaling of the Kubernetes control plane (API server, etcd, etc.), letting you focus on deploying applications. It is fully compatible with open-source Kubernetes, so you can use your existing Kubernetes tools and plugins as-is.
Use Cases
It is used for operating and managing large-scale microservices, migrating on-premises Kubernetes environments to the cloud, serving as the AWS container platform in multi-cloud strategies, distributed execution of machine learning workloads, and running stateful applications (databases, message queues) in containers - anywhere you want to leverage the Kubernetes ecosystem.
Everyday Analogy
Think of it like a factory management system that follows international standards. You run your factory according to a universal standard called Kubernetes (like an ISO standard), but AWS handles the infrastructure management - electricity, water, and security. If you move to another factory (cloud), you can use the same procedures since they follow the same standard.
What Is EKS?
Amazon Elastic Kubernetes Service (EKS) is a managed Kubernetes service from AWS. Kubernetes is an open-source platform that automates the deployment, scaling, and management of containerized applications, originally developed by Google and now managed by the CNCF (Cloud Native Computing Foundation). EKS is a certified Kubernetes distribution, so you can use the standard Kubernetes API directly.
Key Features
EKS's biggest feature is that AWS fully manages the Kubernetes control plane. The control plane is redundantly deployed across multiple Availability Zones with a 99.95% SLA. For worker nodes, you can choose EC2 instances, Fargate, or on-premises environments via EKS Anywhere. All standard Kubernetes ecosystem tools - Helm charts, kubectl, Kustomize - are fully supported. Integration with AWS App Mesh and AWS Load Balancer Controller also makes service mesh and traffic management easy to implement.
Differences from ECS
Both EKS and ECS are container orchestration services, but they have different design philosophies. ECS is an AWS-native service with deep AWS ecosystem integration and simpler configuration. EKS follows the Kubernetes standard, offering better portability across multi-cloud and hybrid cloud environments. EKS is suited for teams that already have Kubernetes knowledge and tools, while ECS is suited for teams seeking simpler AWS-focused operations. For comprehensive best practices on choosing between ECS and EKS, specialized books on Amazon are recommended.
Pricing
The EKS control plane costs $0.10 per cluster per hour. In addition, you pay for the EC2 instances or Fargate resources used as worker nodes. With EKS Auto Mode, you can let AWS manage nodes while paying only for compute. For small test environments, you can start with as few as two t3.medium instances.
Getting Started
The easiest way to get started with EKS is using the eksctl command-line tool. Running eksctl create cluster automatically builds a complete cluster including VPC, subnets, security groups, and node groups. Once the cluster is up, you can deploy applications using kubectl just like standard Kubernetes. You can also create and monitor clusters from the AWS Management Console.
Things to Watch Out For
- Kubernetes has a steep learning curve, so container beginners are recommended to start with ECS and migrate to EKS as needed
- The control plane costs approximately $73 per cluster per month, so delete test clusters when not in use to control costs