Amazon Elastic Container Service
Developer Guide (API Version 2014-11-13)

Document History

The following table describes the major updates and new features for the Amazon Elastic Container Service Developer Guide. We also update the documentation frequently to address the feedback that you send us.

Change

Description

Date

Amazon ECS service discovery region expansion

Amazon ECS service discovery has expanded support to the Canada (Central), South America (São Paulo), Asia Pacific (Seoul), Asia Pacific (Mumbai), and EU (Paris) regions.

For more information, see Service Discovery.

27 September 2018

Added support for additional Docker flags in container definitions

Amazon ECS introduced support for the following Docker flags in container definitions:

17 Sept 2018

Private registry authentication support for Amazon ECS using AWS Fargate tasks

Amazon ECS introduced support for Fargate tasks using private registry authentication using AWS Secrets Manager. This feature enables you to store your credentials securely and then reference them in your container definition, which allows your tasks to use private images.

For more information, see Private Registry Authentication for Tasks.

10 Sept 2018

Amazon ECS CLI v1.8.0

New version of the Amazon ECS CLI released, which added the following functionality:

  • Added support for Docker volumes in Docker compose files. For more information, see ecs-cli compose.

  • Added support for task placement constraints and strategies in Docker compose files. For more information, see ecs-cli compose.

  • Added support for private registry authentication in Docker compose files. For more information, see ecs-cli compose.

  • Added support for --force-update on compose up to force relaunching of tasks. For more information, see ecs-cli compose up.

7 Sept 2018

Amazon ECS service discovery region expansion

Amazon ECS service discovery has expanded support to the Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), EU (Frankfurt), and EU (London) regions.

For more information, see Service Discovery.

30 August 2018

Scheduled tasks with Fargate tasks support

Amazon ECS introduced support for scheduled tasks for the Fargate launch type.

For more information, see Scheduled Tasks (cron).

28 August 2018

Private registry authentication using AWS Secrets Manager support

Amazon ECS introduced support for private registry authentication using AWS Secrets Manager. This feature enables you to store your credentials securely and then reference them in your container definition, which allows your tasks to use private images.

For more information, see Private Registry Authentication for Tasks.

16 August 2018

Docker volume support added

Amazon ECS introduced support for Docker volumes.

For more information, see Using Data Volumes in Tasks.

9 August 2018

AWS Fargate region expansion

AWS Fargate with Amazon ECS has expanded to the EU (Frankfurt), Asia Pacific (Singapore), and Asia Pacific (Sydney) regions.

For more information, see AWS Fargate on Amazon ECS.

19 July 2018

Amazon ECS CLI v1.7.0

New version of the Amazon ECS CLI released, which added the following functionality:

  • Added support for container healthcheck and devices in Docker compose files. For more information, see ecs-cli compose.

18 July 2018

Amazon ECS service scheduler strategies added

Amazon ECS introduced the concept of service scheduler strategies.

There are two service scheduler strategies available:

  • REPLICA—The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Replica.

  • DAEMON—The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When using this strategy, there is no need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Daemon.

    Note

    Fargate tasks do not support the DAEMON scheduling strategy.

For more information, see Service Scheduler Concepts.

12 June 2018

Amazon ECS CLI v1.6.0

New version of the Amazon ECS CLI released, which added the following functionality:

5 June 2018

Amazon ECS container agent v1.18.0

New version of the Amazon ECS container agent released, which added the following functionality:

  • Added procedure to manually install the container agent from a S3 URL on non-Amazon Linux EC2 instance, including a PGP signature method for verifying the Amazon ECS container agent installation file. For more information, see Installing the Amazon ECS Container Agent.

  • Added procedure to manually install the container agent from a S3 URL on a Windows EC2 instance, including a PGP signature method for verifying the Amazon ECS container agent installation file. For more information, see Getting Started with Windows Containers.

  • Added support for customizing the container agent image pull behavior using the ECS_IMAGE_PULL_BEHAVIOR parameter. For more information, see Amazon ECS Container Agent Configuration.

For more information, see amazon-ecs-agent github.

24 May 2018

Added Support for bridge and host Network Modes When Configuring Service Discovery

Added support for configuring service discovery for Amazon ECS services using task definitions that specify the bridge or host network modes. For more information, see Service Discovery.

22 May 2018

Added support for additional Amazon ECS-optimized AMI metadata parameters

Added subparameters that allow you to programatically retrieve the Amazon ECS-optimized AMI ID, image name, operating system, container agent version, and runtime version. Query the metadata using the SSM Parameter Store API. For more information, see Retrieving the Amazon ECS-optimized AMI Metadata.

