amazonka-ecs-2.0: Amazon EC2 Container Service SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.ECS.Types.HealthCheck

Description

 
Synopsis

Documentation

data HealthCheck Source #

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 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.

You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

The following describes the possible healthStatus values for a container:

  • HEALTHY-The container health check has passed successfully.
  • UNHEALTHY-The container health check has failed.
  • UNKNOWN-The container health check is being evaluated or there's no container health check defined.

The following describes the possible healthStatus values for a task. The container health check status of nonessential containers only affects the health status of a task if no essential containers have health checks defined.

  • HEALTHY-All essential containers within the task have passed their health checks.
  • UNHEALTHY-One or more essential containers have failed their health check.
  • UNKNOWN-The essential containers within the task are still having their health checks evaluated or there are only nonessential containers with health checks defined.

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.

For tasks that are a part of a service and the service uses the ECS rolling deployment type, the deployment is paused while the new tasks have the UNKNOWN task health check status. For example, tasks that define health checks for nonessential containers when no essential containers have health checks will have the UNKNOWN health check status indefinitely which prevents the deployment from completing.

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're using platform version 1.1.0 or greater. For more information, see Fargate platform versions.
  • Container health checks aren't supported for tasks that are part of a service that's configured to use a Classic Load Balancer.

See: newHealthCheck smart constructor.

Constructors

HealthCheck' 

Fields

  • interval :: Maybe Int

    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 :: Maybe Int

    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 :: Maybe Int

    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 disabled.

    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 :: Maybe Int

    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.

  • command :: [Text]

    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 Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, enclose the list of commands in brackets.

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

    You don't need to include the brackets when you use the Amazon Web Services 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.

Instances

Instances details
FromJSON HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

ToJSON HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

Generic HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

Associated Types

type Rep HealthCheck :: Type -> Type #

Read HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

Show HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

NFData HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

Methods

rnf :: HealthCheck -> () #

Eq HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

Hashable HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

type Rep HealthCheck Source # 
Instance details

Defined in Amazonka.ECS.Types.HealthCheck

type Rep HealthCheck = D1 ('MetaData "HealthCheck" "Amazonka.ECS.Types.HealthCheck" "amazonka-ecs-2.0-3xFxVqi9x5nBZ44jBEC5G8" 'False) (C1 ('MetaCons "HealthCheck'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "interval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "retries") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int))) :*: (S1 ('MetaSel ('Just "startPeriod") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: (S1 ('MetaSel ('Just "timeout") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "command") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Text])))))

newHealthCheck :: HealthCheck Source #

Create a value of HealthCheck with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:interval:HealthCheck', healthCheck_interval - The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.

$sel:retries:HealthCheck', healthCheck_retries - 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.

$sel:startPeriod:HealthCheck', healthCheck_startPeriod - 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 disabled.

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.

$sel:timeout:HealthCheck', healthCheck_timeout - 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.

$sel:command:HealthCheck', healthCheck_command - 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 Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, enclose the list of commands in brackets.

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

You don't need to include the brackets when you use the Amazon Web Services 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.

healthCheck_interval :: Lens' HealthCheck (Maybe Int) Source #

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

healthCheck_retries :: Lens' HealthCheck (Maybe Int) Source #

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.

healthCheck_startPeriod :: Lens' HealthCheck (Maybe Int) Source #

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 disabled.

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.

healthCheck_timeout :: Lens' HealthCheck (Maybe Int) Source #

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.

healthCheck_command :: Lens' HealthCheck [Text] Source #

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 Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, enclose the list of commands in brackets.

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

You don't need to include the brackets when you use the Amazon Web Services 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.