本文档提供了适用于 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 和反向查找
将 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 服务器上生效。如需了解如何管理记录,请参阅添加、修改和删除记录。- 资源记录集更改
如需更改资源记录集,请提交包含添加或删除操作的
Change
或ResourceRecordSets
请求。您可以通过一项原子化事务来执行批量添加和删除操作,使所做更改在各个权威 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 所需的全部信息。