Amazon Elastic Container Service
by Amazon • • Container Orchestration Tools
Amazon Elastic Container Service (ECS) is AWS's container orchestration service for teams running containers on Fargate, EC2 or their own servers.
Amazon ECS decides where each container runs on AWS, restarts what fails and rolls out new versions of an application. Teams describe a workload in a task definition, and AWS operates the orchestration layer behind it. The service is built and run by Amazon Web Services, the cloud business of Amazon. It is one of the AWS compute services, beside Amazon EKS for Kubernetes and the AWS Fargate engine. Workloads run on a choice of compute. AWS Fargate is serverless, ECS Managed Instances let AWS provision EC2 capacity, and the EC2 launch type leaves instances in the team's hands. ECS Anywhere registers on-premises servers and virtual machines, and ECS on AWS Outposts runs on Outposts racks. The service scheduler places tasks by their declared CPU and memory and replaces stopped or unhealthy ones. Rolling deployments can fall back through the deployment circuit breaker, while Service Connect adds service discovery and a service mesh. It suits development teams already building on AWS, especially those who want containers in production without running Kubernetes. A small team can start on Fargate with no servers to look after. Platform teams can combine Fargate, EC2 capacity providers and Fargate Spot for workloads with different needs. Companies with their own data centres can bring those servers into an ECS cluster through ECS Anywhere. United Airlines, Smartsheet and BILL run workloads on Amazon ECS with Fargate, and new teams start from an AWS account. Application modernization puts an existing application into containers, with an Application Load Balancer spreading traffic across its tasks. Batch and data processing jobs run as tasks, and Fargate Spot capacity fits work that can tolerate an interruption. At start-up, containers receive their secrets from AWS Secrets Manager or Parameter Store as environment variables. Amazon EBS volumes attach to tasks that keep data, and per-task security groups decide which services may reach each other. Application Auto Scaling resizes a service as CPU use or a queue backlog changes, so a web service keeps pace with its traffic.
Pricing
View plans-
Amazon EC2 launch type
Free
- No ECS fee; EC2 instances billed at EC2 rates, per second with a 1 minute minimum
- Self-managed EC2 container instances
- The team manages and patches the instances
-
AWS Fargate (Linux/X86)
Custom pricing
- $0.04048 per vCPU-hour and $0.004445 per GB-hour, billed per second with a 1 minute minimum
- 20 GB of ephemeral storage per task at no extra charge
- Extra ephemeral storage $0.000111 per GB-hour
- Supported CPU and memory combinations only, from 0.25 vCPU with 0.5, 1 or 2 GB
- Example at N. Virginia rates: 5 tasks of 1 vCPU and 2 GB, 10 minutes a day for 30 days, $1.26 a month
-
AWS Fargate (Linux/ARM)
Custom pricing
- $0.03238 per vCPU-hour and $0.00356 per GB-hour, billed per second with a 1 minute minimum
- Graviton-based Fargate tasks
- 20 GB of ephemeral storage per task at no extra charge
- Example at N. Virginia rates: the same 5-task workload, $1.02 a month
-
AWS Fargate (Windows/X86)
Custom pricing
- $0.046552 per vCPU-hour plus a $0.046 OS license fee per vCPU-hour, and $0.00511175 per GB-hour
- Billed per second with a 1 minute minimum
- 20 GB of ephemeral storage per task at no extra charge
- Example at N. Virginia rates: 10 tasks of 1 vCPU and 2 GB, 1 hour a day for 30 days, $47.25 a month
Features
- Included: Declarative scheduling with resource requests
- Included: Self-healing restart and rescheduling
- Included: Rolling updates with rollback
- Included: Workload autoscaling on metrics
- Included: Cluster node autoscaling
- Included: Built-in service discovery and load balancing
- Included: Ingress and external load balancer integration
- Included: Dynamic persistent volume provisioning
- Included: Config and secret injection into workloads
- Not included: Namespace isolation with RBAC and quotas
- Included: Network policies between workloads
- Included: Managed control plane offering
- Not included: Multi-cluster management console
- Not included: Automated cluster version upgrades
- Not included: Helm chart application catalog
- Not included: GitOps reconciliation from a repository
- Not included: CNCF-certified Kubernetes conformance
Additional Features
- AWS Fargate serverless container compute
- Amazon ECS Managed Instances
- EC2 launch type with Auto Scaling group capacity providers
- ECS Anywhere for on-premises servers and VMs
- ECS on AWS Outposts
- Task definitions with CPU and memory requirements
- Service scheduler that replaces stopped and unhealthy tasks
- Container restart policy without replacing the task
Best for
- Development teams already building on AWS
- Teams that want containers in production without running a control plane
- Teams that want serverless containers on AWS Fargate
- Platform teams mixing Fargate, EC2 and Fargate Spot capacity
- Companies bringing on-premises servers under ECS through ECS Anywhere
- Teams that prefer AWS task definitions to Kubernetes manifests
- Teams running Windows containers without managing hosts
Use cases
- Moving an existing application into containers
- Serving a scaled web service behind an Application Load Balancer
- Running batch processing jobs as ECS tasks
- Running interruptible batch work on Fargate Spot
- Running data processing workloads
- Running generative AI applications in containers
- Hybrid deployments across AWS and on-premises servers
- Scaling a service on CPU use or a queue backlog per task
- Rolling back a failed deployment automatically
- Injecting secrets from Secrets Manager at container start-up
- Attaching an EBS volume to a task that keeps data
Screenshots & Videos
Explore Amazon Elastic Container Service in action
User Reviews
Compare with Similar Software
Click to compare side by side with Amazon Elastic Container Service