AWS CloudFormation
User Guide (Version )

AWS::ECS::TaskDefinition HealthCheck

The HealthCheck property specifies an object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile).

The following are notes about container health check support:

  • Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see Updating the Amazon ECS Container Agent.

  • Container health checks are supported for Fargate tasks if you are using platform version 1.1.0 or greater. For more information, see AWS Fargate Platform Versions.

  • Container health checks are not supported for tasks that are part of a service that is configured to use a Classic Load Balancer.


To declare this entity in your AWS CloudFormation template, use the following syntax:


{ "Command" : [ String, ... ], "Interval" : Integer, "Retries" : Integer, "StartPeriod" : Integer, "Timeout" : Integer }


Command: - String Interval: Integer Retries: Integer StartPeriod: Integer Timeout: Integer



A string array representing the command that the container runs to determine if it is healthy. The string array must start with CMD to execute the command arguments directly, or CMD-SHELL to run the command with the container's default shell. For example:

[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]

An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see HealthCheck in the Create a container section of the Docker Remote API.

Required: Yes

Type: List of String

Update requires: Replacement


The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.

Required: No

Type: Integer

Update requires: Replacement


The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.

Required: No

Type: Integer

Update requires: Replacement


The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.


If a health check succeeds within the startPeriod, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.

Required: No

Type: Integer

Update requires: Replacement


The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5.

Required: No

Type: Integer

Update requires: Replacement

On this page: