跳至內容

如何解決 Route 53 中的 DNS 傳播延遲和不一致問題?

2 分的閱讀內容
0

我更新了 Amazon Route 53 公共託管區域中的 DNS 記錄集,但變更所需的傳播時間比預期還長。或者,傳播過程中出現不一致的情況。

解決方法

當您更新託管區域中的記錄集時,變更會在 60 秒內傳播到所有 Route 53 邊緣節點。某些位置可能會顯示您的新 DNS 記錄值,而其他位置可能會顯示舊值。如果 DNS 記錄在不同位置顯示舊值,代表傳播尚未完成。您必須等待公有 DNS 解析器快取清除後,變更才能生效。

**注意:**在以下命令中,將 DOMAIN NAMEexample.com 替換為您的網域名稱,並將 NAME_SERVER 替換為名稱伺服器。

檢查 DNS 傳播

執行以下命令,檢查用戶端是否收到了正確的回應:

dig DOMAIN NAME @NAME_SERVER>

最佳實務是監控 DNS 記錄在不同的網際網路服務供應商 (ISP) 和 AWS 區域之間的傳播狀態。如需詳細資訊,請參閱 whatsmydns.net 網站上的 DNS 傳播檢查程式

檢查和修改 TTL 值

執行以下 dig 命令,檢查名稱伺服器記錄的存留時間 (TTL) 值是否較高:

[ec2-user@ip-172-31-93-169 ~]$ dig example.com @a.iana-servers.net

; <<>> DiG 9.18.33 <<>> example.com @a.iana-servers.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16169
;; flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com. IN A

;; ANSWER SECTION:
example.com. 300 IN A 23.192.228.80
example.com. 300 IN A 23.192.228.84
example.com. 300 IN A 23.215.0.136
example.com. 300 IN A 23.215.0.138
example.com. 300 IN A 96.7.128.175
example.com. 300 IN A 96.7.128.198

;; Query time: 0 msec
;; SERVER: 2001:500:8f::53#53(a.iana-servers.net) (UDP)
;; WHEN: Wed Jun 18 19:04:03 UTC 2025
;; MSG SIZE rcvd: 136

在命令輸出的 ANSWER SECTION (答案區段) 中,網域旁邊的數字是該記錄的 TTL (以秒為單位)。例如,example.comA 記錄 TTL 為 300 秒。

如果數字過高,請降低 TTL 值

**注意:**較低的 TTL 值可以減少傳播的停機時間,因為解析器會更頻繁地重新整理記錄。但是,較低的 TTL 值會增加 Route 53 名稱伺服器的負載。如需詳細資訊,請參閱 Amazon Route 53 如何為您的網域路由流量

確認您的網域使用託管區域的名稱伺服器

如果您的網域使用的是來自不同託管區域的名稱伺服器,則 Route 53 對 DNS 查詢的回應將不會反映您的 DNS 變更。檢查您的網域是否使用託管區域的名稱伺服器。

若要取得名稱伺服器清單,請執行以下 whois 命令:

whois DOMAIN NAME | grep "NAME SERVER"

將名稱伺服器與 Route 53 託管區域中的名稱伺服器進行比較。如果名稱伺服器不相符,請更新網域註冊機構帳戶中的名稱伺服器。

設定 IPv4 和 IPv6 記錄,以正確路由流量

**重要:**支援 IPv4 和 IPv6 的資源,在 Route 53 託管區域中需要 A 記錄和 AAAA 記錄。如果您只建立一種記錄類型,則位於僅支援 IPv4 或 IPv6 網路的用戶端無法連線。

請完成下列步驟:

  1. 開啟 Route 53 console (Route 53 主控台)。
  2. 選擇 Hosted zones (託管區域),然後選取您的託管區域。
  3. 選擇 Create record (建立記錄)。
  4. Routing policy (路由政策) 下拉式清單中,選擇 Simple routing (簡單路由)。
  5. Value (值) 文字方塊中,輸入資源 A 記錄的 IPv4 位址,或資源 AAAA 所記錄的 IPv6 位址。
  6. 選擇 Create records (建立記錄)。

注意:如果您在 Route 53 記錄名稱中使用 (@) 符號,可能會出現 DNS 傳播問題。為根網域建立記錄時,請勿在記錄名稱欄位新增值。

相關資訊

我已變更 DNS 設定,但未生效

Amazon Route 53 為公有託管區域所建立的名稱伺服器 (NS) 和起始授權 (SOA) 記錄

AWS 官方已更新 9 個月前