AWS Compute Blog

HAQM EC2 Container Service is now generally available

We would like to announce the general availability of HAQM EC2 Container Service (ECS). HAQM ECS is a highly scalable, high performance container management service that supports Docker containers and allows you to easily run applications on a managed cluster of HAQM EC2 instances.

Running a container on a single machine demonstrates Docker’s power and simplicity, however scaling containers across a fleet of machines can be challenging. Over the past six months, we heard a lot of great feedback from our preview users. We heard that you need: accurate and timely information about the state of your EC2 instances and the containers running on them to make good container placement decisions and ensure application availability; the ability to place containers on EC2 instances that have the required resources, such as adequate memory or available ports; containers to work with the AWS services you depend on; and a service that is extensible and can be customized to your particular purposes. We also heard that you did not want to operate another piece of software to achieve these goals.

We built HAQM ECS for you. HAQM ECS provides complete cluster state information through simple API calls or clicks in the management console. There is no need to install, operate, and scale cluster management infrastructure. ECS includes schedulers that support long-running applications and batch jobs. You can also integrate custom and third party schedulers such as Apache Mesos. Multiple schedulers can run simultaneously on the same cluster, letting you manage the placement of containers and utilization of EC2 instances based on your unique requirements. HAQM ECS is designed for use with other AWS services and includes access to many familiar features like Elastic Load Balancing, EBS volumes, EC2 security groups, and IAM roles. Finally, HAQM ECS is extensible. The HAQM ECS agent is open source and the HAQM ECS APIs support custom schedulers and integration with third party tools.

We appreciate your input during the preview and look forward to your continued feedback. To recap some of the improvements made during the preview, we added support for the US West (Oregon) and EU (Ireland) regions, storing and sharing information between containers using data volumes, and authenticating with Docker registries such as Docker Hub allowing you to use Docker images from private repositories.

With the general availability, we added these additional features that you requested during the preview:

Management console. You can now use the HAQM ECS Management Console in addition to the AWS CLI and SDK to launch, manage, and monitor your containers and clusters. Please visit our console.

Application load balancing, health checks, scaling, deployments. The new HAQM ECS service scheduler can manage long-running applications and services. The service scheduler can distribute traffic across your containers using Elastic Load Balancing and automatically recover containers that become unhealthy (fail ELB health checks) or stop running to ensure you have the desired number of healthy containers supporting your application. You can scale your application up and down by changing the number of containers you want the service to run to meet your application’s capacity requirements. You can also update your application by changing its definition or using a new image.

Brenna Saeta is an architect at Coursera, an education company that partners with top universities and organizations to offer online course for free. He recently told us, “We are using HAQM EC2 Container Service to power our new programming assignments infrastructure for next-generation On-Demand course platform. Building on our existing use of AWS, we required a solution on which we could securely and efficiently deploy Docker containers to encapsulate learner programming assignment submissions. We have modified the open source ECS agent to apply custom security profiles and are looking forward to additional capabilities that will enable us to deliver an even more powerful platform for worldwide learning.”

New Regions. You can now use the Asia Pacific (Tokyo) region, delivering support for a total of four regions including US East (Northern Virginia), US West (Oregon) and EU (Ireland).

AWS CloudTrail integration. AWS CloudTrail lets you record all your HAQM ECS API calls and have the log files delivered to you.

There are three blogs that provide additional details on these features. My colleague Jeff Barr wrote a nice blog post that provides a walkthrough of the HAQM ECS service scheduler using the management console. Jeff shows how to deploy and scale a simple web application on HAQM ECS. My colleague Daniele Stroppa wrote a blog that describes how to use Jenkins as part of a continuous deployment process with the HAQM ECS service scheduler. Daniele shows how to use git push to trigger Jenkins to create a new Docker image and update a running ECS service. The third blog provides an overview of scheduling and orchestration systems. Werner Vogels describes how schedulers make decisions that can optimize task placement to reduce resource contention and monitor to ensure requests are fulfilled. He also explains how HAQM ECS supports multiple schedulers.

These features are available now and you can start using them today. For more information, visit our product detail page and read the documentation.