9 May 2018

AWS Fargate region expansion

AWS Fargate with Amazon ECS has expanded to the US East (Ohio), US West (Oregon), and EU West (Ireland) regions.

For more information, see AWS Fargate on Amazon ECS.

26 April 2018

Amazon ECS CLI v1.5.0

New version of the Amazon ECS CLI released, which added the following functionality:

  • Added support for the ECS CLI to automatically retrieve the latest stable Amazon ECS-optimized AMI by querying the SSM Parameter Store API during the cluster resource creation process. This requires the user account that you are using to have the required SSM permissions. For more information, see ecs-cli up.

  • Added support for the shm_size and tmpfs parameters in compose files. For more information, see ecs-cli compose.

For more information about the updated ECS CLI syntax, see Amazon ECS Command Line Reference.

19 April 2018

Amazon ECS-optimized AMI Metadata Retrieval

Added ability to programatically retrieve Amazon ECS-optimized AMI metadata using the SSM Parameter Store API. For more information, see Retrieving the Amazon ECS-optimized AMI Metadata.

10 April 2018

Amazon ECS CLI download verification

Added new PGP signature method for verifying the Amazon ECS CLI installation file. For more information, see Installing the Amazon ECS CLI.

5 April 2018

AWS Fargate Platform Version

New AWS Fargate platform version released, which contains:

For more information, see AWS Fargate Platform Versions.

26 March 2018

Amazon ECS Service Discovery

Added integration with Route 53 to support Amazon ECS service discovery. For more information, see Service Discovery.

22 March 2018

Amazon ECS CLI v1.4.2

New version of the Amazon ECS CLI released, which added the following functionality:

  • Updated the AMI to amzn-ami-2017.09.k-amazon-ecs-optimized.

For more information about the updated ECS CLI syntax, see Amazon ECS Command Line Reference.

20 March 2018

Docker shm-size and tmpfs support

Added support for the Docker shm-size and tmpfs parameters in Amazon ECS task definitions.

For more information about the updated ECS CLI syntax, see Linux Parameters.

20 March 2018

Amazon ECS CLI v1.4.0

New version of the Amazon ECS CLI released, which added the following functionality:

  • Added support for the us-gov-west-1 region.

  • Added --force-deployment flag for the compose service command. For more information, see ecs-cli compose service.

  • Added support for aws_session_token in ECS profiles. For more information, see ecs-cli configure profile.

  • Updated the AMI to amzn-ami-2017.09.j-amazon-ecs-optimized.

For more information about the updated ECS CLI syntax, see Amazon ECS Command Line Reference.

09 March 2018

Container Health Checks

Added support for Docker health checks in container definitions. For more information, see Health Check.

08 March 2018

AWS Fargate

Added overview for Amazon ECS with AWS Fargate. For more information, see AWS Fargate on Amazon ECS.

22 February 2018

Amazon ECS Task Metadata Endpoint

Beginning with version 1.17.0 of the Amazon ECS container agent, various task metadata and Docker stats are available to tasks that use the awsvpc network mode at an HTTP endpoint that is provided by the Amazon ECS container agent. For more information, see Amazon ECS Task Metadata Endpoint.

8 February 2018

Amazon ECS Service Auto Scaling using target tracking policies

Added support for ECS Service Auto Scaling using target tracking policies in the Amazon ECS console. For more information, see Target Tracking Scaling Policies.

Removed the previous tutorial for step scaling in the ECS first run wizard. This was replaced with the new tutorial for target tracking.

8 February 2018

Amazon ECS CLI v1.3.0

New version of the Amazon ECS CLI released, which added the following functionality:

  • Ability to create empty clusters with the up command.

  • Added --health-check-grace-period flag for the compose service up command.

  • Updated the AMI to amzn-ami-2017.09.g-amazon-ecs-optimized.

For more information about the updated ECS CLI syntax, see Amazon ECS Command Line Reference.

19 January 2018

Docker 17.09 support

Added support for Docker 17.09. For more information, see Amazon ECS-Optimized AMI.

18 January 2018

Elastic Load Balancing health check initialization wait period

Added ability to specify a wait period for health checks. For more information, see (Optional) Health Check Grace Period.

27 December 2017

New service scheduler behavior

Updated information about the behavior for service tasks that fail to launch. Documented new service event message that triggers when a service task has consecutive failures. For more information about this updated behavior, see Additional Service Concepts.

11 January 2018

Task-level CPU and memory

