Cloud DNS 支持将现有 DNS 网域从其他 DNS 提供商迁移到 Cloud DNS。以下过程介绍了如何完成必要的步骤,包括为您的网域创建托管地区、从现有提供商导出 DNS 配置、将现有 DNS 配置导入 Cloud DNS、更新注册商的域名服务器记录,以及最后验证迁移。
准备工作
如果您未使用过 Google Cloud CLI,请设置 gcloud CLI。
如需指定项目名称并进行 Google Cloud Console 身份验证,请运行以下命令:
gcloud auth login
您还可以在命令中指定
--project
参数,以对该调用的其他项目执行操作。
创建托管地区
如需迁移现有网域,请首先创建一个用于存放您的 DNS 记录的托管地区。创建可用区后,除非您更新网域注册、将解析器指向新可用区或查询您可用区的一个域名服务器,否则新可用区不会使用。
gcloud
如需创建可用区,请运行 dns managed-zones create
命令:
gcloud dns managed-zones create --dns-name=example.com. --description=A_ZONE EXAMPLE_ZONE_NAME
请替换以下内容:
example.com.
:DNS 名称A_ZONE
:可用区的说明EXAMPLE_ZONE_NAME
:用于标识 DNS 可用区的名称
从现有提供商导出 DNS 配置
如需导出可用区文件,请参阅提供商的文档。Cloud DNS 支持以 BIND 或 YAML 记录格式导入可用区文件。
例如:
对于不支持导出的 AWS Route 53,您可以使用开源 cli53 工具。
导入记录集
从其他提供商导出文件后,您可以使用 gcloud
命令将其导入代管可用区。
如需正确导入记录集,您必须移除顶层记录或使用 gcloud
标签页中所述的标志。
gcloud
如需导入记录集,请使用 dns record-sets import
命令。--zone-file-format
标志通知 import
进程准备接收 BIND 格式的可用区文件。如果省略此标志,则 import
会准备接收 YAML 格式的记录文件:
gcloud dns record-sets import -z=EXAMPLE_ZONE_NAME --zone-file-format path-to-example-zone-file
将 EXAMPLE_ZONE_NAME
替换为您的 DNS 可用区名称。
验证 DNS 传播
如需监控和验证 Cloud DNS 域名服务器是否已提取您的更改,您可以使用 Linux watch
和 dig
命令。
gcloud 和 Linux
如需查找您的可用区的 Cloud DNS 域名服务器,请运行
dns managed-zones describe
命令:gcloud dns managed-zones describe EXAMPLE_ZONE_NAME
将
EXAMPLE_ZONE_NAME
替换为您的 DNS 可用区名称。输出如下所示:
nameServers: - ns-cloud-a1.googledomains.com. - ns-cloud-a2.googledomains.com. - ns-cloud-a3.googledomains.com. - ns-cloud-a4.googledomains.com.
在输出中,名称的
ns-cloud-
部分后面的字母称为域名服务器“分片”。这样的分片共有 5 个(字母 A-E)。如需详细了解分片,请参阅域名服务器限制。检查域名服务器上是否有可用的记录。
watch dig example.com @ZONE_NAME_SERVER
将 ZONE_NAME_SERVER 替换为运行前一命令时返回的其中一个域名服务器。
看到更改后,按
Ctrl+C
退出。
默认情况下,watch
命令每 2 秒运行一次 dig
命令。您可以使用此命令来确定权威域名服务器何时拾取您的更改(应在 120 秒内执行此操作)。
更新注册商的域名服务器记录
登录您的注册商提供商,然后更改权威域名服务器,使其指向您在第 1 步中看到的域名服务器。同时,记下您的注册商为这些记录设定的生存时间 (TTL)。这样,您就会了解系统会在多久之后开始采用新的域名服务器。
等待更改,然后验证
如需在互联网上查看您的网域的权威域名服务器,请运行以下 Linux 命令:
dig +short NS example.com
如果输出显示所有更改都已传播,则表示任务已完成。否则,您可以进行间歇性检查,或者在等待域名服务器更改期间每 2 秒自动运行一次命令。为此,请运行以下命令:
watch dig +short NS example.com
按 Ctrl+C
退出此命令。
如果您不使用 Linux,则可以使用 nslookup
命令。
后续步骤
- 如需添加、删除或更新记录,请参阅管理记录。
- 如需将 JSON 格式用于 Cloud DNS 记录类型,请参阅记录格式 (JSON)。
- 如需了解您在使用 Cloud DNS 时可能会遇到的常见问题的解决方案,请参阅问题排查。
- 如需大致了解 Cloud DNS,请参阅 Cloud DNS 概览。
- 如需了解 Cloud DNS 命令行,请参阅 Google Cloud CLI 文档。