Amazon Elastic Container Service

Highly secure, reliable, and scalable way to run containers

Amazon Elastic Container Service (Amazon ECS) is a fully managed container orchestration service. Customers such as Duolingo, Samsung, GE, and Cook Pad use ECS to run their most sensitive and mission critical applications because of its security, reliability, and scalability.

ECS is a great choice to run containers for several reasons. First, you can choose to run your ECS clusters using AWS Fargate, which is serverless compute for containers. Fargate removes the need to provision and manage servers, lets you specify and pay for resources per application, and improves security through application isolation by design. Second, ECS is used extensively within Amazon to power services such as Amazon SageMaker, AWS Batch, Amazon Lex, and Amazon.com’s recommendation engine, ensuring ECS is tested extensively for security, reliability, and availability.

Additionally, because ECS has been a foundational pillar for key Amazon services, it can natively integrate with other services such as Amazon Route 53, Secrets Manager, AWS Identity and Access Management (IAM), and Amazon CloudWatch providing you a familiar experience to deploy and scale your containers. ECS is also able to quickly integrate with other AWS services to bring new capabilities to ECS. For example, ECS allows your applications the flexibility to use a mix of Amazon EC2 and AWS Fargate with Spot and On-Demand pricing options. ECS also integrates with AWS App Mesh, which is a service mesh, to bring rich observability, traffic controls and security features to your applications. ECS has grown rapidly since launch and is currently launching 5X more containers every hour than EC2 launches instances.

Benefits

Serverless option

ECS supports Fargate to provide serverless compute for containers. Fargate removes the need to provision and manage servers, lets you specify and pay for resources per application, and improves security through application isolation by design.

Application first with Capacity Providers

ECS capacity providers help you to focus on building and managing applications instead of infrastructure. With capacity provider the demands of your application determines the compute capacity allocated to it and you get the flexibility to use a mix of EC2 and Fargate with Spot and On-Demand pricing options for your applications.

Performance at scale

ECS powers several key services at Amazon and is built on technology developed from many years of experience running highly scalable services. You can rapidly launch thousands of containers using ECS with no additional complexity.

Secure

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 ECS to build highly secure applications.

Reliable

ECS runs on the best global infrastructure with 69 Availability Zones (AZ) across 22 Regions. AWS provides >2x more regions with multiple availability zones than the next largest cloud provider (22 vs. 8). ECS is backed by the AWS Compute SLA which guarantees a Monthly Uptime Percentage of at least 99.99% for ECS giving you ease of mind.

Optimized for cost

With ECS, you can use Fargate Spot tasks or EC2 Spot instances to realize up to 90% discounts compared to on-demand prices for running stateless and fault tolerant applications. You can use savings plan and realize up to 50% discount for persistent workloads. You can easily run ECS clusters at scale by mixing Spot Instances with On-Demand and Reserved Instances.

How Amazon ECS works

product-page-diagram_ECS_1

Use cases

Hybrid Deployment

You can use ECS on Outposts to run containerized applications that require particularly low latencies to on-premises systems. AWS Outposts is a fully managed service that extends AWS infrastructure, AWS services, APIs, and tools to virtually any connected site. With ECS on Outposts, you can manage containers on-premises with the same ease as you manage your containers in the cloud.

Machine Learning

You can use AWS Deep Learning Containers for training and serving models in TensorFlow, PyTorch, and MXNet on ECS. You can also accelerate deep learning inference workloads in ECS by using Amazon Elastic Inference (EI).

Batch Processing

You can run sequential or parallel batch workloads on ECS using AWS Batch. AWS Batch enables you to easily and efficiently run hundreds of thousands of batch computing jobs by dynamically provisioning the optimal quantity and type of compute resources based on the volume and specific resource requirements of the batch jobs submitted.

Web Applications

You can build web applications that automatically scale up and down and run in a highly available configuration across multiple Availability Zones. By running on ECS, your web applications benefit from the performance, scale, reliability, and availability of the AWS. Additionally, your services get out-of-the-box integrations with AWS networking and security services, such as Application Load Balancers for load distribution of your web application and VPC for networking.

What's new

December 3, 2019
Amazon ECS Capacity Providers Now Available

Amazon Elastic Container Service (ECS) Capacity Providers are now available. Capacity Providers are a new way to manage compute capacity for containers, that allow the application to define its requirements for how it uses the capacity.

Learn More »

December 3, 2019
Amazon ECS Cluster Auto Scaling Now Available

Amazon Elastic Container Service (ECS) Cluster Auto Scaling is now available. With ECS Cluster Auto Scaling, your ECS clusters running on EC2 can automatically scale as needed to meet the resource demands of all tasks and services in your cluster, including scaling to and from zero.

Learn More »

December 3, 2019
Amazon ECS, Amazon EKS, and AWS App Mesh now support AWS Outposts

Amazon ECS, Amazon EKS, and AWS App Mesh now support AWS Outposts, a fully managed service that extends AWS infrastructure, and tools to virtually any datacenter, co-location space, or on-premises facility for a consistent hybrid experience.

Learn More »

November 19, 2019
ECS container instances monitoring now available in Amazon CloudWatch Container Insights

You can now monitor, isolate, and diagnose performance impacting your Amazon Elastic Container Service (Amazon ECS) container instances.

Learn More »

See all announcements »

Blog posts & articles

AWS ECS Cluster Auto Scaling is Now Generally Available

Today, we have launched AWS ECS Cluster Auto Scaling. This new capability improves your cluster scaling experience by increasing the speed and reliability of cluster scale-out, giving you control over the amount of spare capacity maintained in your cluster, and automatically managing instance termination on cluster scale-in.

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