本页面简要介绍了记录并列出了 Cloud DNS 支持的 DNS 记录类型,包括 Cloud DNS 自定义记录类型 ALIAS。
记录是 DNS 资源和域名之间的映射。每条 DNS 记录都有类型(名称和编号)、到期时间(存留时间)和特定类型的数据。
如需创建和管理资源记录集,请参阅 添加、更新和删除记录。
别名记录
ALIAS 记录是 Cloud DNS 自定义记录类型,其行为类似于 CNAME 记录,但只能在区域顶层使用,并且仅响应地址记录(A 或 AAAA)查询。具体而言,ALIAS 记录类型会将别名域名映射到规范名称,并使用规范名称来查找应答。当顶层需要 CNAME 行为时,此记录类型非常有用。您不能将 CNAME 记录置于顶层,因为它不能与任何其他记录类型(包括区域顶层所需的 SOA 记录)共存。
ALIAS 记录特定于 Cloud DNS,并且绝不会向查询 Cloud DNS 区域的外部客户端公开。对于客户端,ALIAS 记录在 DNS 响应中显示为标准 A 或 AAAA 记录。 ALIAS 记录与 DNSSEC 不兼容,因此您无法在具有 ALIAS 记录的区域中启用 DNSSEC。
您可以像管理所有其他记录一样管理 ALIAS 记录。如需了解如何管理记录,请参阅管理记录。
查询解析过程
别名记录仅适用于 Cloud DNS 公开区域。
对于 CNAME 记录,解析器负责解析规范名称。对于 ALIAS 记录,Cloud DNS 域名服务器会解析规范名称,并生成合成的 A 或 AAAA 记录以返回给解析器。合成的 A 或 AAAA 记录具有 ALIAS 记录的名称,以及通过解析 ALIAS 记录的目标找到的 IP 地址。Cloud DNS 域名服务器使用 Google 的可用递归解析器来解析别名记录。
如果别名目标解析为具有多个地址的资源记录集 (RRSet),Cloud DNS 会返回所有记录,但会随机排列这些记录,然后返回合成的地址记录。此过程与 Cloud DNS 处理来自自己的域名服务器的应答的方式相同。
在 ALIAS 记录目标解析期间,系统只会合成地址记录。ALIAS 记录的查询不会返回在解析别名记录的目标时找到的任何中间 CNAME 记录。在到达 ALIAS 记录之前通过 CNAME 追踪发现的 CNAME 记录会原样返回。如果 ALIAS 目标解析失败,即返回 NOERROR 以外的响应代码,则 Cloud DNS 域名服务器会向其客户端返回 SERVFAIL 响应。如果解析导致 NODATA 响应(即没有地址记录的 NOERROR 响应),则 Cloud DNS 域名服务器会返回 NODATA 响应。
在解析 ALIAS 记录目标时,Cloud DNS 不会使用客户端提供的 EDNS 客户端子网。
存留时间 (TTL) 参数和缓存
随合成地址记录返回的 TTL 值是 ALIAS 记录配置的最小 TTL 值,也是解析 ALIAS 目标时遇到的 TTL 值中的最小值。使用此方法,返回的 TTL 可以小于 ALIAS 记录的配置 TTL,但永远不会大于配置的 TTL。
以下示例演示了如何为合成的地址记录确定 TTL。
假设在 Cloud DNS 代管区域中配置了以下记录:
example.com. 3600 SOA ns.com. admin.example.com. (...)
86400 NS ns.com.
6000 ALIAS test-cname.example.com.
test-cname 3000 CNAME address.example.com.
address 5000 A 1.2.3.4
对此区域进行 example.com 的 A 记录查询会返回类似于以下内容的响应:
QUESTION SECTION example.com. A ANSWER SECTION example.com. 3000 A 1.2.3.4
解析期间遇到的 TTL 为 6000(ALIAS 记录)、3000(CNAME 记录)和 5000(A 记录)。在这些 TTL 中,3000 是最小的,因此在合成的地址记录中返回此 TTL。
为简单起见,此示例展示了同一区域中的所有记录,但在不同区域间跳转的解析的 TTL 逻辑是相同的。
权威应答位
DNS 响应中的权威位基于链中的第一个名称(原始 qname),无论与该名称关联的数据是在服务器上找到还是通过 ALIAS 记录解析检索。
错误处理
为了解析 ALIAS 记录,Cloud DNS 会使用第三方权威域名服务器来确定 DNS 委托并检索外部托管的 DNS 数据。如果 Cloud DNS 无法解析 ALIAS 记录目标(ALIAS 目标解析导致错误 RCODE 值,例如 NXDOMAIN 或 REFUSED),则会返回 SERVFAIL 响应。例如,如果 ALIAS 目标不存在或其权威服务器无法访问,Cloud DNS
会返回 SERVFAIL。
由于 SERVFAIL 提供的错误信息有限,因此 Cloud DNS 日志记录包含在 ALIAS 记录解析期间遇到的特定 RCODE 值,以帮助您排查错误。如需了解如何使用 Cloud DNS 日志记录,请参阅使用日志记录和监控功能。
如果 ALIAS 目标解析导致 NODATA 响应(包含 NOERROR RCODE 的空响应),Cloud DNS 会返回 NODATA。ALIAS 记录同时匹配 A 和 AAAA 查询,但 ALIAS 目标只能包含一种记录类型。这是预期行为,不会导致响应中出现错误 RCODE 值。
导入和导出记录
您可以在 BIND 区域文件或 YAML 文件中导入和导出记录。
ALIAS 记录类型不是标准 DNS 记录类型,因此 BIND 文件不支持 ALIAS 记录。虽然 Cloud DNS 能够识别这些条目,但其他与 BIND 兼容的 DNS 软件可能无法识别。
ALIAS 记录导出为特定于 Cloud DNS 的 YAML 文件,格式如下:
kind: dns#resourceRecordSet name: DNS Name rrdatas: RR Data ttl: TTL type: ALIAS
Cloud DNS 可以导入上述格式的 YAML 文件中的 ALIAS 记录。
安全性与隐私权
Cloud DNS 公开域名服务器可代表您解析 ALIAS 目标,但您必须确保正确配置了 ALIAS 目标;错误的 ALIAS 目标可能会导致您的公开记录无法正常使用,或者导致返回不需要的 IP 地址。
监控代管式区域
Cloud DNS 通过 Logging 提供对托管区域的所有查询的日志记录。DNS 查询日志中提供可选字段 alias_query_response_code,用于记录 ALIAS 名称解析的状态信息,因为 DNS 响应中不提供此信息。
如需了解详情,请参阅查看日志。
仅当使用 ALIAS 记录解析查询时才会设置 alias_query_response_code。值 NoError 表示 ALIAS 记录已成功解析,任何其他值则表示错误。SERVFAIL 值可以表示以下任意问题:
- 无法访问目标域名服务器
- 在找到响应之前目标解析超时
- DNSSEC 验证失败
日志条目中的 qtype 字段没有 ALIAS 选项。 如果使用 ALIAS 记录应答 A 或 AAAA 查询,则 qtype
字段将保留为 A 或 AAAA。
支持的 DNS 记录类型
Cloud DNS 支持以下类型的记录。
| 适用的记录类型 | Enter |
|---|---|
A |
主机的数字 IP 地址,采用 IPv4 点分十进制格式。
|
AAAA |
主机的数字 IP 地址,采用 IPv6 十六进制数字格式。`AAAA` (AAAA) 记录类型将 IPv6 地址映射到域名,并确定将域名请求定向到的目标位置,例如 |
ALIAS(预览版) |
别名记录(预览版),用于将 别名域名映射到区域顶层的规范名称。别名 记录也称为 ANAME 记录或 CNAME 展平。 您可以使用 gcloud CLI 或 Cloud DNS API 配置别名记录。您无法使用 控制台 Google Cloud 配置别名记录。 别名记录也称为 ANAME 记录或 CNAME 展平。 |
CAA |
有权为此网域颁发证书的证书授权机构
,例如
创建 |
CNAME |
您还可以使用
有时,域名服务器会返回 如果您在创建 CNAME 记录时遇到问题,请参阅 在不运行的专用地区中定义的 CNAME 记录 。 |
DNSKEY |
解析器用于通过 ZSK 和 KSK 密钥来验证记录真实性的 DNSSEC 公钥。 例如,
在此示例中,
您只能在处于 |
DS |
安全委派区域的 DNSSEC 密钥指纹。
例如, 您只能在公开区域中添加此记录类型。除非您为委派区域启用(和激活)DNSSEC,否则此记录集类型不会为该区域激活 DNSSEC。默认情况下,区域不会启用 DNSSEC 。 |
HTTPS |
HTTPS 服务绑定记录,允许来源指示 多个备用端点,每个端点都具有关联的参数。此 记录还会将 HTTP 重定向到 HTTPS。
例如, HTTPS 记录类型基于较通用的 SVCB 记录类型,并 使用相同的值格式。 |
IPSECKEY |
支持 IPsec 的客户端的 IPsec 隧道网关数据和公钥,用于实现随机加密。
例如, 如需了解详情,请参阅 RFC 4025。 |
MX |
代表您的网域接收电子邮件的邮件交换服务器的偏好设置编号和 DNS 名称。
例如: SMTP 服务器首选具有较低偏好设置编号的服务器,您可以输入的最低偏好设置编号为 您输入的 MX 记录必须以英文句点 ( 您可以创建多个具有不同优先级的记录 来配置备份邮件服务器,或者使用相同的优先级将负载分配到多个邮件服务器上。
例如,如需将邮件定向到您的 Google Workspace 账号,
请输入以下内容: |
NAPTR |
用于映射动态委派发现系统 (DDDS) 应用所使用的统一资源名称 (URN) 的名称权威指针规则。DDDS
应用使用
在示例中, 如需了解详情,请参阅 RFC 3403。 |
NS |
为您的网域或子网域提供 DNS
服务的权威域名服务器的 DNS 名称。您的 |
PTR |
完全限定域名 (FQDN) 或映射到 IP 地址的网域规范名称,例如
|
SOA |
起始授权机构记录,用于指定有关 DNS 区域的权威信息
。创建托管地区时,系统会为您创建一条
例如,
如需了解详情,请参阅 RFC 1035。 |
SPF |
|
SRV |
用于指定特定服务的服务器位置(主机名和端口号) 的数据。
例如, 如需了解详情,请参阅 RFC 2782。 |
SSHFP |
SSH 客户端的 SSH 指纹,用于 验证 SSH 服务器的公钥。
例如, |
SVCB |
服务绑定记录,允许逻辑服务指示 多个备用端点,每个端点都具有关联的参数。
例如, 对于 HTTPS 来源,请参阅 HTTPS 记录类型。 |
TLSA |
基于 DNS 的命名实体认证 (DANE) TLSA 证书关联信息。 TLSA 记录包含 用于验证 X.509 证书的信息(例如 HTTPS 使用的证书), 而无需依赖于一组预配置的证书授权机构 (CA) 对其进行签名。
例如, 仅当您为区域启用了 DNSSEC 时,才使用此记录类型。 |
TXT |
文本记录,可包含任意文本,也可用于定义机器可读数据,例如安全或滥用行为防范信息。
TXT 记录可以包含一个或多个文本字符串;每个
字符串的最大长度为 255 个字符。如果记录数据超过 255 字节,请将记录划分为 255 字节的字符串,并将每个字符串用引号引起来 - 例如 邮件代理和其他软件代理会将多个字符串连接在一起。 请用引号括起每个字符串,例如 每条 TXT 记录的长度上限为 1,000 个字符。如果您需要提高此上限,请与Google Cloud 支持团队联系。 |
后续步骤
如需开始使用 Cloud DNS,请参阅快速入门:使用 Cloud DNS 为域名设置 DNS 记录。
如需注册并设置网域,请参阅教程:使用 Cloud DNS 设置网域。
如需了解 API 客户端库,请参阅示例和库。
如需了解您在使用 Cloud DNS 时可能会遇到的常见问题的解决方案,请参阅问题排查。