AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::Route53::RecordSet

AWS::Route53::RecordSet 类型可用作独立资源或 AWS::Route53::RecordSetGroup 类型中的嵌入属性。请注意,某些 AWS::Route53::RecordSet 属性仅在 AWS::Route53::RecordSetGroup 内使用时才有效。

更多有关各属性的限制和值的信息,请参阅针对托管区的 POST CreateHostedZone 的部分和针对记录集的 POST ChangeResourceRecordSet 部分。

语法

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

JSON

Copy
{ "Type" : "AWS::Route53::RecordSet", "Properties" : { "AliasTarget" : AliasTarget, "Comment" : String, "Failover" : String, "GeoLocation" : GeoLocation, "HealthCheckId" : String, "HostedZoneId" : String, "HostedZoneName" : String, "Name" : String, "Region" : String, "ResourceRecords" : [ String ], "SetIdentifier" : String, "TTL" : String, "Type" : String, "Weight" : Integer } }

YAML

Copy
Type: "AWS::Route53::RecordSet" Properties: AliasTarget: AliasTarget Comment: String Failover: String GeoLocation: GeoLocation HealthCheckId: String HostedZoneId: String HostedZoneName: String Name: String Region: String ResourceRecords: - String SetIdentifier: String TTL: String Type: String Weight: Integer

属性

AliasTarget

仅别名资源记录集:有关重定向流量的目标域的信息。

如果您指定了此属性,请勿指定 TTL 属性。别名使用来自别名目标记录的 TTL 值。

有关别名资源记录集的更多信息,请参阅 Amazon Route 53 开发人员指南 中的创建别名资源记录集以及 Amazon Route 53 API 参考中的 POST ChangeResourceRecordSets

Required: Conditional。如果要创建别名资源记录集,则必须指定。

类型AliasTarget

更新要求无需中断

Comment

您要包含的有关托管区域的所有注释。

重要

如果记录集是某个记录集组的一部分,则此属性无效。不要指定此属性。

Required: No

Type: String

更新要求无需中断

Failover

将记录集指定为 PRIMARYSECONDARY 故障转移记录集。当您有多个执行同一功能的资源时,可以配置 Amazon Route 53,以便检查您的资源的运行状况并仅使用运行状况良好的资源来响应 DNS 查询。您无法创建具有与故障转移资源记录集相同的 NameType 属性值的非故障转移资源记录集。有关更多信息,请参阅 Amazon Route 53 API Reference 中的 Failover 内容。

如果您指定了该属性,则必须指定 SetIdentifier 属性。

Required: No

Type: String

更新要求无需中断

GeoLocation

描述 Amazon Route 53 如何根据 DNS 查询的地理源响应该查询。该属性与 Region 属性不兼容。

Required: No

类型Amazon Route 53 记录集 GeoLocation 属性

更新要求无需中断

HealthCheckId

要应用于此记录集的运行状况检查 ID。Amazon Route 53 将返回此资源记录集以仅在记录集正常运行时响应 DNS 查询。

Required: No

Type: String

更新要求无需中断

HostedZoneId

托管区的 ID。

Required: Conditional。您必须指定 HostedZoneNameHostedZoneId 中的一个,但是不能两者都指定。如果此记录集是某个记录集组的一部分,则不要指定此属性。

Type: String

更新要求替换

HostedZoneName

您要向其添加记录集的托管区的域名。

当您使用指定 AWS::Route53::RecordSetHostedZoneName 创建堆栈时,AWS CloudFormation 会尝试查找其名称匹配 HostedZoneName 的托管区。如果 AWS CloudFormation 找不到域名匹配的托管区,或者存在多个使用该指定域名的托管区,AWS CloudFormation 将不会创建堆栈。

如果您拥有多个使用相同域名的托管区,则必须使用 HostedZoneId 明确指定托管区。

Required: Conditional。您必须指定 HostedZoneNameHostedZoneId 中的一个,但是不能两者都指定。如果此记录集是某个记录集组的一部分,则不要指定此属性。

Type: String

更新要求替换

Name

域的名称。您必须指定一个以句点结尾(作为最后一个标签指示)的完全限定域名。如果您忽略了最后的句点,Amazon Route 53 会加上它。

Required: Yes

Type: String

更新要求替换

Region

仅延迟性资源记录集:此资源记录集中指定的资源所驻留的 Amazon EC2 区域。一般而言,该资源可以是 AWS 资源(例如,Amazon EC2 实例或 Elastic Load Balancing 负载均衡器),并由 IP 地址或 DNS 域名引用,具体取决于记录类型。

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

