我认为在一个区域中设置 MX 记录是一个好主意,同时使用 Terraform 管理的另一个区域(使用 GCP)来处理我正在设置的 Web 服务器的 A 记录和 CNAMES。两个区域都有健全的 DNS 名称(例如“example.com”)
我最终得到了两组不同的 NS 记录来配置为域的名称服务器,所以我从第一个添加了 2 个服务器,从第二个添加了两个,这意味着:
- ns-cloud-c1.googledomains.com
- ns-cloud-c2.googledomains.com
- ns-cloud-d1.googledomains.com
- ns-cloud-d2.googledomains.com
名称服务器 c1-c4 包含 MX 记录,其 DNS 区域不受Terraform 管理,而名称服务器 d1-d4 包含由 Terraform 管理的 A 和 CNAME 记录。
当我使用https://dnschecker.org/检查传播时,我发现了一些奇怪的行为,每次刷新都会给我不同的结果,而且从未完全传播。
A记录的一些刷新:
对于 MX 记录
我的目标是为“example.com”建立一个由 Terraform 完全管理的 DNS 区域(用于 A 和 CNAME 记录),以便可以在不影响 MX 记录的情况下销毁它。我的问题是:
为什么会发生这种行为?意思是,在传播的一半时获取记录未解析,但在下一次刷新时出现解析。
我应该将我的域名与不同区域中的多个 NS 记录相关联吗?(例如 ns-cloud-[cde][1234].googledomains.com)
3.- 我可以让 1 个区域指向另一个区域,以便我的 DNS 记录以某种方式分片吗?并且只需使用我的域配置一组 NS 记录。
4.- 为同一个域使用多个区域时的最佳实践是什么(不谈论子域)
对于同一域,您不能拥有具有不同资源记录集的不同区域。NS 记录为您的域指定的每个名称服务器都应具有完全相同的资源记录集。
如果您不希望某些资源记录被销毁,请
terraform destroy
使用terraform
lifecycle
prevent_destroy
属性。