Amazon Elastic Container Service
Amazon Elastic Container Service (Amazon ECS) is a fully managed
container orchestration service that supports Docker containers
and allows you to easily run applications on a managed cluster.
Amazon ECS eliminates the need to install, operate, and scale
container management infrastructure, and simplifies the creation
of environments with familiar AWS core features like
Security
Groups,
Elastic Load Balancing
When running applications on Amazon ECS, you can choose to provide
the underlying compute power for your containers with Amazon EC2
instances or with
AWS Fargate
Amazon ECS allows developers to have direct, fine-grained control over all infrastructure components, allowing for the creation of custom application architectures. Additionally, Amazon ECS supports different deployment strategies to update your application container images.
Table 4: Amazon ECS deployment features
Capability | Description |
---|---|
Provision |
Amazon ECS will provision new application container instances and compute resources based on scaling policies and Amazon ECS configurations. Infrastructure resources such as Load Balancers will need to be created outside of Amazon ECS. Refer to Getting Started with Amazon ECS for more details on the types of resources that can be created with Amazon ECS. |
Configure |
Amazon ECS supports customization of the compute resources created to run a containerized application, as well as the runtime conditions of the application containers (e.g., environment variables, exposed ports, reserved memory/CPU). Customization of underlying compute resources is only available if using Amazon EC2 instances. Refer to Creating a Cluster for more details on how to customize an Amazon ECS cluster to run containerized applications. |
Deploy |
Amazon ECS supports several deployment strategies for you containerized applications. Refer to Amazon ECS Deployment Types for more details on the types of deployment processes that are supported. |
Scale |
Amazon ECS can be used with auto-scaling policies to automatically adjust the number of containers running in your Amazon ECS cluster. Refer to Service Auto Scaling for more details on configuring auto scaling for your containerized applications on Amazon ECS. |
Monitor |
Amazon ECS supports monitoring compute resources and application containers with CloudWatch. Refer to Monitoring Amazon ECS for more details on the types of monitoring capabilities offered by Amazon ECS. |
The following diagram illustrates Amazon ECS being used to manage a simple containerized application. In this example, infrastructure components are created outside of Amazon ECS, and Amazon ECS is used to manage the deployment and operation of application containers on the cluster
Figure 4: Amazon ECS use case