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

AWS::Route53::RecordSetGroup RecordSet

有关要创建的一条记录的信息。

语法

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

JSON

{ "AliasTarget" : AliasTarget, "Comment" : String, "Failover" : String, "GeoLocation" : GeoLocation, "HealthCheckId" : String, "HostedZoneId" : String, "HostedZoneName" : String, "MultiValueAnswer" : Boolean, "Name" : String, "Region" : String, "ResourceRecords" : [ String, ... ], "SetIdentifier" : String, "TTL" : String, "Type" : String, "Weight" : Integer }

YAML

AliasTarget: AliasTarget Comment: String Failover: String GeoLocation: GeoLocation HealthCheckId: String HostedZoneId: String HostedZoneName: String MultiValueAnswer: Boolean Name: String Region: String ResourceRecords: - String SetIdentifier: String TTL: String Type: String Weight: Integer

属性

AliasTarget

仅限别名资源记录集:有关您要将流量路由到的 AWS 资源的信息,例如 CloudFront 分配或 Amazon S3 存储桶。

如果您要为私有托管区域创建资源记录集,请注意以下几点:

  • 您不能在私有托管区域中创建别名资源记录集来将流量路由到 CloudFront 分配。

  • 不支持在私有托管区域创建地理位置别名资源记录集或延迟别名资源记录集。

  • 有关在私有托管区域中创建故障转移资源记录集的信息,请参阅 Amazon Route 53 开发人员指南 中的在私有托管区域中配置故障转移

必需:否

类型AliasTarget

Update requires: No interruption

Comment

可选:您希望包含的有关更改批处理请求的任何注释。

必需:否

类型:字符串

最高256

Update requires: No interruption

Failover

仅故障转移资源记录集:要配置故障转移,请将 Failover 元素添加到两个资源记录集。为一个资源记录集指定 PRIMARY 作为 Failover 的值;为另一个资源记录集指定 SECONDARY。另外,包含 HealthCheckId 元素并指定您希望 Amazon Route 53 为每个资源记录集执行的运行状况检查。

除非另行说明,否则以下故障转移行为假定您已在两个资源记录集中包含 HealthCheckId 元素:

  • 当主资源记录集运行状况良好时,Route 53 会使用主资源记录集中的适用值响应 DNS 查询,而不考虑辅助资源记录集的运行状况。

  • 当主资源记录集运行状况不佳,而辅助资源记录集运行状况良好时,Route 53 使用辅助资源记录集中的适用值响应 DNS 查询。

  • 当辅助资源记录集运行状况不佳时,无论主资源记录集的运行状况如何,Route 53 都会使用主资源记录集中的适用值响应 DNS 查询。

  • 如果您为辅助资源记录集省略 HealthCheckId 元素,而且主资源记录集运行状况不佳,则 Route 53 始终使用辅助资源记录集中的适用值响应 DNS 查询。无论关联终端节点的运行状况如何,都会这样做。

您不能创建与故障转移资源记录集具有相同的 NameType 元素值的非故障转移资源记录集。

对于故障转移别名资源记录集,还必须包含 EvaluateTargetHealth 元素并将其值设置为 true。

有关为 Route 53 配置故障转移的更多信息,请参阅 Amazon Route 53 开发人员指南中的下列主题:

必需:否

类型:字符串

允许的值PRIMARY | SECONDARY

Update requires: No interruption

GeoLocation

仅地理位置资源记录集:使用该复杂类型可以控制 Amazon Route 53 如何根据查询的地理位置源响应 DNS 查询。例如,如果您希望将来自非洲的所有查询路由到 IP 地址为 192.0.2.111 的 Web 服务器,请使用值为 AType 和值为 AFContinentCode 创建资源记录集。

注意

虽然允许在私有托管区域中创建地理位置和地理位置别名资源记录集,但不支持这样做。

