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

AWS::ServiceDiscovery::Service HealthCheckConfig

仅限公有 DNS 和 HTTP 命名空间。 一个复杂类型,包含可选运行状况检查的设置。如果为运行状况检查指定设置,则 AWS Cloud Map 将运行状况检查与 DnsConfig 中指定的记录相关联。

重要

如果您指定运行状况检查配置,则可以指定 HealthCheckCustomConfigHealthCheckConfig,但不能同时指定两者。

运行状况检查是监控 AWS 终端节点的基本 Route 53 运行状况检查。有关运行状况检查的定价的信息,请参阅 Amazon Route 53 定价

请注意有关配置运行状况检查的以下内容。

A 和 AAAA 记录

如果 DnsConfig 包含 A 和 AAAA 记录的配置,AWS Cloud Map 将创建使用 IPv4 地址检查资源运行状况的运行状况检查。如果 IPv4 地址指定的终端节点的运行状况不佳,则 Route 53 会认为 A 和 AAAA 记录都不正常。

CNAME 记录

DNSConfig 包含 CNAME 作为 Type 的值时,无法为 HealthCheckConfig 指定设置。如果您这样做,则 CreateService 请求将失败,并出现 InvalidInput 错误。

请求间隔

每个运行状况检查区域中的 Route 53 运行状况检查程序每 30 秒向终端节点发送一次运行状况检查请求。平均来说,您的终端节点每两秒会收到一次运行状况检查请求。但是,运行状况检查程序不会彼此协作,因此您会遇到有时每秒收到多个请求、然后接下来的几秒根本没有任何运行状况检查请求的情况。

运行状况检查区域

运行状况检查程序从所有 Route 53 运行状况检查区域执行检查。有关当前区域的列表,请参阅区域

别名记录

在注册实例时,如果您包括 AWS_ALIAS_DNS_NAME 属性,则 AWS Cloud Map 会创建 Route 53 别名记录。请注意以下几点:

  • 对于别名记录,Route 53 自动将 EvaluateTargetHealth 设置为 true。如果 EvaluateTargetHealth 为 true,则别名记录将继承引用的 AWS 资源(例如 ELB 负载均衡器)的运行状况。有关更多信息,请参阅 EvaluateTargetHealth

  • 如果您包含 HealthCheckConfig,然后使用服务注册创建别名记录的实例,则 Route 53 不会创建运行状况检查。

运行状况检查的费用

运行状况检查是监控 AWS 终端节点的基本 Route 53 运行状况检查。有关运行状况检查的定价的信息,请参阅 Amazon Route 53 定价

语法

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

JSON

{ "FailureThreshold" : Double, "ResourcePath" : String, "Type" : String }

YAML

FailureThreshold: Double ResourcePath: String Type: String

属性

FailureThreshold

为了 Route 53 将终端节点的当前状态在运行良好和运行不佳之间切换,该终端节点必须通过或未通过的连续运行状况检查数量。有关更多信息,请参阅 Route 53 开发人员指南中的 Route 53 如何确定终端节点是否运行正常

必需:否

类型:双精度

最低1

最高10

Update requires: No interruption

ResourcePath

您希望 Route 53 在执行运行状况检查时请求的路径。该路径可以是在终端节点运行正常时可为其返回 HTTP 状态代码 2xx 或 3xx 的任意值,如文件 /docs/route53-health-check.html。Route 53 自动为服务添加 DNS 名称。如果您不指定 ResourcePath 的值,则默认值为 /

如果您为 Type 指定 TCP,则不得 指定 ResourcePath 的值。

必需:否

类型:字符串

最高255

Update requires: No interruption

Type

您想创建的运行状况检查的类型,它用于指示 Route 53 如何确定终端节点是否运行正常。

重要

创建运行状况检查后,您将无法更改 Type 的值。

您可以创建以下类型的运行状况检查:

  • HTTP:Route 53 尝试建立 TCP 连接。如果成功,Route 53 将提交 HTTP 请求并等待大于等于 200、小于 400 的 HTTP 状态代码。

  • HTTPS:Route 53 尝试建立 TCP 连接。如果成功,Route 53 将提交 HTTPS 请求并等待大于等于 200、小于 400 的 HTTP 状态代码。

    重要

    如果您为 Type 的值指定 HTTPS,则终端节点必须支持 TLS v1.0 或更高版本。

  • TCP:Route 53 尝试建立 TCP 连接。

    如果您为 Type 指定 TCP,请不要指定 ResourcePath 的值。

有关更多信息,请参阅 Route 53 开发人员指南中的 Route 53 如何确定终端节点是否运行正常

必需:是

类型:字符串

允许的值HTTP | HTTPS | TCP

Update requires: No interruption

另请参阅