将您的 Google Domains DNS 设置迁移到 Cloud DNS 或其他提供商

<ph type="x-smartling-placeholder">

本页将介绍如何迁移 Google Domains DNS 设置和 导出您的网域和电子邮件转发配置(如果您使用 Google Domains 作为您的 DNS 提供商。

准备工作

检查您是否使用 Google Domains 作为 DNS 以及您是否设置了域名或电子邮件转发。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Domains 页面。

    前往 Cloud Domains

    Registrations 页面列出了您的注册。

  2. 点击您要获取信息的域名。

    您可以查看特定网域是否将 Google Domains 用作 或者域名是否具有域名或电子邮件转发 配置。

gcloud

如需查看特定域名的注册详细信息,请使用 gcloud domains registrations describe 命令

gcloud domains registrations describe DOMAIN_NAME

DOMAIN_NAME 替换为 例如,example.app

如果您的网域使用 Google Domains 作为 DNS 提供商, 输出的 dnsSettings 部分与以下示例类似:

dnsSettings:
    googleDomainsDns:

如果您的网域使用了域名或电子邮件转发配置, 输出的 dnsSettings 部分与以下示例类似:

dnsSettings:
    ...
    googleDomainsRedirectsDataAvailable: true

将 Google Domains DNS 设置迁移到 Cloud DNS

如需迁移 Google Domains DNS 设置,请按以下步骤操作。

gcloud

  1. 为您的网域创建公开的托管式区域。

    使用 dns managed-zones create 命令

    gcloud dns managed-zones create ZONE_NAME \
        --description=DESCRIPTION \
        --dns-name=DOMAIN_NAME \
        --visibility=public \
        [--labels=LABELS] \
        [--dnssec-state=DNSSEC_STATE]
    

    替换以下内容:

    • ZONE_NAME:您的可用区的名称
    • DESCRIPTION:您的可用区的说明
    • DOMAIN_NAME:您的 可用区,例如 example.com。要将 DNS 区域用于 您必须确保可用区中的 DNS 后缀 与域名匹配。请注意,example.comexample.com. 视为对等
    • LABELS:以英文逗号分隔的键值对列表 例如 dept=marketingproject=project1。此标志是可选的。 如需了解详情,请参阅 SDK 文档
    • DNSSEC_STATE:您的地区的 DNSSEC 状态。有关 信息,请参阅 DNS 安全扩展 (DNSSEC) 概览。此标志不是必需的。
  2. 为您的网域停用 DNSSEC。

    如果 DNSSEC 已启用,请将其停用并等待 24 小时 以使更改生效。

    使用 gcloud domains registrations configure dns 命令

    gcloud domains registrations configure dns DOMAIN_NAME \
        --disable-dnssec
    

    DOMAIN_NAME 替换为相应域名的域名 您要停用 DNSSEC 的服务

  3. 从您的 Google Domains DNS 检索 DNS 记录信息 可用区。

    使用 gcloud domains registrations google-domains-dns export-dns-record-sets 命令

    gcloud domains registrations google-domains-dns export-dns-record-sets DOMAIN_NAME \
        --records-file=RECORDS_FILE \
        --zone-file-format
    

    替换以下内容:

    • DOMAIN_NAME:您要为哪个网域创建 检索 DNS 记录信息
    • RECORDS_FILE:记录的目标文件 (例如 records.zonefile
  4. 将记录导入到 Cloud DNS 区域。

    使用 dns record-sets import 命令--zone-file-format 标志将 import 命令设置为需要 BIND 。如果省略此标志,则 import 会获取 YAML 文件:

    gcloud dns record-sets import RECORDS_FILE \
        --zone=ZONE_NAME \
        --zone-file-format \
        --delete-all-existing
    

    替换以下内容:

    • RECORDS_FILE:从中记录记录的文件 集,例如 records.zonefile
    • ZONE_NAME:其托管区域的名称 以及您想要管理的
  5. 开始使用迁移后的 Cloud DNS 区域。

    使用 gcloud domains registrations configure dns 命令:

    gcloud domains registrations configure dns DOMAIN_NAME \
        --cloud-dns-zone=ZONE_NAME
    

    替换以下内容:

    • DOMAIN_NAME:已注册实体的名称 网域,例如 example.app
    • ZONE_NAME:其托管区域的名称 以及您想要管理的
  6. 监控您的网域。如果您遇到任何 DNS 配置问题 回滚迁移。

    使用 gcloud domains registrations configure dns 命令:

    gcloud domains registrations configure dns DOMAIN_NAME --use-google-domains-dns
    

    DOMAIN_NAME 替换为已注册实例的名称 网域,例如 example.app

  7. 可选:为您的网域启用 DNSSEC。

    1. 完成第 5 步后,等待至少 24 小时。
    2. 使用 gcloud domains registrations configure dns 命令:
    gcloud domains registrations configure dns DOMAIN_NAME \
      --cloud-dns-zone=ZONE_NAME \
      --no-disable-dnssec
    

    替换以下内容:

    • DOMAIN_NAME:已注册实体的名称 网域,例如 example.app
    • ZONE_NAME:其托管式区域的名称 您要停用 DNSSEC

将您的域名和电子邮件转发配置导出到其他托管服务提供商

gcloud

  1. 为您的网域停用 DNSSEC。

    如果启用了 DNSSEC,则必须将其停用并等待 24 小时, 以使更改生效。

    使用 gcloud domains registrations configure dns 命令

    gcloud domains registrations configure dns DOMAIN_NAME \
        --disable-dnssec
    

    替换以下内容:

    • DOMAIN_NAME:要为哪个网域创建 您要停用 DNSSEC
  2. 导出您的 Google Domains DNS 配置。

    使用 gcloud domains registrations google-domains-dns export-dns-record-sets 命令

    gcloud domains registrations google-domains-dns export-dns-record-sets DOMAIN_NAME \
        --records-file=RECORDS_FILE \
        --zone-file-format
    

    替换以下内容:

    • DOMAIN_NAME:您要为哪个网域创建 检索 DNS 记录信息
    • RECORDS_FILE:记录集必须分配到的文件 导出(例如 records.zonefile
  3. 检索您的 Google Domains 域名和电子邮件转向 配置。

    使用 gcloud domains registrations google-domains-dns get-forwarding-config 命令

    gcloud domains registrations google-domains-dns get-forwarding-config DOMAIN_NAME
    

    DOMAIN_NAME 替换为已注册实例的名称 网域,例如 example.app

  4. 将 DNS 记录和转发配置导入您的新主机 提供商。如需了解相关说明,请与您的托管服务提供商联系。

  5. 为新托管服务配置域名和转发设置 提供商。如需了解相关说明,请与您的托管服务提供商联系。

    如果您有 MXCNAME 记录,请确保 配置这些记录,以将服务重定向到新的托管服务提供商。

  6. 更新您网域的域名服务器。您可以从 从新的托管服务提供商处获取

    使用 gcloud domains registrations configure dns 命令:

    gcloud domains registrations configure dns DOMAIN_NAME \
        --name-servers=NAME_SERVERS_LIST
    

    NAME_SERVERS_LIST 替换为 DNS 域名服务器列表 。

  7. 监控您的网域。如果您遇到任何 DNS 配置问题 回滚迁移。

    使用 gcloud domains registrations configure dns 命令:

    gcloud domains registrations configure dns DOMAIN_NAME --use-google-domains-dns
    
  8. 可选:在托管服务提供商处为您的 DNS 区域启用 DNSSEC。

    1. 为 DNS 区域启用 DNSSEC 后,请等待 24 小时。
    2. 为您的网域启用 DNSSEC。

      使用 gcloud domains registrations configure dns 命令:

      gcloud domains registrations configure dns DOMAIN_NAME \
          --dns-settings-from-file=DNS_SETTINGS_FILE_NAME
      

      替换以下内容:

      • DOMAIN_NAME:已注册实体的名称 网域,例如 example.app
      • DNS_SETTINGS_FILE_NAME:YAML 文件 所需的 DNS 设置。如果已指定,则其内容 替换注册资源中使用的值。如果 YAML 文件缺少一些 dns_settings 字段, 这些字段将被移除

        文件内容示例:

        customDns:
            nameServers:
            - new.ns1.com
            - new.ns2.com
            dsRecords:
            - keyTag: 24
              algorithm: RSASHA256
              digestType: SHA256
              digest: ab1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d
        

后续步骤