如果您为重叠地理区域创建单独的资源记录集(例如,一个资源记录集对应一个大洲,一个资源记录集对应同一大洲内的国家/地区),最小地理区域的优先级最高。由此,您可以将一个大洲的大部分查询路由到一个资源,并将该大洲上某一国家/地区的查询路由到另一个资源。

您不能创建指定相同地理位置的两个地理位置资源记录集。

CountryCode 元素中的 * 值会将其他具有相同 NameType 元素值的地理位置资源记录集中未指定的所有地理位置进行匹配。

重要

地理位置路由的工作原理是将 IP 地址映射到位置。但是,有些 IP 地址无法映射到地理位置,因此即使您创建了覆盖全部七大洲的地理位置资源记录集,Route 53 仍会收到一些来自其无法识别的位置的 DNS 查询。我们建议您创建 CountryCode 值为 * 的资源记录集。两组查询将路由到您在此记录中指定的资源:来自尚未创建地理位置资源记录集的位置的查询,以及来自未映射到位置的 IP 地址的查询。如果您不创建 * 资源记录集,Route 53 会为来自对应位置的查询返回“no answer”响应。

您不能创建 NameType 元素的值与地理位置资源记录集相同的非地理位置资源记录集。

必需:否

类型GeoLocation

Update requires: No interruption

HealthCheckId

如果您希望 Amazon Route 53 仅在运行状况检查状态为正常运行时返回此资源记录集来响应 DNS 查询,请包含 HealthCheckId 元素并指定适用的运行状况检查。

Route 53 根据以下标准确定资源记录集的运行状况是否正常:

  • 定期向在运行状况检查中指定的终端节点发送请求

  • 汇总指定运行状况检查组的状态(已计算的运行状况检查)

  • 确定 CloudWatch 警报的当前状态(CloudWatch 指标运行状况检查)

重要

Route 53 不会检查资源记录集中指定的终端节点的运行状况,例如,Value 元素中的 IP 地址指定的终端节点。在将 HealthCheckId 元素添加到资源记录集时,Route 53 会检查您在运行状况检查中指定的终端节点的运行状况。

有关更多信息,请参阅 Amazon Route 53 开发人员指南中的以下主题:

何时指定 HealthCheckId

仅当 Route 53 在两个或更多资源记录集之间选择响应 DNS 查询的记录集,而且您希望 Route 53 在一定程度上基于运行状况检查的状态来进行此选择时,指定 HealthCheckId 的值才有用。配置运行状况检查仅在以下配置中有意义:

  • 非别名资源记录集:您要检查一组具有相同路由策略、名称和类型(例如,名为 www.example.com、类型为 A 的多条加权记录)的非别名资源记录集的运行状况,而且为所有资源记录集指定运行状况检查 ID。

    如果一个资源记录集的运行状况检查状态为正常,Route 53 会将该记录包含在用于响应 DNS 查询的记录中。

    如果一个资源记录集的运行状况检查状态为不正常,则 Route 53 不再使用该资源记录集的值响应 DNS 查询。

    如果一组中所有资源记录集的运行状况检查状态都不正常,则 Route 53 会考虑该组中的所有资源记录集并相应地响应 DNS 查询。

  • 别名资源记录集:您指定以下设置:

    • 为具有相同路由策略、名称和类型(例如,名为 www.example.com、类型为 A 的多个加权记录)的一组资源记录集中的别名资源记录集将 EvaluateTargetHealth 设置为 true。

    • 将别名资源记录集配置为将流量路由到相同托管区域中的非别名资源记录集。

    • 为非别名资源记录集指定运行状况检查 ID。

    如果运行状况检查状态为正常,Route 53 会将别名资源记录集的运行状况视为正常,并将该别名记录包含在用于响应 DNS 查询的记录中。

    如果运行状况检查状态为不正常,Route 53 会停止使用别名资源记录集响应 DNS 查询。

    注意

    别名资源记录集也可以将流量路由到具有相同路由策略、名称和类型的非别名资源记录集的。在该配置中,将运行状况检查与非别名资源记录集组中的所有资源记录集相关联。

