跳至內容

如何對 Route 53 公有託管區域中所記錄的 DNS 解析問題進行疑難排解?

3 分的閱讀內容
0

我想要解決 Amazon Route 53 託管區域中的網域和記錄的 DNS 解析問題。

簡短描述

以下問題可能會導致 Route 53 託管區中的網域和記錄無法進行 DNS 解析:

  • 您的註冊商和 Route 53 名稱伺服器之間的設定不一致。
  • Route 53 中的 DNS 記錄不正確。
  • 頻繁變更記錄。
  • 子網域委派不正確。
  • DNS 傳播延遲
  • 防火牆或網路存取控制清單 (網路 ACL) 阻擋了 DNS 回應。
  • 影響路由的運作狀態檢查。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

對註冊商和 Route 53 名稱伺服器之間,設定不一致的問題進行疑難排解

如果您在網域註冊商所設定的名稱伺服器與 Route 53 託管區域中的名稱伺服器不一致,您的網域將無法正確解析。

若要確認您的名稱伺服器是否一致,請完成以下步驟:

  1. 執行 whois 命令以檢查註冊商層級的名稱伺服器:
    whois example-url | grep example-name-server
    **注意:**將 example_url 替換為您的網址,並將 example_name_server 替換為您的名稱伺服器。
  2. 使用 Route 53 主控台取得託管區域的名稱伺服器
  3. whois 命令的輸出結果與您託管區域的名稱伺服器進行比較。
  4. 如果名稱伺服器不一致,請更新您的註冊商,使其與您的託管區域名稱伺服器相符。
    根據下列範例輸出結果,您必須更新註冊商,以加入 ns-2050.awsdns-66.orgns-2051.awsdns-67.co.uk
    whois 輸出:
    Name Server: ns-2048.awsdns-64.com  
    Name Server: s-2049.awsdns-65.net
    託管區域中的名稱伺服器:
    ns-2048.awsdns-64.com  
    ns-2049.awsdns-65.net  
    ns-2050.awsdns-66.org  
    ns-2051.awsdns-67.co.uk

對 Route 53 中的錯誤 DNS 記錄進行疑難排解

執行 dig 命令,以根據您的 DNS 記錄類型顯示 DNS 記錄:

dig example_type example_url +short

**注意:**將 example_type 替換為您的 DNS 記錄類型,並將 example_url 替換為您的網址。

接著,請根據您的 DNS 記錄類型,完成以下疑難排解步驟。

A

範例輸出結果:

192.0.2.44

確認輸出中的 IP 位址與伺服器主機的 IP 位址相符。

TXT

範例輸出結果:

"v=spf1 include: _spf.example _ url ~all"

在兩個部分之間留一個空格,且不要用雙引號將您的 TXT 值括起來。如需更多資訊,請參閱如何解決在使用 DKIM 語法建立 TXT 記錄時,收到的 錯誤?"CharacterStringTooLong (Value is too long) encountered with {Value}"

MX

範例輸出結果:

10 mail.example_URL.com

Route 53 不支援在記錄名稱中使用 @ 符號。如果您的記錄名稱包含 @ 符號,請將其移除。

CNAME

範例輸出結果:

www.example_url.com

確認您的記錄是否指向正確的網址。

AAAA (IPv6)

範例輸出結果:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

確認 IPv6 位址與您的伺服器組態相符。

有關 Route 53 支援的完整 DNS 記錄類型清單,請參閱支援的 DNS 記錄類型

對導致意外 DNS 快取的頻繁記錄變更問題進行疑難排解

DNS 遞迴解析程式會根據您路由政策的存留時間 (TTL) 值快取 DNS 記錄。如果您頻繁變更記錄,由於 DNS 快取的關係,您的變更不會立即傳播。

執行 dig 命令檢查您的 TTL 值:

`dig example_url +ttlunits`

**注意:**將 example_url 替換為您的網址。

在以下範例輸出結果中,example_url TTL 值為 300 秒:

example_url 300 IN A 192.0.2.44

在變更 DNS 記錄之前,請將 TTL 值調低至 60 秒或更短。然後,從多個位置執行 dig 命令,以確認新的 TTL 值已生效。您也可以從不同的 ISP 執行 nslookup 命令,以檢查 TTL 值:

nslookup -type=A -debug www.example_url.com

有關 TTL 值的最佳實務,請參閱 Amazon Route 53 DNS 的最佳實務中的選擇 DNS 記錄的 TTL 值一節。

對不正確的子網域委派問題進行疑難排解

檢查您的子網域委派是否有錯誤,導致名稱解析失敗。

**注意:**在下列範例中,sub.example.comexample.com 的子網域。

執行 digtrace 命令來識別您網域的名稱伺服器記錄:

dig +trace sub.example.com

在以下範例輸出結果中,ns-123.awsdns-45.netns-124.awsdns-46.orgsub.example.com 名稱伺服器:

;; Received 512 bytes from a.root-servers.net  
...  
sub.example.com. 300 IN NS ns-123.awsdns-45.net.  
sub.example.com. 300 IN NS ns-124.awsdns-46.org.

確認子網域的名稱伺服器記錄是否與以下區域中的 DNS 名稱伺服器記錄相符:

  • 您的上層區域
  • Route 53 中的委派區域

如果您子網域的名稱伺服器記錄與 DNS 名稱伺服器記錄不一致,請更新您的 DNS 服務

如需詳細資訊,請參閱如何對 Route 53 中新子網域的 DNS 解析問題進行疑難排解?

對 DNS 傳播延遲問題進行疑難排解

若要檢查您的網域名稱在全網域的傳播情況,請使用 whatsmydns.net 網站上的 DNS 傳播檢查工具。確認您的記錄值已在全域每個位置都進行了更新。

如果您的記錄值不一致,請確保您的 TTL 值為 60 秒或更短,然後清除您的 DNS 快取。如果您仍然遇到 DNS 記錄傳播延遲的問題,請聯絡您的註冊商或 DNS 提供者尋求協助。

對阻擋 DNS 回應的防火牆或網路 ACL 問題進行疑難排解

確認伺服器和虛擬私有雲 (VPN) 中的防火牆和網路 ACL 允許連接埠 53 上的流量。

對影響路由的運作狀態檢查問題進行疑難排解

如果您的網域未通過運作狀態檢查,那麼 Route 53 可能會將該網域的 DNS 記錄從 DNS 回應中移除。

執行以下 get-health-check-status AWS CLI 命令,以檢查您網域的運作狀態檢查狀態:

aws route53 get-health-check-status --health-check-id example-domain-ID

**注意:**將 example-domain-ID 替換為您的網域識別號碼。

如果您網域的狀態顯示為失敗上次失敗原因,則對運作狀態檢查不良的問題進行疑難排解

相關資訊

建立使用 Amazon Route 53 作為 DNS 服務的子網域,而無需遷移上層網域

AWS 官方已更新 3 個月前