本页面简要介绍 Cloud DNS 的特性和功能。Cloud DNS 是一种高性能、高弹性的全球域名系统 (DNS) 服务,也是将您的域名发布到全球 DNS 的一种经济实惠的方式。
DNS 是一个分布式的分层数据库,可供您存储 IP 地址和其他数据,以及按名称查找这些内容。借助 Cloud DNS,您可以在 DNS 中发布地区和记录,而无需管理自己的 DNS 服务器和软件。
Cloud DNS 提供公开地区和专用的代管 DNS 地区。公开地区在公共互联网上可见,而专用地区仅在您指定的一个或多个 Virtual Private Cloud (VPC) 网络中可见。如需详细了解区域,请参阅 DNS 区域概览。
Cloud DNS 支持项目级层和单个 DNS 区域级层的 Identity and Access Management (IAM) 权限。如需了解如何设置各个资源 IAM 权限,请参阅创建具有特定 IAM 权限的区域。
如需常规 DNS 术语的列表,请参阅常规 DNS 概览。
如需查看构建 Cloud DNS 的关键术语列表,请参阅关键术语。
要开始使用 Cloud DNS,请参阅快速入门。
自行试用
如果您是 Google Cloud 新手,请创建一个账号来评估 Cloud DNS 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
免费试用 Cloud DNS共享 VPC 注意事项
如需将 Cloud DNS 代管专用地区、Cloud DNS 转发地区或 Cloud DNS 对等互连地区与共享 VPC 一起使用,您必须在宿主项目中创建相应地区,并且然后将一个或多个共享 VPC 网络添加到该地区的授权网络列表中。或者,您可以使用跨项目绑定在服务项目中设置区域。
如需了解详情,请参阅 Cloud DNS 专用可用区的最佳做法。
DNS 转发方法
Google Cloud 为专用地区提供入站和出站 DNS 转发。 您可以通过创建转发地区或 Cloud DNS 服务器政策来配置 DNS 转发。下表就这两种方法进行了总结。
DNS 转发 | Cloud DNS 方法 |
---|---|
入站 | 创建入站服务器政策,以启用本地 DNS 客户端或服务器以向 Cloud DNS 发送 DNS 请求。然后,DNS 客户端或服务器可以根据 VPC 网络的名称解析顺序解析记录。 本地客户端可以解析 VPC 网络已获得授权的专用地区、转发地区和对等互连地区中的记录。本地客户端使用 Cloud VPN 或 Cloud Interconnect 连接到 VPC 网络。 |
出站 |
您可以在 VPC 网络中配置虚拟机来执行以下操作: |
您可以同时为 VPC 网络配置入站和出站 DNS 转发。借助双向转发,VPC 网络中的虚拟机可以解析本地网络或由其他云服务商托管的网络中的记录。此类转发还使本地网络中的主机能够为Google Cloud 资源解析记录。
Cloud DNS 控制层面使用转发目标选择顺序来选择转发目标。如果转发目标无法访问或者响应速度不够快,则出站转发查询有时可能会导致 SERVFAIL
错误。如需了解问题排查说明,请参阅出站转发查询收到 SERVFAIL 错误。
如需了解如何应用服务器政策,请参阅创建 DNS 服务器政策。如需了解如何创建转发可用区,请参阅创建转发可用区。
DNSSEC
Cloud DNS 支持托管 DNSSEC,可保护您的网域免遭欺骗攻击和缓存投毒攻击。当您使用像 Google 公共 DNS 之类的验证解析器时,DNSSEC 会为网域查找提供增强式身份验证(但不会加密)。如需详细了解 DNSSEC,请参阅管理 DNSSEC 配置。
DNS64(预览版)
您可以使用 Cloud DNS DNS64 将仅支持 IPv6 的 Compute Engine 虚拟机 (VM) 实例(预览版)连接到 IPv4 目的地。DNS64 会为每个 IPv4 目的地提供一个合成 IPv6 地址。Cloud DNS 会将已知前缀 (WKP) 64:ff9b::/96
与 32 位目的地 IPv4 地址组合起来,从而创建合成地址。
设置 DNS64 和网络地址转换 (NAT) 与公共 NAT (NAT64),以便仅支持 IPv6 的虚拟机实例(预览版)能够与互联网上的 IPv4 目标进行通信。如需配置 NAT64,请按照创建 Cloud NAT 网关中的说明操作。
以下示例展示了名为 vmipv6
的仅限 IPv6 的虚拟机实例(预览版)如何解析仅限 IPv4 的目标的名称。
vmipv6
虚拟机实例会发起 DNS 请求,以将目标名称解析为 IPv6 地址。如果存在
AAAA
记录(IPv6 地址),Cloud DNS 会返回 IPv6 地址,vmipv6
虚拟机实例会使用该地址连接到目的地。如果不存在
AAAA
记录,但您配置了 DNS64,Cloud DNS 会搜索A
记录(IPv4 地址)。如果 Cloud DNS 找到A
记录,则会在 IPv4 地址前面附加64:ff9b::/96
,从而合成AAAA
记录。
例如,如果 IPv4 地址为 32.34.50.60
,则生成的经过合成的 IPv6 地址为 64:ff9b::2022:323c
,其中 2022:323c
是 IPv4 地址的十六进制等效地址。64:ff9b::/96
前缀在 RFC 6052 中定义。只要您在 Cloud DNS 中启用 DNS 转发,即使您在本地托管 DNS 记录,Cloud DNS 也会合成这些 IPv6 地址。
您可以在以下情况下使用 DNS64:
- 遵守要求在不分配 IPv4 地址的情况下改用 IPv6 地址的法规。
- 分阶段过渡到仅限 IPv6 的地址基础架构,同时保持对现有 IPv4 基础架构的访问权限。
- 在向 IPv6 地址过渡期间,确保继续访问使用旧版 IPv4 地址的环境,以免关键服务中断。
如需为 VPC 网络配置 DNS64,请按照配置 DNS64 中的说明操作。
访问权限控制机制
您可以在 Google Cloud 控制台的 IAM 和管理页面上管理可以更改 DNS 记录的用户。为了获得授权进行更改,用户必须具有 Google Cloud 控制台的“权限”部分中的 DNS Administrator 角色 (roles/dns.admin
)。DNS Reader 角色 (roles/dns.reader
) 授予对 Cloud DNS 记录的只读权限。
这些权限还适用于您在管理 DNS 服务时使用的服务账号。
如需查看分配给这些角色的权限,请参阅角色。
针对托管地区的访问权限控制
具有项目 Owner 角色或 Editor 角色(roles/owner
或 roles/editor
)的用户可以管理或查看其所管理的特定项目中的代管区域。
具有 DNS Administrator 角色或 DNS Reader 角色的用户可以管理或查看其有权访问的所有项目中的代管区域。
项目 Owner、Editor、DNS Administrator 和 DNS Reader 可以查看当前项目中任何 VPC 网络采用的专用地区列表。
每项资源的访问权限
如需在 DNS 资源(如托管区域)上配置政策,您必须对拥有该资源的项目具有 Owner 访问权限。DNS Administrator 角色没有 setIamPolicy
权限。作为项目所有者,您还可以针对您的特定需求创建自定义 IAM 角色。如需了解详情,请参阅了解 IAM 自定义角色。
性能和时间
Cloud DNS 使用 Anycast 从全球多个位置为您的代管地区提供服务,以实现高可用性。请求会自动路由到最近的位置,从而为用户减少延迟,并提升权威名称查找性能。
传播更改
更改将分两部分进行传播。首先,您通过 API 或命令行工具发送的更改必须推送到 Cloud DNS 的权威 DNS 服务器。其次,DNS 解析器必须在其缓存的记录过期时拾取这些更改。
您为记录设置的存留时间 (TTL) 值(以秒为单位指定)控制 DNS 解析器的缓存。例如,如果将 TTL 值设置为 86400(即 24 小时内的秒数),这就指示 DNS 解析器将记录缓存 24 小时。某些 DNS 解析器会忽略 TTL 值,或使用自己的值来延迟记录的完整传播。
如果您要对服务进行短暂更改,则建议在进行更改之前将 TTL 更改为较短的值,即在先前 TTL 值在解析器缓存中到期后应用新的较短 TTL 值这种方法可以帮助缩短缓存期,并确保更快地切换到新的记录设置。更改后,您可以将值改回其先前的 TTL 值,以减少 DNS 解析器上的负载。
后续步骤
如需开始使用 Cloud DNS,请参阅快速入门:使用 Cloud DNS 为域名设置 DNS 记录。
如需注册并设置网域,请参阅教程:使用 Cloud DNS 设置网域。
如需了解 API 客户端库,请参阅示例和库。
如需了解您在使用 Cloud DNS 时可能会遇到的常见问题的解决方案,请参阅问题排查。