地理位置路由

对于地理位置资源记录集,如果某个终端节点的运行状况不佳,Route 53 将在资源记录集中查找更大的关联地理区域。例如,假设您对于美国某个州、整个美国和北美洲都有对应的资源记录集,那么 * 对应 CountryCode,即其值为 * 的资源记录集适用于所有位置。如果州资源记录集的终端节点运行不正常,则 Route 53 按以下顺序查找运行状况良好的资源记录集,直到找到终端节点运行状况良好的资源记录集:

  • 美国

  • 北美洲

  • 默认资源记录集

使用域名指定运行状况检查终端节点

如果您的运行状况检查仅以域名来指定终端节点,则建议您为每个终端节点创建一个单独的运行状况检查。例如,为向 www.example.com 提供内容的每台 HTTP 服务器创建运行状况检查。为 FullyQualifiedDomainName 的值指定服务器的域名(例如,us-east-2-www.example.com),而不是资源记录集的名称 (www.example.com)。

重要

如果您执行以下操作,则运行状况检查结果将无法预测:

  • 创建与资源记录集的名称具有相同 FullyQualifiedDomainName 值的运行状况检查。

  • 将该运行状况检查与资源记录集关联。

必需:否

类型:字符串

最高64

Update requires: No interruption

HostedZoneId

要在其中创建记录的托管区域的 ID。

指定 HostedZoneNameHostedZoneId,但不能同时指定两者。如果您拥有多个使用相同域名的托管区域,则必须使用 HostedZoneId 指定托管区域。

必需:否

类型:字符串

最高32

Update requires: No interruption

HostedZoneName

要在其中创建记录的托管区域的名称。

在使用指定 HostedZoneNameAWS::Route53::RecordSet 创建堆栈时,AWS CloudFormation 将尝试查找名称与 HostedZoneName 匹配的托管区域。如果 AWS CloudFormation 找不到具有匹配域名的托管区域,或者存在多个具有指定域名的托管区域,则 AWS CloudFormation 不会创建堆栈。

指定 HostedZoneNameHostedZoneId,但不能同时指定两者。如果您拥有多个使用相同域名的托管区域,则必须使用 HostedZoneId 指定托管区域。

必需:否

类型:字符串

最高1024

Update requires: No interruption

MultiValueAnswer

仅多值应答资源记录集:要将流量以近乎随机的方式路由到多个资源(如 Web 服务器),请为每个资源创建一个多值应答记录并为 MultiValueAnswer 指定 true。请注意以下几点:

  • 如果将运行状况检查与多值应答资源记录集关联,仅在运行状况检查正常时,Amazon Route 53 才会使用相应的 IP 地址响应 DNS 查询。

  • 如果您没有为多值应答记录关联运行状况检查,则 Route 53 始终认为记录正常。

  • Route 53 使用最多 8 个正常记录响应 DNS 查询;如果具有 8 个或更少的正常记录,则 Route 53 使用所有正常记录响应所有 DNS 查询。

  • 如果具有超过 8 个正常记录,Route 53 使用不同的正常记录组合响应不同的 DNS 解析程序。

  • 如果所有记录都不正常,Route 53 会向 DNS 查询提供最多 8 条不正常的记录。

  • 如果资源在解析程序缓存响应后变得不可用,客户端软件通常会尝试响应中的另一个 IP 地址。

您无法创建多值应答别名记录。

必需:否

类型:布尔值

Update requires: No interruption

Name

对于 ChangeResourceRecordSets 请求,是指您要创建、更新或删除的记录的名称。对于 ListResourceRecordSets 响应,是指指定托管区域中记录的名称。

ChangeResourceRecordSets Only

输入完全限定的域名,例如,www.example.com。您可以选择包含结尾圆点。如果您省略结尾圆点,Amazon Route 53 会假定您指定的域名是完全限定的。这意味着,Route 53 会将 www.example.com(不包含结尾圆点)和 www.example.com.(包含结尾圆点)视为相同。

