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

如果您使用 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 处于启用状态,请停用 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:包含所需 DNS 设置的 YAML 文件。如果指定,其内容会替换注册资源中使用的值。如果 YAML 文件缺少一些 dns_settings 字段, 这些字段将被移除

        文件内容示例:

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

后续步骤