问题描述
我们目前正在从一台主机迁移到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