关键词

本文档提供了适用于 Cloud DNS 的关键术语。 请查看这些条款,以更好地了解 Cloud DNS 的工作原理及其基础概念。

Cloud DNS API 围绕项目代管区域记录集和记录集更改构建而成。

项目
Google Cloud Console 项目是一个资源容器、一个访问权限控制网域,还是配置和汇总账单的地方。如需了解详情,请参阅创建和管理项目
代管可用区

代管区域保存具有相同域名系统 (DNS) 名称后缀(例如 example.com)的 (DNS) 记录。一个项目可以有多个代管区域,但这些区域必须各自有唯一的名称。在 Cloud DNS 中,代管区域是模仿 DNS 区域的资源。

代管区域中的所有记录都托管在由 Google 运营的同一域名服务器上。这些域名服务器会根据代管区域的配置方式响应针对该区域的 DNS 查询。一个项目可以包含多个代管区域。每个代管区域的费用按该区域的存在时间每天累计。代管区域支持标签,您可以借助标签来整理您的账单。

公开可用区

公开区域在互联网上可见。Cloud DNS 具有公开的权威域名服务器,它们可以响应任意位置对公开区域的查询。您可以在公开区域中创建 DNS 记录,以将您的服务发布到互联网上。例如,您可以在公开区域 example.com 中为您的公开网站 www.example.com 创建以下记录。

DNS 名称 类型 TTL(秒) 数据
www.example.com A 300 198.51.100.0

创建公开区域时,Cloud DNS 会分配一组域名服务器。如需使公开区域中的 DNS 记录可通过互联网解析,您必须在注册商处更新网域注册的域名服务器设置

如需详细了解如何注册和设置您的网域,请参阅使用 Cloud DNS 设置网域

专用可用区

通过专用区域,您可以管理虚拟机、负载平衡器和其他 Google Cloud 资源的自定义域名,而无需将底层 DNS 数据暴露给公共互联网。专用区域用于存放只能供您授权的一个或多个 Virtual Private Cloud (VPC) 网络查询的 DNS 记录。

创建或更新专用区域时,您必须指定获得授权的 VPC 网络(可以查询您的专用区域)的列表。只有获得授权的网络才可以查询您的专用区域;如果您没有指定任何获得授权的网络,则无法查询该专用区域。

您可以将专用区域与共享 VPC 一起使用。如需了解如何将专用区域与共享 VPC 一起使用,请参阅共享 VPC 注意事项

专用区域不支持 DNS 安全扩展程序 (DNSSEC) 或类型为 NS 的自定义资源记录集。针对专用区域中 DNS 记录的请求必须通过元数据服务器 (169.254.169.254) 提交,该服务器是基于 Google 提供的映像创建的虚拟机的默认内部域名服务器。

您可以从任何使用授权 VPC 网络的虚拟机向此域名服务器提交查询。例如,您可以为 dev.gcp.example.com 创建一个专用区域,以此托管实验性应用的内部 DNS 记录。下表显示了该区域中的示例记录。数据库客户端可以使用其内部 DNS 名称(而不是其 IP 地址)连接到数据库服务器 (db-01.dev.gcp.example.com)。数据库客户端会使用虚拟机上的主机解析器解析此内部 DNS 名称,该解析器会将 DNS 查询提交到元数据服务器 (169.254.169.254)。元数据服务器充当递归解析器,用于对您的专用区域执行查询。

DNS 名称 类型 TTL(秒) 数据
db-01.dev.gcp.example.com A 5 10.128.1.35
instance-01.dev.gcp.example.com A 50 10.128.1.10

使用专用区域可以创建水平分割 DNS 配置。 这是因为您可以使用其他记录集创建专用区域,从而替换公开区域中的整组记录。 然后,您可以控制哪些 VPC 网络查询专用区域中的记录。如需查看示例,请参阅重叠区域

Service Directory

