

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Certificate Manager DNS 驗證
<a name="dns-validation"></a>

網域名稱系統 (DNS) 是一個目錄服務，適用於連接到網路的資源。您的 DNS 供應商會維護一個資料庫，其中包含定義您網域的記錄。當您選擇 DNS 驗證，ACM 會提供一或多個 CNAME 記錄，這些記錄必須新增至此資料庫中。這些記錄包含唯一的鍵值組，可作為您控制網域的證明。

**注意**  
使用電子郵件驗證建立憑證之後，您無法切換為使用 DNS 進行驗證。若要使用 DNS 驗證，請刪除憑證，然後建立使用 DNS 驗證的新憑證。

例如，如果您為 `example.com` 網域請求憑證，並以 `www.example.com` 做為額外名稱，ACM 會為您建立兩筆 CNAME 記錄。每個專為您的網域和帳戶建立的記錄皆包含名稱和值。此值是指向 ACM 用來自動續約憑證的 AWS 網域的別名。必須將 CNAME 記錄新增到 DNS 資料庫一次。只要憑證使用中，而且保有 CNAME 記錄，ACM 便會自動續約憑證。

**重要**  
如果您不是使用 Amazon Route 53 來管理公有 DNS 記錄，請聯絡您的 DNS 供應商以了解如何新增記錄。如果您沒有編輯網域 DNS 資料庫的授權，則必須改用[電子郵件驗證](email-validation.md)。

無需重複驗證，只要保有 CNAME 記錄，您就可以為完整網域名稱 (FQDN) 請求額外的 ACM 憑證。也就是說，您可以建立具有相同網域名稱的替代憑證，或建立涵蓋不同子網域的憑證。由於 CNAME 驗證字符適用於任何 AWS 區域，因此您可以在多個區域中重新建立相同的憑證。您也可以取代已刪除的憑證。

您可以從 AWS 服務移除相關聯的憑證或刪除 CNAME 記錄，以停止自動續約。如果您的 DNS 供應商不是 Route 53，請聯絡您的供應商，了解如何刪除記錄。如果您的供應商是 Route 53，請參閱 *Route 53 開發人員指南*中的[刪除資源記錄集](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-deleting.html)。如需受管的憑證續約的詳細資訊，請參閱「[中的受管憑證續約 AWS Certificate Manager](managed-renewal.md)」。

**注意**  
如果您的 DNS 組態中有超過五個 CNAME 鏈結在一起，CNAME 解析將會失敗。如果您需要更長的鏈結，建議使用[電子郵件驗證](email-validation.md)。

## ACM 的 CNAME 記錄運作方式
<a name="cnames-overview"></a>

**注意**  
本節適用於採用 Route 53 做為 DNS 供應商的客戶。

如果您不是使用 Route 53 做為 DNS 供應商，則需要手動將 ACM 提供的 CNAME 記錄輸入供應商的資料庫 (通常是透過網站操作)。CNAME 記錄用於許多用途，包括重新引導機制以及供應商專屬中繼資料的容器。對 ACM 來說，有了這些記錄，才能進行初始網域所有權驗證和持續自動化憑證續約。

下表顯示六個網域名稱的 CNAME 記錄範例。每筆記錄的**記錄名稱**-**記錄值**配對用於驗證網域名稱所有權。

請注意，在表格中，前兩個**記錄名稱**-**記錄值**配對是相同的。這說明了對於萬用字元網域，例如 `*.example.com`，ACM 建立的字串與其基本網域 建立的字串相同`example.com`。若非如此，每個網域名稱的配對**記錄名稱**和**記錄值**會有所不同。


**CNAME 記錄範例**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/acm/latest/userguide/dns-validation.html)

底線 ( \$1 ) 後的 *xN* 值為 ACM 產生的長字串。例如：

```
_3639ac514e785e898d2646601fa951d5.example.com.
```

代表產生的**記錄名稱**。相關聯的**記錄值**可能是

```
_98d2646601fa951d53639ac514e785e8.acm-validation.aws.
```

針對相同的 DNS 記錄。

**注意**  
如果您的 DNS 供應商不支援包含前置底線的 CNAME 值，請參閱[針對 DNS 驗證問題進行疑難排解](troubleshooting-DNS-validation.md)。

當您請求憑證並指定 DNS 驗證時，ACM 會以下列格式提供 CNAME 資訊：


****  

| 網域名稱 | 記錄名稱 | 記錄類型 | 記錄值 | 
| --- | --- | --- | --- | 
| example。com | \$1a79865eb4cd1a6ab990a45779b4e0b96.example.com。 | CNAME |  \$1424c7224e9b0146f9a8808af955727d0.acm-validations.aws。  | 

