如何透過 Route 53 驗證 ACM 憑證?

2 分的閱讀內容
0

我想透過 Amazon Route 53 驗證 AWS Certificate Manager (ACM) 憑證。

簡短說明

可以使用兩種方法來驗證 ACM 憑證的網域擁有權:

  1. DNS 驗證
  2. 電子郵件驗證

當您使用 DNS 驗證來請求 ACM 憑證時,ACM 會提供一個 CNAME 記錄,您必須將該 CNAME 記錄新增至您的 DNS 組態。ACM 會使用 CNAME 記錄來驗證網域擁有權。ACM 驗證網域擁有權之後,憑證狀態會從待驗證更新為已發行

解決方法

**注意:**如果在執行 AWS Command Line Interface (AWS CLI) 指令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI

如果 Route 53 是網域的 DNS 服務供應商,則您可以使用 ACM 主控台中的一鍵式選項來建立 CNAME。當您選取此選項時,ACM 會自動將記錄新增至網域的 Route 53 託管區域。

但是,如果出現下列任一情況,則必須手動新增 CNAME 記錄:

  • 同一網域中有多個託管區域。
  • 您的託管區域位於不同的帳戶中。

Apex 網域憑證請求

確定名稱伺服器 (NS) 記錄

1.    若要尋找適當託管區域的 DNS 組態,請執行下列命令:

對於 Linux 和 macOS:

$ dig NS example.com

對於 Windows:

$ nslookup -type=ns example.com

**注意:**將 example.com 替換為您的網域名稱。

2.    此命令會提供一些名稱伺服器,這些名稱伺服器包含在網域 DNS 組態的名稱伺服器 (NS) 記錄中。將 CNAME 記錄新增至 Route 53 託管區域,該區域與輸出中的名稱伺服器具有相同的 NS 記錄。

以下是輸出範例:

$ dig example.com NS
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.2 <<>> example.com
NS
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56071
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:
;example.com. IN NS

;; ANSWER SECTION:
example.com. 300 IN NS ns-199x.awsdns-xx.co.uk.
example.com. 300 IN NS ns-29x.awsdns-xx.com.
example.com. 300 IN NS ns-54x.awsdns-xx.net.
example.com. 300 IN NS ns-120x.awsdns-xx.org.

在 Route 53 中新增 CNAME 記錄

使用 NS 值識別適當的託管區域後,請將 CNAME 記錄新增至該區域:

1.    開啟 Route 53 主控台

2.    導航到網域的託管區域。此託管區域必須與您在先前任務中識別的名稱伺服器具有相同的 NS 記錄。

3.    選擇建立記錄

4.    對於名稱,輸入 ACM 產生的 CNAME 的記錄名稱,但不包括網域部分。如需詳細資訊,請參閱 ACM 的 CNAME 記錄如何運作

5.    對於,輸入 ACM 提供的完整記錄值

6.    對於記錄類型,選擇 CNAME - 將流量路由到另一個網域名稱和某些 AWS 資源

7.    對於路由政策,選擇簡便路由

8.    選擇建立記錄

驗證 CNAME 記錄的解析度

若要確認 Route 53 是否已將 CNAME 記錄新增至您的 DNS 組態,請執行類似於下列範例的命令:

對於 Linux 和 macOS:

dig +short _example-cname.example.com

對於 Windows:

nslookup -type=cname _example-cname.example.com

**注意:**使用您的 ACM CNAME 記錄取代 example-cname.example.com

如果成功地新增並傳播 CNAME 記錄,則命令會在輸出中傳回 CNAME 記錄的值。

子網域憑證請求

您的子網域有個別的託管區域

遵循先前描述的 Apex 網域憑證請求步驟,並識別子網域的 NS 記錄。為此,請使用命令中的子網域取代網域名稱。

如果您收到帶有 NS 值的輸出,請在子網域的託管區域中新增 CNAME 記錄,以符合輸出的 NS 值。

如果您在執行命令之後沒有收到 NS 記錄,請確認在 Apex 網域和子網域之間正確設定了子網域委派。為此,請在 Apex 網域的託管區域中使用子網域的 NS 記錄建立資源記錄。如需詳細資訊,請參閱如何為透過 Route 53 託管的網域建立子網域?

您的子網域沒有個別的託管區域

如果子網域沒有個別的託管區域,請在 Apex 網域的託管區域中新增 CNAME 記錄。然後,使用先前描述的 Apex 網域憑證請求步驟來驗證 CNAME 記錄是否如預期解析。

**注意:**如果 DNS 組態最近發生變更,您可能會遇到基於 TTL 值的傳播延遲情況。

AWS 官方
AWS 官方已更新 10 個月前