

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

# 為您的 CloudFront 分佈租用戶請求憑證
<a name="managed-cloudfront-certificates"></a>

當您建立分佈租用戶時，租用戶會從多租用戶分佈繼承共用 AWS Certificate Manager (ACM) 憑證。此共用憑證會為與多租用戶分佈相關聯的所有租用戶提供 HTTPS。

當您建立或更新 CloudFront 分佈租用戶以新增網域時，您可以從 ACM 新增受管 CloudFront 憑證。然後 CloudFront 會代表您從 ACM 取得 HTTP 驗證的憑證。您可以將此租用戶層級 ACM 憑證用於自訂網域組態。CloudFront 可簡化續約工作流程，以協助讓憑證保持最新，並且確保內容交付不中斷。

**注意**  
您雖擁有憑證，但它*只能*與 CloudFront 資源搭配使用，且*無法*匯出私有金鑰。

您可以在建立或更新分佈租用戶時請求憑證。

**Topics**
+ [新增網域和憑證 (分佈租用戶)](#vanity-domain-tls-tenant)
+ [完成網域設定](#complete-domain-ownership)
+ [將網域指向 CloudFront](#point-domains-to-cloudfront)
+ [網域考量 (分佈租用戶)](#tenant-domain-considerations)
+ [萬用字元網域 (分佈租用戶)](#tenant-wildcard-domains)

## 新增網域和憑證 (分佈租用戶)
<a name="vanity-domain-tls-tenant"></a>

下列程序說明如何新增網域並更新分佈租用戶的憑證。

**新增網域和憑證 (分佈租用戶)**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在 **SaaS** 下，選擇**分佈租用戶**。

1. 搜尋分佈租用戶。使用搜尋列中的下拉式功能表，並且依網域、名稱、分佈 ID、憑證 ID、連線群組 ID 或 Web ACL ID 進行篩選。

1. 選擇分佈租用戶的名稱。

1. 針對**網域**，選擇**管理網域**。

1. 針對**憑證**，選擇您是否要為分佈租用戶建立**自訂 TLS 憑證**。憑證會驗證您是否獲授權使用網域名稱。憑證必須存在於美國東部 (維吉尼亞北部) 區域。

1. 針對**網域**，選擇**新增網域**，然後輸入網域名稱。根據您的網域，以下訊息會顯示在您輸入的網域名稱下。
   + 此網域由憑證涵蓋。
   + 此網域由憑證涵蓋，待驗證。
   + 憑證未涵蓋此網域。(這表示您必須驗證網域擁有權。)

1. 選擇**更新分佈租用戶**。

   在租用戶詳細資訊頁面的**網域**下，您可以看到下列欄位：
   + **網域擁有權** – 網域擁有權的狀態。您必須先使用 TLS 憑證驗證來驗證您的網域擁有權，CloudFront 才能提供內容。
   + **DNS 狀態** – 網域的 DNS 記錄必須指向 CloudFront 才能正確路由流量。

1. 如果您的網域擁有權未經過驗證，請在租用戶詳細資訊頁面的**網域**下，選擇**完成網域設定**，然後完成下列程序，以將 DNS 記錄指向您的 CloudFront 網域名稱。

## 完成網域設定
<a name="complete-domain-ownership"></a>

請依照這些程序來驗證您是否擁有分佈租用戶的網域。根據您的網域，選擇下列其中一個程序。

**注意**  
如果您的網域已指向具有 Amazon Route 53 別名記錄的 CloudFront，則必須在網域名稱前面使用 `_cf-challenge.` 新增 DNS TXT 記錄。此 TXT 記錄會驗證您的網域名稱是否已連結至 CloudFront。針對每個網域重複此步驟。以下說明如何更新您的 TXT 記錄：  
記錄名稱：`_cf-challenge.DomainName`
記錄類型：`TXT`
記錄值：`CloudFrontRoutingEndpoint`
例如，您的 TXT 記錄可能如下所示：`_cf-challenge.example.com TXT d111111abcdef8.cloudfront.net`  
您可以在分佈租用戶詳細資訊頁面主控台中找到您的 CloudFront 路由端點，或使用《*Amazon CloudFront API 參考*》中的 [ListConnectionGroups](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListConnectionGroups.html) API 動作來尋找它。

**提示**  
如果您是 SaaS 供應商，而且想要允許憑證發行，而不需要您的客戶 (租用戶) 將 TXT 記錄直接新增至其 DNS，請執行下列動作：  
如果您擁有網域 `example-saas-provider.com`，請將子網域指派給租用戶，例如 `customer-123.example-saas-provider.com`
在您的 DNS 中，將 `_cf-challenge.customer-123.example-saas-provider.com TXT d111111abcdef8.cloudfront.net` TXT 記錄新增至您的 DNS 組態。
接下來，您的客戶 (租用戶) 可以更新自己的 DNS 記錄，將他們的網域名稱映射到您提供的子網域。  
`www.customer-domain.com CNAME customer-123.example-saas-provider.com`

------
#### [ I have existing traffic ]

如果您的網域無法容忍停機時間，請選取此選項。您必須能夠存取您的原始伺服器/網路伺服器。使用下列程序來驗證網域擁有權。

**在擁有現有流量時完成網域設定**

1. 針對**指定您的 Web 流量**，選擇**我有現有流量**，然後選擇**下一步**。

1. 針對**驗證網域擁有權**，選擇下列其中一個選項：
   + **使用現有憑證** – 搜尋現有的 ACM 憑證或輸入涵蓋所列網域的憑證 ARN。
   + **手動檔案上傳** – 選擇您是否具有將檔案上傳到 Web 伺服器的直接存取權。

     針對每個網域，建立包含來自**字符位置**之驗證字符的純文字檔案，並將其上傳至現有伺服器上指定**檔案路徑**的原始伺服器。此檔案的路徑可能如以下範例所示：`/.well-known/pki-validation/acm_9c2a7b2ec0524d09fa6013efb73ad123.txt`。完成該步驟後，ACM 會驗證字符，然後發出網域的 TLS 憑證。
   + **HTTP 重新導向** – 如果您沒有將檔案上傳至 Web 伺服器的直接存取權，或者您使用 CDN 或代理服務，請選擇此選項。

     針對每個網域，在現有伺服器上建立 301 重新導向。複製**重新導向自**下的已知路徑，並指向**重新導向至**下的指定憑證端點。您的重新導向看起來可能與以下範例相似：

     ```
     If the URL matches: example.com/.well-known/pki-validation/leabe938a4fe077b31e1ff62b781c123.txt
     Then the settings are:Forwarding URL
     Then 301 Permanent Redirect:To validation.us-east-1.acm-validations.aws/123456789012/.well-known/pki-validation/leabe938a4fe077b31e1ff62b781c123.txt
     ```
**注意**  
您可以選擇**檢查憑證狀態**，以驗證 ACM 何時發出網域的憑證。

1. 選擇**下一步**。

1. 完成 [將網域指向 CloudFront](#point-domains-to-cloudfront) 的步驟。

------
#### [ I don't have traffic ]

如果您要新增網域，請選取此選項。CloudFront 會為您管理憑證驗證。

**如果您沒有流量，請完成網域設定**

1. 針對**指定您的 Web 流量**，選擇**我還沒有流量**。

1. 針對每個網域名稱，完成 [將網域指向 CloudFront](#point-domains-to-cloudfront) 的步驟。

1. 更新每個網域名稱的 DNS 記錄後，請選擇**下一步**。

1. 等待憑證發出。
**注意**  
您可以選擇**檢查憑證狀態**，以驗證 ACM 何時發出網域的憑證。

1. 選擇**提交**。

------

## 將網域指向 CloudFront
<a name="point-domains-to-cloudfront"></a>

更新您的 DNS 記錄，將流量從每個網域路由到 CloudFront 路由端點。您可以有多個網域名稱，但必須全部解析為此端點。

**將網域指向至 CloudFront**

1. 複製 CloudFront 路由端點值，例如 d111111abcdef8.cloudfront.net。

1. 更新您的 DNS 記錄，將流量從每個網域路由到 CloudFront 路由端點。

   1. 登入您的網域註冊商或 DNS 提供者管理主控台。

   1. 導覽至網域的 DNS 管理區段。
      + **對於子網域** – 建立 CNAME 記錄。例如：
        + **名稱** – 您的子網域 (例如 `www` 或 `app`)
        + **值/目標** – CloudFront 路由端點
        + **記錄類型** – CNAME
        + **TTL** – 3600 (或任何適合您的使用案例)
      + **對於 apex/root 網域** – 這需要唯一的 DNS 組態，因為無法在根網域或 apex 網域層級使用標準 CNAME 記錄。由於大多數 DNS 供應商不支援 ALIAS 記錄，因此建議您在 Route 53 中建立 ALIAS 記錄。例如：
        + **名稱 **– 您的 Apex 網域 (例如 `example.com`)
        + **記錄類型** – A
        + **別名** – 是
        + **別名目標** – 您的 CloudFront 路由端點
        + **路由政策** – 簡單 (或任何適合您的使用案例)

   1. 確認 DNS 變更已傳播。(這通常發生在 TTL 過期時，有時可能需要 24-48 小時。) 使用 `dig` 或 `nslookup` 等工具。

      ```
      dig www.example.com
      # Should eventually return a CNAME pointing to your CloudFront routing endpoint
      ```

1. 返回 CloudFront 主控台，然後選擇**提交**。當您的網域處於作用中狀態時，CloudFront 會更新網域狀態，以指出您的網域已準備好為流量提供服務。

如需詳細資訊，請參閱您的 DNS 提供者的文件：
+ [Cloudflare](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/)
+ [ClouDNS](https://www.cloudns.net/wiki/article/9/)
+ [DNSimple](https://support.dnsimple.com/categories/dns/)
+ [Gandi.net](https://www.gandi.net/)
+ [GoDaddy](https://www.godaddy.com/help/manage-dns-records-680)
+ [Google 雲端 DNS](https://cloud.google.com/dns/docs/records)
+ [名稱表](https://www.namecheap.com/support/knowledgebase/article.aspx/767/10/how-to-change-dns-for-a-domain/)

## 網域考量 (分佈租用戶)
<a name="tenant-domain-considerations"></a>

當網域處於作用中狀態時，網域控制便已建立，且 CloudFront 會回應此網域的所有檢視器請求。一旦啟用，網域就無法停用或變更為非作用中狀態。當網域已在使用時，便無法與另一個 CloudFront 資源建立關聯。若要將網域與另一個分佈建立關聯，請使用 [UpdateDomainAssociation](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDomainAssociation.html) 請求將網域從一個 CloudFront 資源移至另一個資源。

當網域處於非作用中狀態時，CloudFront 不會回應檢視器對網域的請求。當網域處於非作用中狀態時，請注意下列事項：
+ 如果您有待定的憑證請求，CloudFront 會回應已知路徑的請求。當請求擱置時，網域便無法與任何其他 CloudFront 資源建立關聯。
+ 如果您沒有待定的憑證請求，CloudFront 便不會回應網域的請求。您可以將網域與其他 CloudFront 資源建立關聯。
+ 每個分佈租用戶只能有*一個待定憑證請求*。您必須先取消現有的待定請求，才能為其他網域請求另一個憑證。取消現有的憑證請求不會刪除相關聯的 ACM 憑證。您可使用 ACM API 來刪除該憑證。
+ 如果您將新憑證套用至分佈租用戶，這將取消與先前憑證的關聯。您可以重複使用憑證來涵蓋另一個分佈租用戶的網域。

如同 DNS 驗證憑證的續約，當憑證續約成功時，您將會收到通知。不過，您不需要執行任何其他動作。CloudFront 會自動管理網域的憑證續約。

**注意**  
您不需要呼叫 ACM API 操作來建立或更新憑證資源。您可以使用 [CreateDistributionTenant](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistributionTenant.html) 和 [UpdateDistributionTenant](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistributionTenant.html) API 操作來指定受管憑證請求的詳細資訊，以管理您的憑證。

## 萬用字元網域 (分佈租用戶)
<a name="tenant-wildcard-domains"></a>

在下列情況中，分佈租用戶支援萬用字元網域：
+ 當萬用字元包含在從上層多租用戶分佈繼承的共用憑證中時
+ 當您為分佈租用戶使用有效的現有自訂 TLS 憑證時