*網域名稱*是憑證的相關聯 FQDN。*記錄名稱*為鍵值組的索引鍵，能唯一識別記錄。*記錄值*為鍵值組的值。

這三個值 (*Domain Name* (網域名稱)、*Record Name* (記錄名稱) 和 *Record Value* (記錄值)) 都必須輸入 DNS 供應商 Web 介面上用於新增 DNS 記錄的適用欄位中。供應商處理記錄名稱 (或單純「名稱」) 欄位的做法不一致。在某些情況下，您應該提供整個字符串，如上所示。其他供應商會自動將網域名稱附加到您輸入的任何字串中，這表示 (在本例中) 您應該只輸入

```
_a79865eb4cd1a6ab990a45779b4e0b96
```

到名稱欄位中。如果您猜錯了，並輸入包含網域名稱 (例如 *`.example.com`*） 的記錄名稱，最終可能會產生以下結果：

```
_a79865eb4cd1a6ab990a45779b4e0b96.example.com.example.com.
```

在這種情況下，驗證將會失敗。因此，您應該試著事先確定您的供應商所期望的輸入類型。

## 設定 DNS 驗證
<a name="setting-up-dns-validation"></a>

本節說明如何設定公有憑證以使用 DNS 驗證。<a name="dns-validation-console"></a>

**在主控台上設定 DNS 驗證**
**注意**  
此程序假設您已建立至少一個憑證，而且您正在建立憑證的 AWS 區域中工作。如果您嘗試開啟主控台並改為看到第一次使用畫面，或者您成功開啟主控台，但未在清單中看到您的憑證，請確認您已指定正確的區域。

1. 前往 [https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/) 開啟 ACM 主控台。

1. 在憑證清單中，選擇具有您想要設定的 **Pending validation（待定驗證）**狀態的憑證之 **Certificate ID（憑證 ID）**。此動作會開啟憑證的詳細資料頁面。

1. 在 **Domains（網域）**部分中，完成下列兩個程序之一：

   1. (選用) 使用 Route 53 進行驗證。

      **Create records in Route 53（在 Route 53 中建立記錄）**按鈕會在符合以下情況時顯示：
      + 您使用 Route 53 做為 DNS 供應商。
      + 您擁有寫入 Route 53 託管區域的許可。
      + 您的 FQDN 未**經驗證。
**注意**  
如果您實際上使用 Route 53，但 ** Route 53 中的建立記錄**遺失或停用，請參閱 [ACM 主控台未顯示「在 Route 53 中建立記錄」按鈕](troubleshooting-DNS-validation.md#troubleshooting-route53-1)。

      選擇在 ** Route 53 中建立記錄**，然後選擇**建立記錄**。所以此 **Certificate status（憑證狀態）**頁面應該開啟並顯示狀態橫幅報告 **Successfully created DNS records（成功建立 DNS 記錄）**。

      您的新憑證可能會繼續顯示 **Pending validation（待定驗證）**狀態最多 30 分鐘。
**提示**  
您無法透過編寫程式的方式請求 ACM 自動在 Route 53 中建立記錄。不過，您可以對 Route 53 進行 AWS CLI 或 API 呼叫，以在 Route 53 DNS 資料庫中建立記錄。如需有關 Route 53 記錄集的詳細資訊，請參閱[使用 Route 53使用資源記錄集](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html)。

   1. (選用) 如果您不是使用 Route 53 做為 DNS 供應商，您必須擷取 CNAME 資訊並新增至 DNS 資料庫。在新憑證的詳細資訊頁面上，您可透過以下兩種方式執行此操作：
      + 複製顯示在 **Domains（網域）**部分的 CNAME 元件。這些資訊需手動新增至 DNS 資料庫。
      + 或者，選擇 **Export to CSV（匯出至 CSV）**。結果檔案中的資訊需手動新增至 DNS 資料庫。
**重要**  
為避免驗證問題，請先檢閱「[ACM 的 CNAME 記錄運作方式](#cnames-overview)」，再將資訊新增至您 DNS 供應商的資料庫。如果您遇到問題，請參閱「[針對 DNS 驗證問題進行疑難排解](troubleshooting-DNS-validation.md)」。

如果 ACM 無法在為您產生 CNAME 值後的 72 小時內驗證網域名稱，ACM 會將憑證狀態變更為 **Validation timed out (驗證逾時)**。此結果最有可能的原因是您未使用 ACM 產生的值成功更新 DNS 組態。若要修正此問題，您必須在檢閱 CNAME 指示之後請求新憑證。