将服务器迁移到gcloud,但保留现有域的虚名服务器

问题描述

我们目前正在从一台主机迁移到Google云平台。

但是有一件事使我们感到困惑。我们有许多与我们一起设置自定义域的客户。他们中的许多人通过将其名称服务器更新为以下内容来做到这一点:

  • ns1.mydomain.com
  • ns2.mydomain.com
  • ns3.mydomain.com

但是,当我们将域区域添加到gcloud时,似乎每个域都随机分配了不同的NS记录。

一些被分配了以下内容

ns-cloud-a1.googledomains.com,ns-cloud-a2。,ns-cloud-a3。

其他人得到

ns-cloud-b1。,ns-cloud-c1。,ns-cloud-d1。*等。

在迁移后如何使当前的自定义域继续工作?我们已经建立了数百个自定义域,并且希望迁移到gcloud,而无需客户进行任何更改。

我们最初的迁移计划是:

  • 将mydomain.com的区域添加到Google云DNS并记录NS记录
  • 将所有客户自定义域的区域添加到云DNS
  • 更新我们的nsX.mydomain.com名称服务器,使其指向mydomain.com的NS记录的IP地址
  • 所有现有自定义域都应继续工作,无论其NS记录如何(理论上)

但是,我不确定这是否是正确的方法

我对某些事情特别困惑:

  • 我们是否需要将gcloud中自定义域的NS记录设置到nsX.mydomain.com服务器?我们目前未在cPanel中为这些域指定任何NS记录。
  • 在gcloud中将自定义域分配给哪个名称服务器是否重要? (某些用户使用ns-cloud-a1,另一些用户使用ns-cloud-b1)
  • 我们希望该DNS传输会出现任何停机时间吗?

在此方面提供的任何帮助将不胜感激。谢谢。

解决方法

Cloud DNS将每个公共托管区域分配给五个名称服务器分片之一。分片是权威名称服务器名称中数字前面的字母,因此ns-cloud-e1到ns-cloud-e4是E分片。

不能将具有相同DNS名称的多个区域分配给同一分片,因此只能使用完全相同的DNS名称创建五个区域。有关更多信息,请参阅Nameserver limits

例如,您将 mydomain.com 设置为 zone1 ,将NS设置为 ns-cloud-bX.googledomains.com。,但是当您使用相同的域名创建区域时,您将获得 ns-cloud-eX.googledomains.com。

针对您的情况:

  • 创建managed Zone
  • 相应地复制NS列表,然后更新@域注册器。这些NS记录将解决对mydomain.com的查询。

仅由DNS注册服务机构指向的DNS名称服务器将解决重要的请求。但是,通过在其父域的区域中创建NS(名称服务器)记录来delegated的子域也需要具有自己的区域。

您在注册商记录中设置的time to live (TTL)会告诉您要开始使用新名称服务器之前需要等待多长时间。

,

通过为每个名称服务器添加多个A记录,我能够使它正常工作

因此对于ns1.mydomain.com,我添加了216.239.32.106、216.239.32.107、216.239.32.108、216.239.32.109、216.239.32.110的A记录。

这些是ns-cloud-a1。,ns-cloud-b1。,ns-cloud-c1的ips。等。您可以通过为每个名称服务器运行此命令来找到

host ns-cloud-a1.googledomains.com

我对ns2也做了同样的事情。和ns3。在每个分片(即ns-cloud-a2。,ns-cloud-b2。和ns-cloud-a3。,ns-cloud-b3。)中为第二个和第三个名称服务器添加A记录。

This is how the A records appear in the google cloud DNS dashboard