迁移到 Cloud DNS

Cloud DNS 支持将现有 DNS 网域从其他 DNS 提供商迁移到 Cloud DNS。以下过程介绍了如何完成必要的步骤,包括为您的网域创建托管地区、从现有提供商导出 DNS 配置、将现有 DNS 配置导入 Cloud DNS、更新注册商的域名服务器记录,以及最后验证迁移。

准备工作

  1. 如果您未使用过 Google Cloud CLI,请设置 gcloud CLI

  2. 如需指定项目名称并进行 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 记录格式导入可用区文件。

例如:

导入记录集

从其他提供商导出文件后,您可以使用 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 watchdig 命令。

gcloud 和 Linux

  1. 如需查找您的可用区的 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)。如需详细了解分片,请参阅域名服务器限制

  2. 检查域名服务器上是否有可用的记录。

    watch dig example.com @ZONE_NAME_SERVER
    

    ZONE_NAME_SERVER 替换为运行前一命令时返回的其中一个域名服务器。

  3. 看到更改后,按 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 文档。