如何在2个项目之间移动Google Cloud DNS条目?

时间:2019-11-12 18:09:31

标签: google-cloud-platform google-cloud-dns

我想做一件非常简单的事情,但是看起来几乎是不可能做的。

我的Google Cloud DNS帐户中有不同的项目。

我想将某些条目(域)从一个项目移动(迁移?)到另一个项目。我不想删除/重新创建路径,因为所有域都处于活动状态,并且我不希望出现任何停机情况。看起来此过程似乎还需要在注册商处创建需要更改的新NS条目...

这可能吗?

2 个答案:

答案 0 :(得分:0)

如果要更改DNS服务器,则还必须在注册服务商处更改名称服务器条目。在注册服务商处的名称服务器条目是DNS服务器的位置。

您可以将条目从一个DNS服务器克隆到同一域的另一个DNS服务器。然后,在注册器上更改名称服务器条目以指向新的DNS服务器。请记住,此更改不是即时的。域条目(资源记录)被缓存在Internet上,这些条目过期可能需要一些时间。多长时间:这取决于每条记录的TTL设置(您可以控制)和Internet上其他服务器的缓存到期时间(您无法控制)。请计划72小时,在某些情况下,如果您有一个受欢迎的域名,一个月后仍会查询旧的名称服务器。

您可以拥有一组以上的DNS服务器。我通常会同时在Google Cloud DNS和Amazon Route53中设置域-但是在注册服务商处只有一组处于活动状态。这是一种备份和灾难恢复策略,通常不用于日常操作。我具有比较两个DNS服务器集并通知我DNS资源记录更改/添加/删除的云功能。这将创建一个伪日志记录和审核跟踪。

现在回答您的问题:

  

我想从一个目录中移出(迁移?)某些条目(域)   项目到另一个。我不想去删除/重新创建路径   因为所有域都处于活动状态,所以我不希望停机。它也是   看起来这个过程创建了需要更改的新NS条目   注册商...

您无需删除一个DNS服务器中的条目即可在另一个DNS服务器中创建它们。但是,您需要在注册服务商处更改名称服务器,以使新的DNS服务器处于活动状态,并为您的域提供权威性的响应。

如果您决定更改DNS服务器,请让旧的DNS服务器至少运行一周,最好是一个月,以便对以前的DNS服务器的查询仍然有效。

答案 1 :(得分:0)

是的,这是可能的。假设 project-a 是您要迁移的项目,而 project-b 是您要迁移到的项目。

导出您的记录集:

gcloud dns记录集导出$ FILENAME --zone $ YOUR_ZONE --project project-a

项目-b

中创建一个托管区域

gcloud dns受管区域创建$ NAME --dns-name = your.com。 --description $ DESC --project project-b

导入记录集。 在执行此操作之前,您需要删除标准记录(也许有人知道如何做得更好)。

编辑在导出记录集时在上面创建的$ FILENAME,并删除与以下内容完全相同的两项:

---
kind: dns#resourceRecordSet
name: clevar.cloud.
rrdatas:
- ns-cloud-c1.googledomains.com.
- ns-cloud-c2.googledomains.com.
- ns-cloud-c3.googledomains.com.
- ns-cloud-c4.googledomains.com.
ttl: 21600
type: NS
---
kind: dns#resourceRecordSet
name: clevar.cloud.
rrdatas:
- ns-cloud-c1.googledomains.com. cloud-dns-hostmaster.google.com. 14 21600 3600 259200
  300
ttl: 21600
type: SOA

保存文件后,将其导入到 project-b

中的新托管区域中

gcloud dns记录集导入$ FILENAME --zone $ YOUR_ZONE --project project-b

最后,当您在Cloud Console中查看托管区域(例如https://console.cloud.google.com/net-services/dns/zones/$YOUR_ZONE/details?project=project-b)时,您会在登录名的右上方看到“ REGISTRAR SETUP”的文本

单击该按钮,并确保您的域名服务器记录与该框中的内容匹配。

当我完成此操作时,两个项目使用不同的名称服务器,因此我不必担心两个项目试图管理DNS时发生冲突。如果它们相同,则可以在 project-a 上禁用DNS API,而不会丢失任何数据。

确认所有记录集都已存在于project-b中,并且已与域注册商正确设置了NS记录,则应创建一个测试记录,并将其用作确认一切正常/已传播的一种方式

**注意:我经过了上面的过程,并在一个小时的传播时间内移动了我的区域,但是,您可能没有那么幸运,所以请在假设它不起作用之前给它一些时间。

相关问题