Interface CfnTaskDefinition.IHealthCheckProperty
The HealthCheck
property specifies an object representing a container health check.
Namespace: Amazon.CDK.AWS.ECS
Assembly: Amazon.CDK.AWS.ECS.dll
Syntax (csharp)
public interface IHealthCheckProperty
Syntax (vb)
Public Interface IHealthCheckProperty
Remarks
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:
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.ECS;
var healthCheckProperty = new HealthCheckProperty {
Command = new [] { "command" },
Interval = 123,
Retries = 123,
StartPeriod = 123,
Timeout = 123
};
Synopsis
Properties
Command | A string array representing the command that the container runs to determine if it is healthy. |
Interval | The time period in seconds between each health check execution. |
Retries | The number of times to retry a failed health check before the container is considered unhealthy. |
StartPeriod | The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. |
Timeout | The time period in seconds to wait for a health check to succeed before it is considered a failure. |
Properties
Command
A string array representing the command that the container runs to determine if it is healthy.
virtual string[] Command { get; }
Property Value
System.String[]
Remarks
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
The time period in seconds between each health check execution.
virtual Nullable<double> Interval { get; }
Property Value
System.Nullable<System.Double>
Remarks
You may specify between 5 and 300 seconds. The default value is 30 seconds.
Retries
The number of times to retry a failed health check before the container is considered unhealthy.
virtual Nullable<double> Retries { get; }
Property Value
System.Nullable<System.Double>
Remarks
You may specify between 1 and 10 retries. The default value is 3.
StartPeriod
The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries.
virtual Nullable<double> StartPeriod { get; }
Property Value
System.Nullable<System.Double>
Remarks
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
The time period in seconds to wait for a health check to succeed before it is considered a failure.
virtual Nullable<double> Timeout { get; }
Property Value
System.Nullable<System.Double>
Remarks
You may specify between 2 and 60 seconds. The default value is 5.