Service Directory 是 Google Cloud 的代管式服务注册表,这样除了使用传统 DNS 之外,它还让您可使用 HTTP 或 gRPC(使用其 Lookup API)注册和发现服务。您可以使用 Service Directory 来注册 Google Cloud 服务和非 Google Cloud 服务。

Cloud DNS 允许您创建受 Service Directory 支持的区域,这是一种专用区域类型,包含有关您的服务和端点的信息。您不会将记录集添加到区域;而是根据与区域关联的 Service Directory 命名空间的配置自动推断。如需详细了解 Service Directory,请参阅 Service Directory 概览

创建受 Service Directory 支持的地区时,您无法直接向该地区添加记录;数据来自 Service Directory 服务注册表。

非 RFC 1918 地址的 Cloud DNS 和反向查找

默认情况下,Cloud DNS 通过公共互联网将 PTR 记录请求转发到非 RFC 1918 地址。不过,Cloud DNS 还支持使用专用区对非 RFC 1918 地址进行反向查找。

将 VPC 网络配置为使用非 RFC 1918 地址后,必须将 Cloud DNS 专用可用区配置为代管反向查找可用区。此配置使 Cloud DNS 能够在本地解析非 RFC 1918 地址,而不是通过互联网发送这些地址。

创建代管式反向查找 DNS 地区时,您无法直接向该地区添加记录;数据来自 Compute Engine IP 地址数据。

Cloud DNS 还支持在 Google Cloud 中以私密方式路由这些地址,从而向非 RFC 1918 地址进行出站转发。如需启用这种类型的出站转发,必须使用特定转发路径参数配置转发区域。如需了解详情,请参阅转发目标和路由方法

转发可用区

转发可用区是一种由 Cloud DNS 管理的专用可用区,它会将对于该可用区的请求发送至其转发目标的 IP 地址。如需了解详情,请参阅 DNS 转发方法

创建转发可用区时,无法直接向转发可用区添加记录;数据来自一个或多个配置的目标域名服务器或解析器。

对等互连可用区

对等互连区域是一种由 Cloud DNS 代管的专用区域,这些区域遵循另一个 VPC 网络的名称解析顺序,可用于解析另外这个 VPC 网络中定义的名称。

创建 DNS 对等互连地区时,您无法直接将记录添加到该地区;数据来自提供方 VPC 网络(根据其名称解析顺序)。

响应政策

响应政策是包含规则(而非记录)的 Cloud DNS 专用地区概念。这些规则可用于实现与 DNS 响应政策区 (RPZ) 草稿概念 (IETF) 类似的效果。通过响应政策,您可以在网络内的 DNS 服务器中引入供 DNS 解析器在查询期间参照的自定义规则。如果响应政策中的规则影响传入查询,则将对其进行处理。否则,查找将正常运行。如需了解详情,请参阅管理响应政策和规则

响应政策与 RPZ 不同,RPAZ 是普通的 DNS 地区,具有特殊的格式数据,可导致兼容的解析器执行特殊操作。响应政策不是 DNS 地区,可在 API 中单独管理。

可用区操作

您对 Cloud DNS 代管区域所做的任何更改都会记录在操作集合中,该集合列出了代管区域更新(对说明、DNSSEC 状态或配置进行修改)。 对于一个区域内的记录集,更改将单独存储在本文档中稍后描述的资源记录集中。

国际化域名 (IDN)

国际化域名 (IDN) 是一种互联网域名,让世界各地的用户可在域名中使用特定于语言的文字或字母,如阿拉伯语、中文、西里尔文、梵文、希伯来语或基于拉丁字母的特殊字符。此转换是使用 Punycode(使用 ASCII 的 Unicode 字符表示法)实现的。例如,.ελ 的 IDN 表示法是 .xn--qxam。某些浏览器、电子邮件客户端和应用可能会识别它,并代表您以 .ελ 的形式呈现它。应用国际化域名 (IDNA) 标准仅允许将长度足够短的 Unicode 字符串表示为有效 DNS 标签。如需了解如何将 IDN 与 Cloud DNS 搭配使用,请参阅创建具有国际化域名的区域

