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 定价

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

AAAAA 记录

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

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

另请参阅