Added support for specifying CPU and memory at the task-level in task definitions. For more information, see TaskDefinition.

12 December 2017

Amazon ECS console AWS CodePipeline integration

Added Amazon ECS integration with CodePipeline. CodePipeline supports Amazon ECS as a deployment option to help set up deployment pipelines. For more information, see Tutorial: Continuous Deployment with AWS CodePipeline.

12 December 2017

Task execution role

The Amazon ECS container agent makes calls to the Amazon ECS API actions on your behalf, so it requires an IAM policy and role for the service to know that the agent belongs to you. The following actions are covered by the task execution role:

  • Calls to Amazon ECR to pull the container image

  • Calls to CloudWatch to store container application logs

For more information, see Amazon ECS Task Execution IAM Role.

7 December 2017

Windows containers support GA

Added support for Windows 2016 containers. For more information, see Windows Containers.

5 December 2017

Amazon ECS CLI v1.1.0 with Fargate support

New version of the Amazon ECS CLI released, which added the following features:

  • Support for task networking

  • Support for AWS Fargate

  • Support for viewing CloudWatch Logs data from a task

For more information, see ECS CLI changelog.

29 November 2017

AWS Fargate GA

Added support for launching Amazon ECS services using the Fargate launch type. For more information, see Amazon ECS Launch Types.

29 November 2017

Amazon ECS name change

Amazon Elastic Container Service is renamed (previously Amazon EC2 Container Service).

21 November 2017

Task networking

The task networking features provided by the awsvpc network mode give Amazon ECS tasks the same networking properties as Amazon EC2 instances. When you use the awsvpc network mode in your task definitions, every task that is launched from that task definition gets its own elastic network interface, a primary private IP address, and an internal DNS hostname. The task networking feature simplifies container networking and gives you more control over how containerized applications communicate with each other and other services within your VPCs. For more information, see Task Networking with the awsvpc Network Mode.

14 November 2017

Amazon ECS CLI v1.0.0

New version of the Amazon ECS CLI released, which added the following features:

  • Support for adding multiple named profiles and cluster configurations

  • Support for custom task definition parameters specified using --ecs-params

  • Support for running the Amazon ECS CLI on Windows

For more information, see ECS CLI changelog.

7 November 2017

Amazon ECS container metadata

Amazon ECS containers are now able to access metadata such as their Docker container or image ID, networking configuration, or Amazon ARNs. For more information, see Amazon ECS Container Metadata File.

2 November 2017

Docker 17.06 support

Added support for Docker 17.06. For more information, see Amazon ECS-Optimized AMI.

2 November 2017

Support for Docker flags: device and init

Added support for Docker's device and init features in task definitions using the LinuxParameters parameter (devices and initProcessEnabled). For more information, see LinuxParameters.

2 November 2017

Support for Docker flags: cap-add and cap-drop

Added support for Docker's cap-add and cap-drop features in task definitions using the LinuxParameters parameter (capabilities). For more information, see LinuxParameters.

22 September 2017

Network Load Balancer support

Amazon ECS added support for Network Load Balancers in the Amazon ECS console. For more information, see Creating a Network Load Balancer.

7 September 2017

RunTask overrides

Added support for task definition overrides when running a task. This allows you to run a task while changing a task definition without the need to create a new task definition revision. For more information, see Running Tasks.

27 June 2017

Amazon ECS scheduled tasks

Added support for scheduling tasks using cron. For more information, see Scheduled Tasks (cron).

7 June 2017

Spot Instances in the Amazon ECS console

Added support for creating Spot Fleet container instances within the Amazon ECS console. For more information, see Launching an Amazon ECS Container Instance.

6 June 2017

Amazon ECS CLI v0.5.0

New version of the Amazon ECS CLI released, which added the following features:

  • Ability to push, pull, and list Amazon ECR images

  • Support for existing load balancers and Application Load Balancers in CreateService

For more information, see ECS CLI changelog.

3 April 2017

Amazon SNS notification for new Amazon ECS-optimized AMI releases

Added ability to subscribe to SNS notifications about new Amazon ECS-optimized AMI releases. For more information, see Subscribing to Amazon ECS–Optimized AMI Update Notifications.

23 March 2017

Microservices and batch jobs

Added documentation for two common use cases for Amazon ECS: microservices and batch jobs. For more information, see Common Use Cases in Amazon ECS.

February 2017

Container instance draining

Added support for container instance draining, which provides a method for removing container instances from a cluster. For more information, see Container Instance Draining.

24 January 2017

Docker 1.12 support