注册商

域名注册商是一个管理互联网域名预留的组织。 注册商必须经通用顶级网域 (gTLD) 域名注册管理机构或国家/地区代码顶级网域 (ccTLD) 域名注册管理机构认可。

内部 DNS

即便您不使用 Cloud DNS,Google Cloud 也会自动为虚拟机创建内部 DNS 名称。如需详细了解内部 DNS,请参阅内部 DNS 文档

委派子可用区

DNS 允许区域所有者使用 NS(域名服务器)记录将子网域委派给不同的域名服务器。解析器会按照这些记录,将对子网域的查询发送到委派中指定的目标域名服务器。

资源记录集

资源记录集是一个包含相同标签、类和类型的 DNS 记录集合,但这些记录具有不同的数据。资源记录集包含构成代管区域的 DNS 记录的当前状态。您可以读取资源记录集,但不能直接对其进行修改。如需修改代管区域中的资源记录集,您可以在更改集合中创建一个 Change 请求。 您还可以使用 ResourceRecordSets API 修改资源记录集。资源记录集会立即反映您所做的全部更改。但是,在 API 中进行的更改要经过一段延迟才会在您的权威 DNS 服务器上生效。如需了解如何管理记录,请参阅添加、修改和删除记录

资源记录集更改

如需更改资源记录集,请提交包含添加或删除操作的 ChangeResourceRecordSets 请求。您可以通过一项原子化事务来执行批量添加和删除操作,使所做更改在各个权威 DNS 服务器中同时生效。

例如,如果您的 A 记录如下所示:

www  A  203.0.113.1 203.0.113.2

您运行了如下命令:

DEL  www  A  203.0.113.2
ADD  www  A  203.0.113.3

执行批量更改后,您的记录将如下所示:

www  A  203.0.113.1 203.0.113.3

ADD 和 DEL 同时发生。

SOA 序列号格式

随着使用 gcloud dns record-sets transaction 命令对区域记录集进行的每次事务性更改,在 Cloud DNS 代管区域中创建的 SOA 记录的序列号会单调递增。您可以随时将 SOA 记录的序列号手动更改为任意数字,其中包括 RFC 1912 中建议的 ISO 8601 格式的日期。

例如,在以下 SOA 记录中,您可以通过将所需的值输入记录的第三个空格分隔字段,直接从 Google Cloud Console 更改序列号:

ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com.
[serial number] 21600 3600 259200 300`
DNS 服务器政策

借助 DNS 服务器政策,您可以在带有入站转发的 VPC 网络中访问 Google Cloud 提供的名称解析服务,或者通过出站服务器取代 VPC 名称解析顺序。如需了解详情,请参阅 DNS 服务器政策

网域、子网域和委派

大多数子网域只是父网域代管区域中的记录。如果子网域是通过在其父网域的区域中创建 NS(域名服务器)记录委派的,则子网域还需要拥有自己的区域。

请先在 Cloud DNS 中为父网域创建代管公开可用区,然后再为委托的子网域创建任何公开可用区。即使父网域托管在其他 DNS 服务上也是如此。 如果您有多个子网域区域,但没有创建父区域,那么日后若想创建父区域以将其迁移到 Cloud DNS,则过程可能会非常复杂。如需了解详情,请参阅域名服务器限制。 DNSSEC

域名系统安全扩展 (DNSSEC) 是一套针对 DNS 的互联网工程任务组 (IETF) 扩展,用于验证对域名查找的响应。DNSSEC 不会为这些查找提供隐私保护,但会阻止攻击者操控对 DNS 请求的响应或对该响应进行投毒攻击。

DNSKEY 集合

DNSKEY 集合包含用于对启用了 DNSSEC 的托管地区进行签名的 DNSKEY 记录的当前状态。您只能读取此集合;对 DNSKEY 的所有更改均由 Cloud DNS 完成。DNSKEY 集合包含网域注册商激活 DNSSEC 所需的全部信息。