本页面介绍如何创建、更新、列出和删除 Cloud DNS 代管可用区。在使用本页面之前,请先熟悉 Cloud DNS 概览和关键术语。
准备工作
Cloud DNS API 会要求您创建 Cloud DNS 项目并启用 Cloud DNS API。
如果您要创建使用 REST API 的应用,则还必须创建一个 OAuth 2.0 客户端 ID。
- 如果您还没有 Google 账号,请注册一个账号。
- 在 Google Cloud 控制台中启用 Cloud DNS API。您可以选择现有的 Compute Engine 或 App Engine 项目,也可以创建一个新项目。
- 如果您需要向 REST API 发出请求,则需要创建 OAuth 2.0 ID。请参阅设置 OAuth 2.0。
- 在项目中,请记下后续步骤中需要输入的信息:
-
客户端 ID (
xxxxxx.apps.googleusercontent.com
)。 - 您要使用的项目 ID。您可以在 Google Cloud 控制台的概览页面顶部找到此 ID。您也可以要求用户提供其要在您的应用中使用的项目名称。
-
客户端 ID (
如果您之前未运行过 Google Cloud CLI,则必须运行以下命令来指定项目名称并进行 Google Cloud Console 身份验证:
gcloud auth login
如果您要在另一个项目中的 Google Cloud 资源上运行 gcloud
命令,请为此命令和本页中的其他 gcloud
命令指定 --project
选项。
创建代管可用区
您创建的每个代管可用区都与一个 Google Cloud 项目相关联。以下几个部分介绍如何创建 Cloud DNS 支持的托管地区类型。
创建公共地区
如需创建新的代管可用区,请完成以下步骤。
控制台
在 Google Cloud Console 中,转到创建 DNS 可用区页面。
对于可用区类型,请选择公开。
输入可用区名称,例如
my-new-zone
。使用一个您拥有的域名输入该地区的 DNS 名称后缀。该地区中的所有记录都具有此后缀,例如:
example.com
。在 DNSSEC 下,选择 Off、On 或 Transfer。如需了解详情,请参阅为现有代管可用区启用 DNSSEC。
点击创建。随即系统将显示可用区详情页面。
gcloud
运行 dns managed-zones create
命令:
gcloud dns managed-zones create NAME \ --description=DESCRIPTION \ --dns-name=DNS_SUFFIX \ --labels=LABELS \ --visibility=public
请替换以下内容:
NAME
:您的可用区的名称DESCRIPTION
:您的可用区的说明DNS_SUFFIX
:您的可用区的 DNS 后缀,例如example.com
LABELS
:(可选)以英文逗号分隔的键值对列表,例如dept=marketing
或project=project1
;如需了解详情,请参阅 SDK 文档
Terraform
API
使用 managedZones.create
方法发送 POST
请求:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones { "name": "NAME", "description": "DESCRIPTION", "dnsName": "DNS_NAME", "visibility": "public" }
请替换以下内容:
PROJECT_ID
:创建代管可用区的项目的 IDNAME
:您的可用区的名称DESCRIPTION
:您的可用区的说明DNS_NAME
:您的可用区的 DNS 后缀,例如example.com
创建专用可用区
如需使用 Cloud DNS 管理的专用 DNS 记录创建新的代管专用可用区,请完成以下步骤。如需了解详情,请参阅 Cloud DNS 专用可用区的最佳做法。
控制台
在 Google Cloud Console 中,转到创建 DNS 可用区页面。
对于可用区类型,请选择专用。
输入可用区名称,例如
my-new-zone
。为专用地区输入 DNS 名称后缀。该地区中的所有记录都具有此后缀,例如:
example.private
。可选:添加说明。
在选项下,选择默认(专用)。
选择专用可用区必须可见的 Virtual Private Cloud (VPC) 网络。只有您选择的 VPC 网络才有权查询该地区中的记录。
点击创建。
gcloud
运行 dns managed-zones create
命令:
gcloud dns managed-zones create NAME \ --description=DESCRIPTION \ --dns-name=DNS_SUFFIX \ --networks=VPC_NETWORK_LIST \ --labels=LABELS \ --visibility=private
请替换以下内容:
NAME
:您的可用区的名称DESCRIPTION
:您的可用区的说明DNS_SUFFIX
:您的可用区的 DNS 后缀,例如example.private
VPC_NETWORK_LIST
:有权查询地区的 VPC 网络的逗号分隔列表。LABELS
:(可选)以英文逗号分隔的键值对列表,例如dept=marketing
或project=project1
;如需了解详情,请参阅 SDK 文档
Terraform
API
使用 managedZones.create
方法发送 POST
请求:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones { "name": "NAME", "description": "DESCRIPTION", "dnsName": "DNS_NAME", "visibility": "private" "privateVisibilityConfig": { "kind": "dns#managedZonePrivateVisibilityConfig", "networks": [{ "kind": "dns#managedZonePrivateVisibilityConfigNetwork", "networkUrl": VPC_NETWORK_1 }, { "kind": "dns#managedZonePrivateVisibilityConfigNetwork", "networkUrl": VPC_NETWORK_2 }, .... ] }
请替换以下内容:
PROJECT_ID
:创建代管可用区的项目的 IDNAME
:您的可用区的名称DESCRIPTION
:您的可用区的说明DNS_NAME
:您的可用区的 DNS 后缀,例如example.private
VPC_NETWORK_1
和VPC_NETWORK_2
:同一项目中可以查询此可用区中记录的 VPC 网络的网址。您可以按照指示添加多个 VPC 网络。要确定 VPC 网络的网址,请使用以下gcloud
命令,并将VPC_NETWORK_NAME
替换为网络的名称:gcloud compute networks describe VPC_NETWORK_NAME \ --format="get(selfLink)"
创建具有特定 IAM 权限的可用区
借助针对单个资源代管式可用区的 Identity and Access Management (IAM) 权限,您可以为同一项目下的不同代管式可用区设置特定的读取、写入或管理员权限。
如需了解如何创建具有特定 Identity and Access Management (IAM) 权限的可用区,请参阅创建具有特定 IAM 权限的可用区。
创建 Service Directory DNS 可用区
您可以创建一个 Service Directory 地区,以允许基于 Google Cloud 的服务通过 DNS 查询您的 Service Directory 命名空间。
如需详细了解如何创建 Service Directory DNS 可用区,请参阅配置 Service Directory DNS 可用区。
如需了解如何使用 DNS 查询 Service Directory,请参阅使用 DNS 查询。
Terraform
创建托管反向查找专用可用区
托管反向查找地区是具有特殊属性的专用地区,它指示 Cloud DNS 对 Compute Engine DNS 数据执行 PTR 查找。您必须为 Cloud DNS 设置代管反向查找可用区才能正确解析虚拟机实例的非 RFC 1918 PTR 记录。
如需了解如何创建新的代管式反向查找专用可用区,请参阅创建代管式反向查找可用区。
创建转发区域
转发可用区可让您为特定专用可用区定位域名服务器。如需了解如何创建新的代管式专用转发可用区,请参阅创建转发可用区。
创建对等互连可用区
借助 DNS 对等互连功能,您可以将一个地区的命名空间内记录的请求发送至另一个 VPC 网络。如需了解如何创建对等互连可用区,请参阅创建对等互连可用区。
创建跨项目绑定可用区
创建可绑定到同一组织中的另一个项目拥有的网络的代管专用可用区。如需了解如何创建跨项目绑定可用区,请参阅跨项目绑定可用区。
更新代管可用区
通过 Cloud DNS,您可以修改代管公开或 代管专用可用区的某些特性。
更新公共可用区
您可以更改公开可用区的说明或 DNSSEC 配置。
控制台
在 Google Cloud 控制台中,转到 Cloud DNS 可用区页面。
点击要更新的公开可用区。
点击
修改。如需更改 DNSSEC 设置,请在 DNSSEC 下,选择 Off、On 或 Transfer。如需了解详情,请参阅为现有代管可用区启用 DNSSEC。
可选:更新说明。
点击保存。
gcloud
运行 dns managed-zones update
命令:
gcloud dns managed-zones update NAME \ --description=DESCRIPTION \ --dnssec-state=STATE
请替换以下内容:
NAME
:您的可用区的名称DESCRIPTION
:您的可用区的说明STATE
:DNSSEC 设置,例如Off
、On
或Transfer
如需修改可以看见专用地区的 VPC 网络,请执行以下操作:
控制台
在 Google Cloud 控制台中,转到 Cloud DNS 可用区页面。
点击要更新的专用可用区。
点击
修改。选择专用可用区必须在其中公开的 VPC 网络。只有您选择的 VPC 网络才有权查询该地区中的记录。
点击保存。
gcloud
运行 dns managed-zones update
命令:
gcloud dns managed-zones update NAME \ --description=DESCRIPTION \ --networks=VPC_NETWORK_LIST
请替换以下内容:
NAME
:您的可用区的名称DESCRIPTION
:您的可用区的说明VPC_NETWORK_LIST
:有权查询地区的 VPC 网络的逗号分隔列表。
更新标签
如需在代管可用区中添加新标签、更改现有标签、移除所选标签或清除所有标签,请完成以下步骤。
gcloud
运行 dns managed-zones update
命令:
gcloud dns managed-zones update NAME \ --update-labels=LABELS
gcloud dns managed-zones update NAME \ --remove-labels=LABELS
gcloud dns managed-zones update NAME \ --clear-labels
请替换以下内容:
NAME
:您的可用区的名称LABELS
:(可选)以英文逗号分隔的键值对列表,例如dept=marketing
或project=project1
;如需了解详情,请参阅 SDK 文档
列出和描述代管可用区
以下部分介绍了如何列出或描述代管可用区。
列出代管可用区
如需列出项目中的所有代管可用区,请完成以下步骤。
控制台
在 Google Cloud 控制台中,转到 Cloud DNS 可用区页面。
在右侧窗格中查看代管可用区。
gcloud
运行 dns managed-zones list
命令:
gcloud dns managed-zones list
如需列出所有托管地区,请按如下所示修改命令:
gcloud dns managed-zones list
--filter="visibility=public"
gcloud dns managed-zones list \ --filter="visibility=private"
描述代管可用区
如需查看代管可用区的特性,请完成以下步骤。
控制台
在 Google Cloud 控制台中,转到 Cloud DNS 可用区页面。
点击要检查的地区。
gcloud
运行 dns managed-zones describe
命令:
gcloud dns managed-zones describe NAME
将 NAME
替换为您的可用区名称。
删除代管可用区
删除某个网域后,其 DNS 记录会被永久移除,无法恢复。为防止 DNS 记录丢失,请在删除之前导出区域数据。如需了解如何导出区域数据,请参阅导入和导出资源记录集。
如需删除代管可用区,请完成以下步骤。
控制台
在 Google Cloud 控制台中,转到 Cloud DNS 可用区页面。
点击要删除的托管地区。
点击删除区域。
gcloud
移除该地区中除
SOA
和NS
记录之外的所有记录。 如需了解详情,请参阅移除记录。您可以通过将空文件导入记录集来快速清空整个地区。如需了解详情,请参阅导入和导出记录集。 例如:touch empty-file gcloud dns record-sets import -z NAME \ --delete-all-existing \ empty-file rm empty-file
将
NAME
替换为您的可用区名称。如需删除新的代管专用可用区,请运行
dns managed-zones delete
命令:gcloud dns managed-zones delete NAME
将
NAME
替换为您的可用区名称。
后续步骤
- 如需了解您在使用 Cloud DNS 时可能会遇到的常见问题的解决方案,请参阅问题排查。
- 如需配置 Cloud DNS 服务器政策并将这些政策应用于 VPC 网络,请参阅应用 Cloud DNS 服务器政策。
- 如需将 IDN 与 Cloud DNS 搭配使用,请参阅创建使用国际化域名的可用区。
- 如需显示操作的审核日志,请参阅查看代管可用区的操作。