為什麼無法解決指向 CloudFront 分佈的別名記錄問題?

2 分的閱讀內容
0

我設定了別名記錄,該記錄指向我在 Amazon Route 53 公共託管區域中的 Amazon CloudFront 分佈。不過,我無法透過網際網路解決記錄問題。

簡短說明

下列原因可能會讓您無法解決指向 CloudFront 分佈的別名記錄:

  • 對應 CloudFront 分佈的別名記錄設定錯誤。
  • CloudFront 分佈並未列在 Route 53 主控台的別名記錄下拉式功能表中。
  • 您並未在網域的授權託管區域中建立別名記錄。
  • 網域的狀態為閒置serverHoldclientHold
  • 有與別名記錄相關聯的狀態不良運作狀態檢查。
  • 記錄不會在全域傳播。
  • 當網域開啟 DNSSEC 時,委派簽署者 (DS) 記錄會發生錯誤。

解決方法

檢查別名記錄類型

如果您的別名記錄設定錯誤,則將無法解決 DNS 記錄問題。您必須將 CloudFront 別名記錄類型設定為類型 A 而非 CNAME

如要確認 Route 53 別名記錄類型,請完成下列步驟:

1.    開啟 Route 53 主控台

2.    在導覽窗格中,選擇託管區域

3.    選取您網域的託管區域。

4.    選取您網域的 Route 53 別名記錄。

5.    在編輯記錄集中,確認別名記錄記錄類型設定為 A。如果記錄類型並未設定為 A,請更新記錄。

6.    選擇儲存記錄集

如果 CloudFront 分佈並未列在別名記錄下拉式功能表中,請建立記錄

如要建立指向您 CloudFront 分佈的別名記錄,您的分佈必須包含與記錄名稱相符的備用網域名稱。例如,如果記錄名稱為 abc.example.com,則 CloudFront 分佈必須包含名稱為 abc.example.com 的備用網域名稱。

1.    登入 CloudFront 主控台

2.    導覽至您的 CloudFront 分佈。

3.    選擇一般設定編輯

4.    在設定頁面中,將 abc.example.com 加入備用網域名稱 (CNAME)

**注意:**如果您要新增已經存在的 CNAME 記錄,就會收到下列錯誤訊息:

「您提供的一或多個 CNAME 已經與不同資源相關聯」

如要解決前述錯誤,請新增 Route 53 託管區域中的記錄。然後,選擇別名到 CloudFront 分佈以建立 abc.example.com 的別名記錄。CloudFront 分佈網域名稱列在下拉式功能表中。

檢查註冊機構設定的網域名稱伺服器

當您為網域建立託管區域時,Route 53 會將一組四個名稱伺服器指派給託管區域。只有在網域註冊機構指定名稱伺服器時,您的網域解決方法才會使用託管區域。

確認您的註冊機構傳回的四個授權名稱伺服器,與指派至您建立別名記錄的託管區域的授權名稱伺服器相同。如要檢查註冊機構設定的名稱伺服器,請執行下列命令,以在您的網域上執行 whois 查詢:

$ whois domain-name |grep 'Name Server'

檢閱指派至託管區域的名稱伺服器。如果名稱伺服器與 whois 查詢結果不相符,則您的網域解決方法不會使用託管區域。您必須在網域註冊機構更新名稱伺服器。

如果您透過 Route 53 註冊網域,請參閱新增或變更網域的名稱伺服器和 Glue 記錄。如果您透過第三方註冊網域,請參閱第三方文件,了解更新名稱伺服器的步驟。

如果未在 AWS 註冊機構正確設定名稱伺服器,請完成下列步驟:

1.    開啟 Route 53 主控台

2.    選擇已註冊的網域

3.    選取您的網域。

4.    選擇新增/編輯名稱伺服器

5.    將目前的名稱伺服器替換為下列名稱伺服器。在下列範例中,請將 xxx 預留位置替換為您名稱伺服器的正確值。
ns-xxx.awsdns-xx.org.
ns-xxx.awsdns-xx.com.
ns-xxx.awsdns-xx.net.
ns-xxx.awsdns-xx.co.uk.

6:    選擇儲存

檢查網域狀態

如果網域狀態為閒置ServerHoldclientHold,則無法解決網域問題。您可以執行 whois 查詢命令來檢查網域狀態:

$ whois domain-name |grep 'Domain Status'

確認與別名記錄相關聯的運作狀態檢查

如果有與別名記錄相關聯的運作狀態檢查,然後檢查運作狀態檢查的狀態。在 DNS 查詢期間傳回的值取決於路由政策和記錄的運作狀態檢查組態。

檢查記錄傳播

通常,Route 53 會在 60 秒內,將 DNS 記錄更新傳播至授權 DNS 伺服器的 Route 53 全球網路。但是,緩存 DNS 解析器超出了 Route 53 的範圍。因此,Amazon Route 53 會根據資源記錄集的 TTL 值快取您的資源記錄集。

本機解析器會快取先前的記錄值,取得已設定 TTL 的持續時間。在某些情況下,可能發生負面快取,其中解析器會從授權名稱伺服器快取 NXDOMAIN 結果。如要檢查是否有負面快取,請直接傳送查詢到指派給您網域託管區域的名稱伺服器,以查看回應。以下是檢查負面快取的命令範例:

$ dig domain-name @ns-2041.awsdns-63.co.uk

DNSSEC 為開啟狀態時,請檢查 DS 記錄

當 DNSSEC 為開啟狀態,DS 記錄會在父託管區域和子託管區域之間建立信任鏈。此記錄包含用於簽署 DNS 區域之區域簽署金鑰 (ZSK) 的公開金鑰簽署金鑰 (KSK) 摘要,以及簽署演算法類型。您必須將 DS 記錄加入委派的父區域。DS 記錄是位於父區域的授權資料。

例如,「example.com」的 DS 記錄儲存在「.com」區域 (父區域),而非「example.com」區域 (子區域)。

將公開 KSK 和簽署演算法類型提供給您的網域註冊機構,以建立 DS 記錄。網域註冊機構會將公開 KSK 和演算法類型轉送給頂層網域的登錄檔。

AWS 官方
AWS 官方已更新 1 年前