必须遵循以下限制:

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

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

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

  • 您不能同时创建名称和类型元素的值相同的权重资源记录集和延迟资源记录集。

  • 该属性与 GeoLocation 属性不兼容。

要查看按服务划分的地区的列表,请参阅 AWS General Reference 中的区域和终端节点

ResourceRecords

要添加的资源记录的列表。每个记录都必须采用 Type 属性为记录类型指定的相应格式。有关不同记录类型及其记录格式的信息,请参阅 Amazon Route 53 开发人员指南 中的基本资源记录集的值附录:域名格式

Required: Conditional。如果不指定 AliasTarget 属性,则必须指定此属性。如果要创建别名资源记录集,则不要指定此属性。

Type: List of String values

更新要求无需中断

SetIdentifier

区分具有相同 DNS 名称和类型组合的多个资源记录集的唯一标识符。

Required: Conditional。如果要创建加权、延迟、故障转移或地理位置资源记录集,则必须指定。

有关更多信息,请参阅 Amazon Route 53 开发人员指南 中的 SetIdentifier 内容。

Type: String

更新要求无需中断

TTL

资源记录缓存存续时间 (TTL),以秒计算。如果您指定了此属性,请勿指定 AliasTarget 属性。对于别名目标记录,别名使用目标的 TTL 值。

如果您指定了该属性,则必须指定 ResourceRecords 属性。

Required: Conditional。如果不指定 AliasTarget 属性,则必须指定此属性。如果要创建别名资源记录集,则不要指定此属性。

Type: String

更新要求无需中断

Type

要添加的记录的类型。有关有效值,请参阅 Amazon Route 53 API Reference 中的 Type 内容。

在 AWS CloudFormation 中,您无法修改 Amazon Route 53 自动创建的托管区域的 NS 和 SOA 记录。具体来说,您无法为托管区域的根域创建或删除 NS 或 SOA 记录,但您可以为子域创建它们以用于委派目的。例如,对于托管区域 mydomain.net,您无法为 mydomain.net 创建 NS 记录,但可以为 nnnn.mydomain.net 创建 NS 记录以进行委派。

Required: Yes

Type: String

更新要求无需中断

Weight

仅权重资源记录集:在具有相同 DNS 名称和类型组合的资源记录集中,该值将决定将当前资源记录集中的哪部分流量路由到相关位置。

更多有关权重资源集的信息,请参阅 Amazon Route 53 Developer Guide 中的 Setting Up Weighted Resource Record Sets 部分。

Required: Conditional。如果要创建加权资源记录集,则必须指定。

Type: Number。加权应为整数值。

更新要求无需中断

返回值

当您指定 AWS::Route53::RecordSet 类型作为 Ref 函数的变量时,AWS CloudFormation 会返回该记录集的域名值。

有关使用 Ref 功能的更多信息,请参阅参考

示例

将 Amazon Route 53 的记录“A”映射到 Amazon EC2 实例的公有 IP 地址

JSON

Copy
"Resources" : { "Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ] } } }, "myDNSRecord" : { "Type" : "AWS::Route53::RecordSet", "Properties" : { "HostedZoneName" : { "Ref" : "HostedZoneResource" }, "Comment" : "DNS name for my instance.", "Name" : { "Fn::Join" : [ "", [ {"Ref" : "Ec2Instance"}, ".", {"Ref" : "AWS::Region"}, ".", {"Ref" : "HostedZone"} ,"." ] ] }, "Type" : "A", "TTL" : "900", "ResourceRecords" : [ { "Fn::GetAtt" : [ "Ec2Instance", "PublicIp" ] } ] } } }

YAML

Copy
Resources: Ec2Instance: Type: AWS::EC2::Instance Properties: ImageId: !FindInMap [RegionMap, !Ref 'AWS::Region', AMI] myDNSRecord: Type: AWS::Route53::RecordSet Properties: HostedZoneName: !Ref 'HostedZoneResource' Comment: DNS name for my instance. Name: !Join ['', [!Ref 'Ec2Instance', ., !Ref 'AWS::Region', ., !Ref 'HostedZone', .]] Type: A TTL: '900' ResourceRecords: - !GetAtt Ec2Instance.PublicIp

附加信息

有关其他 AWS::Route53::RecordSet 代码段,请参阅 Amazon Route 53 模板代码段

本页内容: