Amazon Route 53
开发人员指南 (API 版本 2013-04-01)

支持的 DNS 记录类型

Amazon Route 53 支持本节中列出的 DNS 记录类型。每个记录类型还包括当您使用 API 访问 Route 53 时如何设置 Value 元素格式的示例。

注意

对于包含域名的记录类型,请输入一个完全限定域名,例如 www.example.com。结尾圆点是可选的;Route 53 会假定该域名是完全限定的。这意味着,Route 53 会将 www.example.com(不包含结尾圆点)和 www.example.com.(包含结尾圆点)视为相同。

A 记录类型

A 记录的值为圆点分隔的十进制格式表示的 IPv4 地址。

Amazon Route 53 控制台的示例

192.0.2.1

Route 53 API 的示例

<Value>192.0.2.1</Value>

AAAA 记录类型

AAAA 记录的值为冒号分隔的十六进制格式的 IPv6 地址。

Amazon Route 53 控制台的示例

2001:0db8:85a3:0:0:8a2e:0370:7334

Route 53 API 的示例

<Value>2001:0db8:85a3:0:0:8a2e:0370:7334</Value>

CAA 记录类型

CAA 记录能让您指定允许哪些证书颁发机构 (CA) 为域或子域颁发证书。创建 CAA 记录有助于防止错误的 CA 为您的域颁发证书。CAA 记录不能替代由您的证书颁发机构指定的安全要求,例如验证您是域所有者的要求。

您可以使用 CAA 记录指定以下内容:

  • 哪些证书颁发机构 (CA) 可以签发 SSL/TLS 证书 (如果有)

  • CA 为域或子域签发证书时要联系的电子邮件地址或 URL

当您将 CAA 记录添加到托管区域时,您可以指定由空格分隔的三个设置:

flags tag "value"

请注意有关 CAA 记录的格式的以下事项:

  • tag 的值只能包含字符 A-Z、a-z 和 0-9。

  • 始终用引号 ("") 将 value 引起来。

  • 一些 CA 允许或需要 value.以名称-值对的形式指定其他值,并以分号 (; ) 分隔,例如:

    0 issue "ca.example.net; account=123456"

  • 如果某个 CA 接收了对某个子域 (如 www.example.com) 的证书的请求并且该子域没有 CAA 记录,则该 CA 将提交对父域 (如 example.com) 的 CAA 记录的 DNS 查询。如果父域的记录存在,并且证书请求有效,则 CA 会为子域颁发证书。

  • 我们建议您咨询您的 CA 来确定要为 CAA 记录指定的值。

  • 您不能创建名称相同的 CAA 记录和 CNAME 记录,因为 DNS 不允许 CNAME 记录和任何其他类型的记录使用相同的名称。

授权 CA 为域或子域颁发证书

要授权 CA 为域或子域颁发证书,请创建一条与域或子域同名的记录,并指定以下设置:

  • 标记0

  • 标签issue

  • – 您授权为域或子域颁发证书的 CA 的代码

例如,假设您要授权 ca.example.net 为 example.com 颁发证书。您为 example.com 创建了一条具有以下设置的 CAA 记录:

0 issue "ca.example.net"

有关如何授权 AWS Certificate Manager 颁发证书的信息,请参阅 AWS Certificate Manager 用户指南 中的配置 CAA 记录

授权 CA 为域或子域颁发通配符证书

要授权 CA 为域或子域颁发通配符证书,请创建一条与域或子域同名的记录,并指定以下设置。通配符证书适用于该域或子域及其所有子域。

  • 标记0

  • 标签issuewild

  • – 您授权为域或子域以及它们的子域颁发证书的 CA 的代码

例如,假设您要授权 ca.example.net 为 example.com 颁发通配符证书 (适用于 example.com 及其所有子域)。您为 example.com 创建了一条具有以下设置的 CAA 记录:

0 issuewild "ca.example.net"

当您要授权 CA 为域或子域颁发通配符证书时,请创建一条与域或子域同名的记录,并指定以下设置。通配符证书适用于该域或子域及其所有子域。

阻止任何 CA 为域或子域颁发证书

要阻止任何 CA 为域或子域颁发通配符证书,请创建一条与域或子域同名的记录,并指定以下设置:

  • 标记0

  • 标签issue

  • ";"

例如,假设您不希望任何 CA 为 example.com 颁发证书。您为 example.com 创建了一条具有以下设置的 CAA 记录:

0 issue ";"

如果您不希望任何 CA 为 example.com 或其子域颁发证书,则可以为 example.com 创建一条具有以下设置的 CAA 记录:

0 issuewild ";"

注意

如果您为 example.com 创建了 CAA 记录并指定了以下两个值,使用值 ca.example.net 的 CA 可以为 example.com 颁发证书:

0 issue ";" 0 issue "ca.example.net"

请求任何 CA 在收到无效的证书请求时联系您

如果您希望收到对证书的无效请求的任何 CA 联系您,请指定以下设置:

  • 标记0

  • 标签iodef

  • – 您希望 CA 在收到无效的证书请求时通知的 URL 或电子邮件地址。使用适用的格式:

    "mailto:email-address"

    "http://URL"

    "https://URL"

例如,如果您希望收到对证书的无效请求的任何 CA 向 admin@example.com 发送电子邮件,则可以创建一条具有以下设置的 CAA 记录:

0 iodef "mailto:admin@example.com"

使用 CA 支持的另一个设置

如果您的 CA 支持未在 CAA 记录的 RFC 中定义的功能,请指定以下设置:

  • 标记 – 128(如果 CA 不支持指定的功能,此值会阻止 CA 颁发证书。)

  • 标签 – 您授权 CA 使用的标签

  • – 与标签的值对应的值

例如,假设您的 CA 在收到无效的证书请求时支持发送文本消息。(我们不了解支持此选项的任何 CA。) 记录的设置可能如下所示:

128 exampletag "15555551212"

示例

Route 53 控制台的示例

0 issue "ca.example.net" 0 iodef "mailto:admin@example.com"

Route 53 API 的示例

<ResourceRecord> <Value>0 issue "ca.example.net"</Value> <Value>0 iodef "mailto:admin@example.com"</Value> </ResourceRecord>

CNAME 记录类型

CNAME Value 元素的格式与域名相同。

重要

DNS 协议不允许您为 DNS 命名空间的顶端节点(也称为区域顶点)创建别名记录 (CNAME)。例如,如果您注册了 DNS 名称 example.com,则顶级域名为 example.com。您不能为 example.com 创建 CNAME 记录,但可以为 www.example.com、newproduct.example.com 等创建 CNAME 记录。

此外,如果您为某个子域创建 CNAME 记录,则不能为该子域创建任何其他记录。例如,如果您为 www.example.com 创建 CNAME,则不能创建其“名称”字段的值为 www.example.com 的任何其他记录。

Amazon Route 53 还支持别名记录,这使得您可以将查询路由到 AWS 资源,例如 CloudFront 分配和 Amazon S3 存储桶。别名在某些方面与 CNAME 记录类型类似;不过,您可以为顶级域名创建一个别名。有关更多信息,请参阅在别名和非别名记录之间做出选择

Route 53 控制台的示例

hostname.example.com

Route 53 API 的示例

<Value>hostname.example.com</Value>

MX 记录类型

MX 记录的每个值实际上都包含两个值,即优先级和域名:

Priority

表示电子邮件服务器优先级的一个整数.如果只指定一个服务器,则优先级可以是 0 到 65535 之间的任意整数。如果指定多个服务器,则为优先级指定的值指示您要将邮件路由到第一个、第二个等电子邮件服务器中的哪一个。优先级值最低的服务器优先。例如,如果您有两个电子邮件服务器,并且为优先级指定值 10 和 20,则电子邮件始终会路由到优先级为 10 的服务器 (除非该服务器不可用)。如果您指定值为 10 和 10,则电子邮件会大致同等地路由到两个服务器。

域名

电子邮件服务器的域名.指定 A 或 AAAA 记录的名称 (如 mail.example.com)。在 RFC 2181, Clarifications to the DNS Specification 中,10.3 小节禁止为域名值指定 CNAME 记录的名称。(当 RFC 提到“别名”时,指的是 CNAME 记录,而不是 Route 53 别名记录。)

Amazon Route 53 控制台的示例

10 mail.example.com

Route 53 API 的示例

<Value>10 mail.example.com</Value>

NAPTR 记录类型

名称权威指针 (NAPTR) 是动态授权发现系统 (DDDS) 应用程序用于将一个值转换为另一个值或将一个值替换为另一个值的一种记录类型。例如,一个常见的用途是将电话号码转换为 SIP URI。

NAPTR 记录的 Value 元素包含六个以空格分隔的值:

Order

当您指定多个记录时,您希望 DDDS 应用程序评估记录的顺序。有效值:0 - 65535.

Preference

当您指定具有相同 Order 的两个或更多记录时,您评估这些记录的顺序首选项。例如,如果两个记录的 Order 为 1,则 DDDS 应用程序首先会评估具有较低 Preference 的记录。有效值:0 - 65535.

Flags

特定于 DDDS 应用程序的一个设置。RFC 3404 中当前定义的值为大写字母和小写字母 "A""P""S""U",以及空字符串 ""。将 Flags 用引号引起来。

服务

特定于 DDDS 应用程序的一个设置。将 Service 用引号引起来。

有关更多信息,请参阅适用的 RFC:

Regexp

DDDS 应用程序用于将输入值转换为输出值的一个正则表达式。例如,IP 电话系统可使用一个正则表达式将用户输入的电话号码转换为 SIP URI。将 Regexp 用引号引起来。为 Regexp 指定一个值,或者为 Replacement 指定一个值,但不要同时为这两者指定值。

该正则表达式可包含以下任何可打印 ASCII 字符:

  • a-z

  • 0-9

  • - (连字符)

  • (space)

  • ! # $ % & ' ( ) * + , - / : ; < = > ? @ [ ] ^ _ ` { | } ~ .

  • " (引号)。要在字符串中包含引号字符,请在它前面加上 \ 字符:\"。

  • \ (反斜杠)。要在字符串中包含反斜杠,请在它前面加上 \ 字符:\\。

以八进制格式指定所有其他值,例如国际化域名。

有关 Regexp 的语法,请参阅 RFC 3402 的第 3.2 节“Substitution Expression Syntax”

Replacement

您希望 DDDS 应用程序对其提交 DNS 查询的下一个域名的完全限定域名 (FQDN)。DDDS 应用程序会用您为 Replacement 指定的值 (如果有) 来替换输入值。为 Regexp 指定一个值,或者为 Replacement 指定一个值,但不要同时为这两者指定值。如果您为 Regexp 指定了一个值,请为 Replacement 指定一个圆点 (.)。

域名可以包含 a-z、0-9 和 - (连字符)。

有关 DDDS 应用程序和 NAPTR 记录的更多信息,请参阅以下 RFC:

Amazon Route 53 控制台的示例

100 50 "u" "E2U+sip" "!^(\\+441632960083)$!sip:\\1@example.com!" . 100 51 "u" "E2U+h323" "!^\\+441632960083$!h323:operator@example.com!" . 100 52 "u" "E2U+email:mailto" "!^.*$!mailto:info@example.com!" .

Route 53 API 的示例

<ResourceRecord> <Value>100 50 "u" "E2U+sip" "!^(\\+441632960083)$!sip:\\1@example.com!" .</Value> <Value>100 51 "u" "E2U+h323" "!^\\+441632960083$!h323:operator@example.com!" .</Value> <Value>100 52 "u" "E2U+email:mailto" "!^.*$!mailto:info@example.com!" .</Value> </ResourceRecord>

NS 记录类型

NS 记录会标识托管区域的名称服务器。NS 记录的值为名称服务器的域名。有关 NS 记录的更多信息,请参阅 Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录。有关配置白标签名称服务器的信息,请参阅配置白标签名称服务器

Amazon Route 53 控制台的示例

ns-1.example.com

Route 53 API 的示例

<Value>ns-1.example.com</Value>

PTR 记录类型

PTR 记录 Value 元素的格式与域名相同。

Amazon Route 53 控制台的示例

hostname.example.com

Route 53 API 的示例

<Value>hostname.example.com</Value>

SOA 记录类型

授权起始点 (SOA) 记录会提供有关域和相应 Amazon Route 53 托管区域的信息。有关 SOA 记录中的字段的信息,请参阅 Amazon Route 53 为公有托管区域创建的 NS 和 SOA 记录

Route 53 控制台的示例

ns-2048.awsdns-64.net hostmaster.awsdns.com 1 1 1 1 60

Route 53 API 的示例

<Value>ns-2048.awsdns-64.net hostmaster.awsdns.com 1 1 1 1 60</Value>

SPF 记录类型

SPF 记录以前用于验证电子邮件发件人的身份。但是,不再建议您创建记录类型为 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

建议您创建一个包含适用值的 TXT 记录,而不是 SPF 记录。有关有效值的更多信息,请参阅维基百科文章发件人策略框架

Amazon Route 53 控制台的示例

"v=spf1 ip4:192.168.0.1/16 -all"

Route 53 API 的示例

<Value>"v=spf1 ip4:192.168.0.1/16 -all"</Value>

SRV 记录类型

SRV 记录 Value 元素包含四个以空格分隔的值。前三个值为分别是表示优先级、权重和端口的十进制数。第四个值为一个域名。有关 SRV 记录格式的信息,请参阅适用的文档。

Amazon Route 53 控制台的示例

10 5 80 hostname.example.com

Route 53 API 的示例

<Value>10 5 80 hostname.example.com</Value>

TXT 记录类型

TXT 记录包含一个或多个用双引号 (") 引起的字符串。当您使用简单路由策略时,请将域 (example.com) 或子域 (www.example.com) 的所有值包含在同一 TXT 记录中。

单个字符串最多可包含 255 个字符,包括以下内容:

  • a-z

  • A-Z

  • 0-9

  • 空格

  • - (连字符)

  • ! " # $ % & ' ( ) * + , - / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ .

如果您的 TXT 记录包含以下任意字符,则必须使用 \三位八进制代码格式的转义码指定字符:

  • 八进制字符 000 到 040 (十进制 0 到 32,十六进制 0x00 到 0x20)

  • 八进制字符 177 到 377 (十进制 127 到 255,十六进制 0x7F 到 0xFF)

例如,如果您的 TXT 记录的值为 "exämple.com",则应指定 "ex\344mple.com"

有关 ASCII 字符和八进制代码之间的映射,请在 Internet 上搜索“ascii 八进制代码”。 一个有用的参考是 ASCII 代码 – 扩展 ASCII 表

大小写将被保留,因此 "Ab""aB" 是不同的值。

要将引号 (") 包含在字符串中,请在引号前面放置反斜杠 (\) 字符:\"

Amazon Route 53 控制台的示例

在单独的行中放置每个值:

"This string includes \"quotation marks\"." "The last character in this string is an accented e specified in octal format: \351" "v=spf1 ip4:192.168.0.1/16 -all"

Route 53 API 的示例

在单独的 Value 元素中放置每个值:

<Value>"This string includes \"quotation marks\"."</Value> <Value>"The last character in this string is an accented e specified in octal format: \351"</Value> <Value>"v=spf1 ip4:192.168.0.1/16 -all"</Value>