Google-Cloud-Platform

將 DNS 記錄分成同一域的多個區域

  • January 6, 2022

我認為在一個區域中設置 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記錄的一些刷新:

刷新#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.- 為同一個域使用多個區域時的最佳實踐是什麼(不談論子域)

對於同一域,您不能擁有具有不同資源記錄集的不同區域。NS 記錄為您的域指定的每個名稱伺服器都應具有完全相同的資源記錄集。

如果您不希望某些資源記錄被銷毀,請terraform destroy使用terraform lifecycle prevent_destroy屬性。

引用自:https://serverfault.com/questions/1089195