Added support for Docker 1.12. For more information, see Amazon ECS-Optimized AMI.

24 January 2017

New task placement strategies

Added support for task placement strategies: attribute-based placement, bin pack, Availability Zone spread, and one per host. For more information, see Amazon ECS Task Placement Strategies.

29 December 2016

Windows container support in beta

Added support for Windows 2016 containers (beta). For more information, see Windows Containers.

20 December 2016

Blox OSS support

Added support for Blox OSS, which allows for custom task schedulers. For more information, see Scheduling Amazon ECS Tasks.

1 December 2016

Amazon ECS event stream for CloudWatch Events

Amazon ECS now sends container instance and task state changes to CloudWatch Events. For more information, see Amazon ECS Event Stream for CloudWatch Events.

21 November 2016

Amazon ECS container logging to CloudWatch Logs

Added support for the awslogs driver to send container log streams to CloudWatch Logs. For more information, see Using the awslogs Log Driver.

12 September 2016

Amazon ECS services with Elastic Load Balancing support for dynamic ports

Added support for a load balancer to support multiple instance:port combinations per listener, which increases flexibility for containers. Now you can let Docker dynamically define the container's host port and the ECS scheduler registers the instance:port with the load balancer. For more information, see Service Load Balancing.

11 August 2016

IAM roles for Amazon ECS tasks

Added support for associating IAM roles with a task. This provides finer-grained permissions to containers as opposed to a single role for an entire container instance. For more information, see IAM Roles for Tasks.

13 July 2016

Amazon ECS CLI support for Docker Compose v2 format

The Amazon ECS CLI added support for Docker Compose v2 format. For more information, see ecs-cli compose.

8 July 2016

Docker 1.11 support

Added support for Docker 1.11. For more information, see Amazon ECS-Optimized AMI.

31 May 2016

Task automatic scaling

Amazon ECS added support for automatically scaling your tasks run by a service. For more information, see Service Auto Scaling.

18 May 2016

Task definition filtering on task family

Added support for filtering a list of task definition based on the task definition family. For more information, see ListTaskDefinitions.

17 May 2016

Docker container and Amazon ECS agent logging

Amazon ECS added ability to send ECS agent and Docker container logs from container instances to CloudWatch Logs to simplify troubleshooting issues.

5 May 2016

Amazon ECS CLI v0.3 released

New version of the Amazon ECS CLI released, which added support for service creation with a load balancer.

11 April 2016

ECS-optimized AMI now supports Amazon Linux 2016.03.

The ECS-optimized AMI added support for Amazon Linux 2016.03. For more information, see Amazon ECS-Optimized AMI.

5 April 2016

Docker 1.9 support

Added support for Docker 1.9. For more information, see Amazon ECS-Optimized AMI.

22 December 2015

CloudWatch metrics for cluster CPU and memory reservation

Amazon ECS added custom CloudWatch metrics for CPU and memory reservation.

22 December 2015

Amazon ECR

Added the new Amazon ECR service to the console, which added support for storing images that are controlled by resource-level permissions associated with Docker Hub or IAM users. Available in all AWS Regions, images are automatically replicated and cached globally so that starting hundreds of containers is as fast as a single container.

21 December 2015

New Amazon ECS first-run experience

The Amazon ECS console first-run experience added zero-click role creation.

23 November 2015

Task placement across Availability Zones

The Amazon ECS service scheduler added support for task placement across Availability Zones.

8 October 2015

Amazon ECS CLI with support for Docker Compose

The Amazon ECS CLI added support for Docker Compose.

8 October 2015

CloudWatch metrics for Amazon ECS clusters and services

Amazon ECS added custom CloudWatch metrics for CPU and memory utilization for each container instance, service, and task definition family in a cluster. These new metrics can be used to scale container instances in a cluster using Auto Scaling groups or to create custom CloudWatch alarms.

17 August 2015

UDP port support

Added support for UDP ports in task definitions.

7 July 2015

Environment variable overrides

Added support for deregisterTaskDefinition and environment variable overrides for runTask.

18 June 2015

Automated Amazon ECS agent updates

Added ability to see the ECS agent version that is running on a container instance. Also able to update the ECS agent from the AWS Management Console, AWS CLI, and SDK.

11 June 2015

Amazon ECS service scheduler and Elastic Load Balancing integration

Added ability to define a service and associate that service with an Elastic Load Balancing load balancer.

9 April 2015

Amazon ECS GA

Amazon ECS general availability in the IAD, PDX, NRT, and DUB regions.

9 April 2015