AWS ECS
AWS container orchestration service that runs and scales Docker applications without managing the underlying cluster infrastructure.
seed#aws#ecs#containers#docker#orchestration#cloud
What it is
Amazon ECS (Elastic Container Service) is AWS's container orchestration service. It runs Docker containers at scale with two launch modes: EC2 (you manage instances) and Fargate (serverless, AWS manages everything).
Key concepts
| Concept | Function | K8s equivalent |
|---|---|---|
| Task Definition | Container blueprint (image, CPU, memory, ports) | Pod spec |
| Task | Running instance of a task definition | Pod |
| Service | Maintains N running tasks with load balancing | Deployment + Service |
| Cluster | Logical grouping of tasks and services | Cluster + Namespace |
ECS vs EKS
| Aspect | ECS | EKS |
|---|---|---|
| Complexity | Lower, AWS native | Higher, Kubernetes standard |
| Portability | AWS lock-in | Multi-cloud |
| Ecosystem | AWS tools | Full K8s ecosystem |
| Cost | No control plane fee | $0.10/hr per cluster |
Common patterns
- Microservices: each service as an ECS service with ALB
- Batch processing: tasks that process and terminate
- Sidecar: auxiliary containers alongside the main one
Why it matters
ECS is the most direct way to run containers on AWS without the operational complexity of Kubernetes. With Fargate, it eliminates EC2 instance management, and with native integration to ALB, CloudWatch, and IAM, it is the pragmatic choice for teams that don't need Kubernetes portability.
References
- ECS Documentation — Official documentation.
- ECS Best Practices Guide — AWS, 2024. Best practices for containers on ECS.
- ECS Pricing — AWS, 2024. Pricing model.