AWS::ECS::TaskDefinition HealthCheck - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::ECS::TaskDefinition HealthCheck

HealthCheck 属性指定表示容器运行状况检查的对象。容器定义中指定的运行状况检查参数将覆盖容器映像中存的任何 Docker 运行状况检查参数(例如,父映像中指定的或来自映像的 Dockerfile 的检查参数)。

以下是有关容器运行状况检查支持的注意事项:

  • 容器运行状况检查需要 Amazon ECS 容器代理版本 1.17.0 或更高版本。有关更多信息,请参阅更新 Amazon ECS 容器代理

  • 如果使用平台版本 1.1.0 或更高版本,则 Fargate 任务支持容器运行状况检查。有关更多信息,请参阅 AWS Fargate 平台版本

  • 如果任务属于配置为使用 Classic Load Balancer 的服务的一部分,则此类任务不支持容器运行状况检查。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

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

YAML

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

属性

Command

一个表示容器运行的命令的字符串数组,用于确定其运行状况是否正常。字符串数组必须以 CMD 开头以直接执行命令参数,或者以 CMD-SHELL 开头以使用容器的默认 Shell 来运行命令。例如:

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

退出代码 0 表示成功,非零退出代码表示失败。有关更多信息,请参阅 Docker Remote API创建容器部分中的 HealthCheck

必需:否

类型:字符串列表

Update requires: Replacement

Interval

执行每次运行状况检查间隔的时间,以秒为单位。您可以指定 5 到 300 秒之间的值。默认值为 30 秒。

必需:否

类型:整数

Update requires: Replacement

Retries

重试失败的运行状况检查的次数,超过该次数将容器视为不正常。您可以指定 1 到 10 秒之间的重试次数。默认值是 3。

必需:否

类型:整数

Update requires: Replacement

StartPeriod

可选的宽限期,这让容器有时间来引导,不将失败的运行状况检查计数计入最大重试次数中。您可以指定 0 到 300 秒之间的值。默认情况下禁用 startPeriod

注意

如果 startPeriod 中的运行状况检查成功,则容器将被视为运行状况良好,并且任何后续失败将计入最大重试次数。

必需:否

类型:整数

Update requires: Replacement

Timeout

等待运行状况检查成功执行的时间长度,以秒为单位,超过该时间则视为失败。您可以指定 2 到 60 秒之间的值。默认值是 5。

必需:否

类型:整数

Update requires: Replacement