interface HealthCheckProperty
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.ECS.CfnTaskDefinition.HealthCheckProperty |
Java | software.amazon.awscdk.services.ecs.CfnTaskDefinition.HealthCheckProperty |
Python | aws_cdk.aws_ecs.CfnTaskDefinition.HealthCheckProperty |
TypeScript | @aws-cdk/aws-ecs » CfnTaskDefinition » HealthCheckProperty |
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). This configuration maps to the HEALTHCHECK
parameter of docker run .
The Amazon ECS container agent only monitors and reports on the health checks specified in the task definition. Amazon ECS does not monitor Docker health checks that are embedded in a container image and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.
If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.
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.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as ecs from '@aws-cdk/aws-ecs';
const healthCheckProperty: ecs.CfnTaskDefinition.HealthCheckProperty = {
command: ['command'],
interval: 123,
retries: 123,
startPeriod: 123,
timeout: 123,
};
Properties
Name | Type | Description |
---|---|---|
command? | string[] | A string array representing the command that the container runs to determine if it is healthy. |
interval? | number | The time period in seconds between each health check execution. |
retries? | number | The number of times to retry a failed health check before the container is considered unhealthy. |
start | number | The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. |
timeout? | number | The time period in seconds to wait for a health check to succeed before it is considered a failure. |
command?
Type:
string[]
(optional)
A string array representing the command that the container runs to determine if it is healthy.
The string array must start with CMD
to run the command arguments directly, or CMD-SHELL
to run the command with the container's default shell.
When you use the AWS Management Console JSON panel, the AWS Command Line Interface , or the APIs, enclose the list of commands in double quotes and brackets.
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
You don't include the double quotes and brackets when you use the AWS Management Console.
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 .
interval?
Type:
number
(optional)
The time period in seconds between each health check execution.
You may specify between 5 and 300 seconds. The default value is 30 seconds.
retries?
Type:
number
(optional)
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.
startPeriod?
Type:
number
(optional)
The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries.
You can specify between 0 and 300 seconds. By default, the startPeriod
is off.
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.
timeout?
Type:
number
(optional)
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.