将同一域的 DNS 记录分成多个区域

将同一域的 DNS 记录分成多个区域

我认为在一个区域中设置 MX 记录是个好主意,同时使用 Terraform(使用 GCP)管理的另一个区域来处理我正在设置的 Web 服务器的 A 记录和 CNAME。两个区域都有合理的 DNS 名称(例如“example.com”)。

我最终得到了两组不同的 NS 记录来配置为域的名称服务器,因此我从第一组添加了 2 个服务器,从第二组添加了 2 个服务器,这意味着:

  • ns-cloud-c1.googledomains.com
  • ns-cloud-c2.googledomains.com
  • ns-cloud-d1.googledomains.com
  • ns-cloud-d2.googledomains.com

名称服务器 c1-c4 包含具有 DNS 区域的 MX 记录,该区域不是由 Terraform 管理,而名称服务器 d1-d4 包含由 Terraform 管理的 A 和 CNAME 记录。

当我检查传播时https://dnschecker.org/,我最终得到了一些奇怪的行为,每次刷新都会给我不同的结果,并且从未完全传播。

对 A 记录进行一些刷新:

刷新 #1 在此处输入图片描述 刷新 #2 在此处输入图片描述 刷新 #3 在此处输入图片描述

对于 MX 记录

刷新 #1 在此处输入图片描述 刷新 #2 在此处输入图片描述

我的目标是为“example.com”建立一个完全由 Terraform 管理的 DNS 区域(用于 A 和 CNAME 记录),以便可以销毁它而不会影响 MX 记录。我的问题是:

  1. 为什么会发生这种行为?意思是,在传播的一半时记录尚未解决,但在下一次刷新时却显示已解决。

  2. 我是否应该将我的域名与不同区域中的多个 NS 记录关联?(例如 ns-cloud-[cde][1234].googledomains.com)

3.- 我可以让 1 个区域指向另一个区域,以便我的 DNS 记录以某种方式共享吗?并且只为我的域配置一组 NS 记录。

4.- 对同一域名使用多个区域时最佳做法是什么(不涉及子域名)

答案1

您不能为同一个域设置具有不同资源记录集的不同区域。您的域的 NS 记录指定的每个名称服务器都应具有完全相同的资源记录集。

如果您不希望某些资源记录被破坏,terraform destroy请使用terraform lifecycle prevent_destroy属性。

相关内容