有关如何指定 a-z0-9-(连字符)以外的字符以及如何指定国际化域名的信息,请参阅 Amazon Route 53 开发人员指南 中的 DNS 域名格式

您可以使用星号 (*) 通配符替换域名最左侧的标签,例如,*.example.com。请注意以下几点:

  • * 必须替换整个标签。例如,您不能指定 *prod.example.comprod*.example.com

  • * 不能替换任何处于中间位置的标签,例如,marketing.*.example.com。

  • 如果在域名中除了最左侧标签之外的任意位置包含 *,DNS 都会将其视为 * 字符 (ASCII 42),而不是视为通配符。

    重要

    对于类型为 NS 的资源记录集,不能使用 * 通配符。

您可以使用 * 通配符作为域名最左侧的标签,例如,*.example.com。您不能使用 * 作为中间位置的标签,例如,marketing.*.example.com。另外,* 必须替换整个标签;例如,不能指定 prod*.example.com

必需:是

类型:字符串

最高1024

Update requires: No interruption

Region

仅基于延迟性的资源记录集:从中创建此资源记录集引用的资源的 Amazon EC2 区域。一般而言,该资源可以是 AWS 资源,例如,EC2 实例或 ELB 负载均衡器,并由 IP 地址或 DNS 域名引用,具体取决于记录类型。

注意

虽然允许在私有托管区域中创建延迟和延迟别名资源记录集,但不支持这样做。

当 Amazon Route 53 收到查询您已创建的延迟资源记录集的域名和类型的 DNS 查询时,Route 53 会选择在最终用户和相关 Amazon EC2 区域之间延迟时间最短的延迟资源记录集。然后,Route 53 会返回与所选资源记录集相关的值。

请注意以下几点:

  • 您只能为每个延迟资源记录集指定一个 ResourceRecord

  • 您只能为每个 Amazon EC2 区域创建一个延迟资源记录集。

  • 您不必为所有 Amazon EC2 区域创建延迟资源记录集。Route 53 会从您已创建延迟资源记录集的区域中选择延迟性能最佳的区域。

  • 您不能创建 NameType 元素的值与延迟资源记录集相同的非延迟资源记录集。

必需:否

类型:字符串

允许的值af-south-1 | ap-east-1 | ap-northeast-1 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | ap-southeast-1 | ap-southeast-2 | ca-central-1 | cn-north-1 | cn-northwest-1 | eu-central-1 | eu-north-1 | eu-south-1 | eu-west-1 | eu-west-2 | eu-west-3 | me-south-1 | sa-east-1 | us-east-1 | us-east-2 | us-west-1 | us-west-2

Update requires: No interruption

ResourceRecords

有关要创建的记录的信息。每个记录都必须采用 Type 属性为记录类型指定的相应格式。有关不同记录类型及其记录格式的信息,请参阅 Amazon Route 53 开发人员指南中的创建或编辑 Amazon Route 53 记录时指定的值

必需:否

类型:字符串列表

Update requires: No interruption

SetIdentifier

具有简单策略以外的路由策略的资源记录集:用于区分具有相同名称和类型组合的多个资源记录集的标识符,如名为 acme.example.com 且类型为 A 的多个加权资源记录集。在一组具有相同名称和类型的资源记录集中,每个资源记录集的 SetIdentifier 值必须唯一。

有关路由策略的信息,请参阅 Amazon Route 53 开发人员指南中的选择路由策略

必需:否

类型:字符串

最低1

最高128

Update requires: No interruption

TTL

