Amazon Elastic Container Service

Run containerized applications in production

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, high-performance container orchestration service that supports Docker containers and allows you to easily run and scale containerized applications on AWS. Amazon ECS eliminates the need for you to install and operate your own container orchestration software, manage and scale a cluster of virtual machines, or schedule containers on those virtual machines.

With simple API calls, you can launch and stop Docker-enabled applications, query the complete state of your application, and access many familiar features such as IAM roles, security groups, load balancers, Amazon CloudWatch Events, AWS CloudFormation templates, and AWS CloudTrail logs.

Why use Amazon ECS?

Containers without servers

Amazon ECS features AWS Fargate, so you can deploy and manage containers without having to provision or manage servers. With Fargate, you no longer have to select Amazon EC2 instance types, provision, and scale clusters of virtual machines to run containers or schedule containers to run on clusters and maintain their availability. Fargate enables you to focus on building and running applications, not the underlying infrastructure.

Containerize everything

Amazon ECS lets you easily build all types of containerized applications, from long-running applications and microservices to batch jobs and machine learning applications. You can migrate legacy Linux or Windows applications from on-premises to the cloud and run them as containerized applications using Amazon ECS.


Amazon ECS launches your containers in your own Amazon VPC, allowing you to use your VPC security groups and network ACLs. No compute resources are shared with other customers. You can also assign granular access permissions for each of your containers using IAM to restrict access to each service and what resources a container can access. This high level of isolation helps you use Amazon ECS to build highly secure and reliable applications.

Performance at scale

Amazon ECS is built on technology developed from many years of experience running highly scalable services. You can launch tens or tens of thousands of Docker containers in seconds using Amazon ECS with no additional complexity.

AWS integration

Amazon ECS is deeply integrated with AWS services including Elastic Load Balancing, Amazon VPC, AWS IAM, Amazon ECR, AWS Batch, Amazon CloudWatch, AWS CloudFormation, AWS CodeStar, and AWS CloudTrail. This gives you a complete solution for building and running a wide range of containerized applications.

Optimized for cost

Run containers on Amazon EC2 Spot Instances to receive up to a 90% discount compared to On-Demand prices. Containers are often stateless and fault-tolerant, making them a great fit for Spot Instances. You can easily run ECS clusters at scale by mixing Spot Instances with On-Demand and Reserved Instances.

How Amazon ECS works


When to use Amazon ECS


Amazon ECS helps you run microservices applications with native integration to AWS services and enables continuous integration and continuous deployment (CICD) pipelines.

Batch processing

Amazon ECS lets you run batch workloads with managed or custom schedulers on Amazon EC2 On-Demand Instances, Reserved Instances, or Spot Instances.

Application migration to the cloud

Legacy enterprise applications can be containerized and easily migrated to Amazon ECS without requiring code changes.

Machine learning

Amazon ECS makes it easy to containerize ML models for both training and inference. You can create ML models made up of loosely coupled, distributed services that can be placed on any number of platforms, or close to the data that the applications are analyzing.

What's new

New features for running containers on AWS
March 27, 2019
AWS App Mesh Is Now Generally Available

AWS App Mesh is a service mesh that provides application-level networking to make it easy for your services to communicate with each other across multiple types of compute infrastructure.

Learn More »

February 4, 2019
Amazon ECS now provides enhanced support for GPU-enabled EC2 instances

Today Amazon Elastic Container Service (ECS) announced enhanced support for running machine learning and high performance computing applications on EC2 GPU instances.

Learn More »

November 28, 2018
Introducing AWS App Mesh - Service Mesh for Microservices on AWS

AWS App Mesh is a service mesh that allows customers to easily monitor and control communications across microservices applications.

Learn More »

November 27, 2018
Improved Continuous Delivery Support for AWS Fargate

Amazon ECS and AWS Fargate now support blue/green deployments via AWS CodeDeploy.

Learn More »

See all announcements »

Blog posts & articles

Introducing AWS Fargate

AWS Fargate is an easy way to deploy containers on AWS so you can focus on building your applications rather than managing your infrastructure.
Keep Reading »

Deploy Microservices with ECS

See how Amazon ECS makes it easy to break monolith applications into microservices architectures using containers.

Keep Reading »

Set Up a CICD Pipeline for Containers

Building and deploying containerized services manually is slow and prone to errors. AWS CodePipline now automates deployment to Amazon ECS.
Keep Reading »

Learn more about Amazon ECS

Visit the features page
Ready to build?
Get started with Amazon ECS
Have more questions?
Contact us