资源记录缓存存续时间 (TTL),以秒计算。请注意以下几点:

  • 如果您正在创建或更新别名资源记录集,请省略 TTL。Amazon Route 53 使用 TTL 的值作为别名目标。

  • 如果您将此资源记录集与运行状况检查关联(HealthCheckId 元素),我们建议您指定 60 秒或更短的 TTL,以便让客户端快速响应运行状况的变化。

  • 加权资源记录集组中的所有资源记录集必须具有相同的 TTL 值。

  • 如果一组加权资源记录集包含别名目标是 ELB 负载均衡器的一个或多个加权别名资源记录集,建议您为具有相同名称和类型的所有非别名加权资源记录集指定 60 秒的 TTL。60 秒(负载均衡器的 TTL)之外的值将改变您为 Weight 指定的值的效果。

必需:否

类型:字符串

Update requires: No interruption

Type

DNS 记录类型。有关不同记录类型以及如何对其数据进行编码的信息,请参阅 Amazon Route 53 开发人员指南 中的支持的 DNS 资源记录类型

基本资源记录集的有效值为:A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

加权、延迟、地理位置和故障转移资源记录集的值:A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT.在创建一组加权、延迟、地理位置或故障转移资源记录集时,为一组中的所有资源记录集指定相同的值。

多值应答资源记录集的有效值:A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

注意

SPF 记录以前用于验证电子邮件发件人的身份。但是,不再建议您创建 Type 的值为 SPF 的资源记录集。RFC 7208 中的 Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1 (在电子邮件中授权使用域的发件人策略框架 (SPF),版本 1) 已更新为:“...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues.Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.“(...在 [RFC4408] 中定义的其存在和机制已导致一些互操作性问题。因此,它已不再适合 SPF 版本 1;实施方案中不应再使用它。) 在 RFC 7208 中,请参阅第 14.1 节 The SPF DNS Record Type

别名资源记录集的值:

  • Amazon API Gateway 自定义区域 API 和边缘优化 API:A

  • CloudFront 分配:A

    如果对分配启用了 IPv6,请创建两个资源记录集,以将流量路由到您的分配,一个的值是 A,另一个的值是 AAAA

  • 具有区域化子域的 Amazon API Gateway 环境A

  • ELB 负载均衡器:A | AAAA

  • Amazon S3 存储桶: A

  • Amazon Virtual Private Cloud 接口 VPC 终端节点 A

  • 在此托管区域中的另一个资源记录集:指定您要为其创建别名的资源记录集的类型。支持 NSSOA 之外的所有值。

    注意

    如果您要创建与托管区域(称为顶级域名)同名的别名记录,则无法将流量路由到 Type 值为 CNAME 的记录。这是因为,别名记录必须与您要将流量路由到的目标记录具有相同的类型,而为顶级域名创建 CNAME 记录的做法不受支持,即使对于别名记录也是如此。

必需:是

类型:字符串

允许的值A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

Update requires: No interruption

Weight

仅权重资源记录集:在具有相同 DNS 名称和类型组合的资源记录集中,该值决定 Amazon Route 53 使用当前资源记录集响应 DNS 查询的比例。Route 53 会计算具有相同 DNS 名称和类型组合的资源记录集的权重之和。然后 Route 53 会基于一个资源的权重占总额的比率来响应查询。请注意以下几点:

  • 您必须为每个加权资源记录集指定 Weight 元素的值。

  • 只能为每个加权资源记录集指定一个 ResourceRecord

  • 您不能创建 NameType 元素的值与加权资源记录集相同的延迟、故障转移或地理位置资源记录集。

  • 您最多可以创建 100 个具有相同 NameType 元素值的加权资源记录集。

  • 对于加权(但非加权别名)资源记录集,如果您为资源记录集将 Weight 设置为 0,Route 53 从不使用该资源记录集的适用值响应查询。但是,如果您为所有具有相同 DNS 名称和类型组合的资源记录集将 Weight 设置为 0,则流量将以相同的概率路由到所有资源。

    当您将运行状况检查与加权资源记录集关联时,将 Weight 设置为 0 的效果是不同的。有关更多信息,请参阅 Amazon Route 53 开发人员指南 中的配置 Route 53 主动-主动和主动-被动故障转移的选项

必需:否

类型:整数

Update requires: No interruption

另请参阅