

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

# 透過新增備用網域名稱 (CNAME) 使用自訂 URL
<a name="CNAMEs"></a>

建立分佈後，CloudFront 會為該分佈提供網域名稱，例如 d111111abcdef8.cloudfront.net。您可以使用替代網域名稱 (也稱為 CNAME)，而不是使用此提供的網域名稱。

若要了解如何使用自己的網域名稱 (例如 www.example.com)，請參閱下列主題：

**Topics**
+ [使用備用網域名稱的需求](#alternate-domain-names-requirements)
+ [使用備用網域名稱的限制](#alternate-domain-names-restrictions)
+ [新增替代網域名稱](CreatingCNAME.md)
+ [移動替代網域名稱](alternate-domain-names-move.md)
+ [移除替代網域名稱](alternate-domain-names-remove-domain.md)
+ [在備用網域名稱中使用萬用字元](alternate-domain-names-wildcard.md)

## 使用備用網域名稱的需求
<a name="alternate-domain-names-requirements"></a>

當您將備用網域名稱 (例如 www.example.com) 新增至 CloudFront 分佈時，下列為必要項目：

**備用網域名稱必須是小寫**  
所有替代網域名稱 (CNAME) 都必須是小寫。

**備用網域名稱必須由有效的 TLS 憑證涵蓋**  
若要將替代網域名稱 (CNAME) 新增到 CloudFront 分佈，必須將信任、有效且涵蓋替代網域名稱的 TLS 憑證連接到您的分佈。這可確保只有具備存取您網域憑證權限的人員能將與您網域相關的 CNAME 與 CloudFront 建立關聯。  
信任憑證是由 AWS Certificate Manager (ACM) 或其他有效憑證授權機構 (CA) 發行的憑證。您可以使用自我簽署憑證來驗證現有的 CNAME，但*不能*用於新的 CNAME。CloudFront 支援與 Mozilla 相同的憑證授權機構。如需目前的清單，請參閱 [Mozilla 內建 CA 憑證清單](https://wiki.mozilla.org/CA/Included_Certificates)。如需有關在使用第三方 CA 時的中繼憑證資訊，請參閱 [中繼憑證](cnames-and-https-requirements.md#https-requirements-intermediate-certificates)。  
為了使用您連線的憑證驗證備用網域名稱 (包括包含萬用字元的備用網域名稱)，CloudFront 會檢查憑證上的主體別名 (SAN)。您新增的備用網域名稱必須由 SAN 涵蓋。  
一次只能有一個憑證能連線到 CloudFront 分佈。
您可以執行以下作業，證明您已獲得授權，將特定的備用網域名稱新增到您的分佈：  
+ 附加包含替代網域名稱的憑證，例如 product-name.example.com。
+ 連接網域名稱開頭包含 \$1 萬用字元的憑證，以使用單一憑證涵蓋多個子網域。當您指定萬用字元時，您可以在 CloudFront 中新增多個子網域做為備用網域名稱。
以下範例會示範如何在憑證作業中，於網域名稱內使用萬用字元來授權您在 CloudFront 中新增特定備用網域名稱。  
+ 您想要新增 marketing.example.com 做為替代網域名稱。在您的憑證中列出以下網域名稱：\$1.example.com。將此憑證連接到 CloudFront 後，您可以為您的分佈新增任何替代網域名稱，取代該層級的萬用字元，包括 marketing.example.com。您也可以新增下列備用網域名稱 (範例)：
  + product.example.com
  + api.example.com

  但是，您無法新增比萬用字元層級高或低的備用網域名稱。例如，您無法新增替代網域名稱 example.com 或 marketing.product.example.com。
+ 您想要新增 mexample.com 做為替代網域名稱。若要執行此作業，您必須在您連接到分佈的憑證上列出網域名稱 example.com 本身。
+ 您想要新增 marketing.product.example.com 做為替代網域名稱。若要執行此作業，您可以在憑證上列出 \$1.example.com，或是在憑證上列出 marketing.product.example.com。

**變更 DNS 組態的許可**  
新增備用網域名稱時，必須建立 CNAME 紀錄，將替代網域名稱的 DNS 查詢路由到您的 CloudFront 分佈。若要執行此作業，您必須擁有為您正在使用備用網域名稱，使用 DNS 服務提供者建立 CNAME 記錄的許可。一般而言，這表示您擁有此網域，但您也可能是在為網域擁有者開發應用程式。

**備用網域名稱和 HTTPS**  
若您希望檢視器搭配備用網域名稱使用 HTTPS，您必須完成額外設定。如需詳細資訊，請參閱[使用備用網域名稱和 HTTPS](using-https-alternate-domain-names.md)。

## 使用備用網域名稱的限制
<a name="alternate-domain-names-restrictions"></a>

請在使用備用網域名稱時，注意以下限制：

**備用網域名稱的數量上限**  
如需您可為分發新增之備用網域名稱數量的目前上限，或是有關請求更高配額 (先前稱為限制) 的詳細資訊，請參閱[分佈的一般配額](cloudfront-limits.md#limits-web-distributions)。

**重複和重疊的備用網域名稱**  
如果另一個 CloudFront 分佈中已存在相同的替代網域名稱，即使您 AWS 帳戶 擁有另一個分佈，您也無法將替代網域名稱新增至 CloudFront 分佈。  
不過，您可以新增萬用字元替代網域名稱，例如 \$1.example.com，其中包含 (重疊) 非萬用字元的替代網域名稱，例如 www.example.com。如果您在兩個分佈中有重疊的備用網域名稱，無論 DNS 記錄指向哪個分佈，CloudFront 都會將請求傳送至名稱相符程度更具體的分佈。例如，marketing.domain.com 比 \$1.domain.com 更為具體。  
如果您有指向 CloudFront 分佈的現有萬用字元 DNS 項目，且在嘗試新增具有更特定名稱的新 CNAME 時，收到設定不正確的 DNS 錯誤，請參閱 [當我嘗試新增 CNAME 時，CloudFront 會傳回 DNS 記錄設定不正確的錯誤](troubleshooting-distributions.md#troubleshoot-incorrectly-configured-DNS-record-error)。

**網域 Fronting**  
CloudFront 在不同 AWS 帳戶中發生的網域 Fronting 擁有保護。當非標準用戶端建立與網域名稱的 TLS/SSL 連線 AWS 帳戶，然後在另一個 中對不相關的網域名稱提出 HTTPS 請求時，就會發生這種情況 AWS 帳戶。  
 例如，TLS 連線可能會連線到 www.example.com，接著又發出 www.example.org 請求。  
為了判斷請求是否為網域前端，CloudFront 會執行下列檢查：  
+ SNI 延伸項目等於 HTTP 請求 `Host` 標頭
+ 憑證屬於 AWS 帳戶 與請求分佈相同的 。
+ HTTP 請求 `Host` 被涵蓋在 TLS 交握期間提供的憑證中
如果這些條件均不符合，則 CloudFront 會判斷請求是網域前端。CloudFront 會使用 421 HTTP 錯誤回應拒絕請求。  
如果用戶端未提供 SNI 延伸模組，而是取得預設的 \$1.cloudfront.net 憑證，則 CloudFront 會接受傳入的請求。

**CloudFront 如何識別請求的分佈**  
CloudFront 會根據 `Host` 標頭識別 HTTP 請求的分佈。CloudFront 不依賴您連線的 CloudFront IP 位址，或在 TLS 交握期間提供的 SNI 交握。  
當 CloudFront 收到請求時，將使用 `Host` 標頭的值，將請求與特定分佈進行比對。  
例如，假設您有兩個分佈，而且已更新 DNS 組態，因此備用網域名稱會路由至下列端點：  
+ primary.example.com 指向 d111111primary.cloudfront.net 
+ secondary.example.com 指向 d222222secondary.cloudfront.net 
如果您向 https://primary.example.com 提出請求，但將 `Host` 標頭指定為 secondary.example.com，例如 `curl https://primary.example.com -H "Host: secondary.example.com"`，則請求將改為路由至次要分佈。

**在網域的頂端節點 (Zone Apex) 新增備用網域名稱**  
如果您將備用網域名稱新增到分佈，您通常會在 DNS 組態中建立 CNAME 記錄以將網域名稱的 DNS 查詢路由到 CloudFront 分佈。不過，您不能為 DNS 命名空間，也稱為 Zone Apex 的頂端節點建立 CNAME 記錄；DNS 通訊協定不允許此操作。例如，如果您註冊 DNS 名稱 example.com，Zone Apex 就是 example.com。您無法為 example.com 建立 CNAME 紀錄，但可以為 www.example.com、newproduct.example.com 等建立 CNAME 紀錄。  
如果您使用 Route 53 做為您的 DNS 服務，則可以建立別名資源紀錄集，其與 CNAME 記錄相比有以下優勢：  
+ 您可以在頂端節點 (example.com) 建立網域名稱的別名資源紀錄集。
+ 如果用戶端支援，您可以為替代網域名稱建立 HTTPS 記錄，以允許通訊協定交涉做為 DNS 查詢的一部分。如需詳細資訊，請參閱[Create alias resource record set](CreatingCNAME.md#alternate-domain-https)。
+ 在使用別名資源紀錄集時，您不需要支付 Route 53 查詢。
如果您啟用 IPv6，必須建立兩個別名資源紀錄集：一個給路由 IPv4 流量 (A 紀錄)，一個給路由 IPv6 流量 (AAAA 紀錄)。如需詳細資訊，請參閱 [所有分佈設定參考](distribution-web-values-specify.md) 主題中的 [啟用 IPv6 (檢視器請求)](DownloadDistValuesGeneral.md#DownloadDistValuesEnableIPv6)。
如需詳細資訊，請參閱 *Amazon Route 53 開發人員指南*中的[使用網域名稱將流量路由傳送到 Amazon CloudFront Web 分佈](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html)。  
如果您不是針對 DNS 使用 Route 53，您可以請求 Anycast 靜態 IP 位址，將 example.com 等 Apex 網域路由至 CloudFront。如需詳細資訊，請參閱[請求用於列入允許清單的 Anycast 靜態 IP](request-static-ips.md)。

# 新增替代網域名稱
<a name="CreatingCNAME"></a>

以下任務清單會說明如何使用 CloudFront 主控台，將備用網域名稱新增到您的分佈，讓您可以在連結中使用您自己的網域名稱，而非 CloudFront 網域名稱。如需使用 CloudFront API 更新分發的詳細資訊，請參閱[設定分佈](distribution-working-with.md)。

**注意**  
如果您要檢視器使用具有備用網域名稱的 HTTPS，請參閱[使用備用網域名稱和 HTTPS](using-https-alternate-domain-names.md)。

**在您開始進行前：**請先確認您已執行以下作業，再更新您的分佈以新增備用網域名稱：
+ 向 Route 53 或其他網域註冊商註冊網域名稱。
+ 從涵蓋網域名稱的授權憑證認證機構 (CA) 取得 TLS 憑證。將憑證新增至您的分佈，來驗證您是否已獲得使用網域的授權。如需詳細資訊，請參閱[使用備用網域名稱的需求](CNAMEs.md#alternate-domain-names-requirements)。<a name="CreatingCNAMEProcess"></a>

**新增替代網域名稱**

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

1. 選擇您希望更新的分佈 ID。

1. 在**一般**索引標籤上，選擇**新增網域**。

1. 輸入最多五個要服務的網域。

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

1. 對於 **TLS 憑證**，如果 CloudFront 在 AWS 帳戶 的 中找不到網域的現有 AWS Certificate Manager (ACM) 憑證`us-east-1` AWS 區域，您可以選擇自動建立憑證或在 ACM 中手動建立憑證。

1. 佈建憑證時，您必須使用 DNS 提供者更新您的 DNS 記錄，以證明網域擁有權。您需要對 DNS 記錄進行的項目會在 CloudFront 主控台中提供給您。

1. 更新 DNS 記錄後，請選擇**驗證憑證**。

1. 驗證憑證時，請選擇**下一步**。

1. 檢閱您的變更，然後選擇**新增網域**。

1. 在分佈的 **General (一般)** 索引標籤上，請確認 **Distribution Status (分佈狀態)** 是否已變更為 **Deployed (已部署)**。如果您在部署分佈的更新之前，嘗試使用備用網域名稱，則您在下列步驟中建立的連結可能無法運作。

1. 設定替代網域名稱 (例如 www.example.com) 的 DNS 服務，以便將流量路由至分佈的 CloudFront 網域名稱 (例如 d111111abcdef8.cloudfront.net)。您使用的方法取決於您是使用 Route 53 做為網域的 DNS 服務提供者，還是其他提供者。如需詳細資訊，請參閱[將網域新增至您的 CloudFront 標準分佈](add-domain-existing-distribution.md)。  
**Route 53**  
請建立別名資源紀錄集。使用別名資源紀錄集時，您不需要支付 Route 53 查詢。您也可以建立根網域名稱 (example.com) 的別名資源紀錄集，該 DNS 不允許 CNAME。如需建立別名資源記錄集的詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[使用網域名稱將流量路由傳送到 Amazon CloudFront Web 分佈](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html)。  
或者，如果用戶端支援，您可以為替代網域名稱建立 HTTPS 記錄，以允許通訊協定交涉做為 DNS 查詢的一部分。  

**使用 HTTPS 記錄建立別名資源記錄集 (選用)**

   1. 在 CloudFront 分佈設定中啟用 HTTP/2 或 HTTP/3。如需詳細資訊，請參閱[支援的 HTTP 版本](DownloadDistValuesGeneral.md#DownloadDistValuesSupportedHTTPVersions)及[更新分佈](HowToUpdateDistribution.md)。

   1. 在 Route 53 主控台中，建立別名資源紀錄集。依照[使用網域名稱將流量路由到 Amazon CloudFront Web 分佈](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html)的程序執行。

   1. 當您建立別名資源紀錄集時，請使用記錄類型 **HTTPS** 建立別名紀錄。  
**其他 DNS 服務供應商**  
使用 DNS 服務供應商提供的方法，為您的網域新增 CNAME 記錄。這個新的 CNAME 紀錄會將 DNS 查詢從您的替代網域名稱 (例如 www.example.com) 重新引導到分佈的 CloudFront 網域名稱 (例如 d111111abcdef8.cloudfront.net)。如需詳細資訊，請參閱 DNS 服務供應商提供的說明文件。  
如果您的替代網域名稱已有現有的 CNAME 紀錄，請更新該紀錄或將其替換為指向分佈 CloudFront 網域名稱的新紀錄。

1. 使用 `dig` 或類似 DNS 工具，請確認您在先前步驟建立的 DNS 組態，是否指向分佈的網域名稱。

   以下範例顯示了一個在 www.example.com 網域的 `dig` 請求和回應的相關部分。

   ```
   PROMPT> dig www.example.com
   
   ; <<> DiG 9.3.3rc2 <<> www.example.com
   ;; global options:	printcmd
   ;; Got answer:
   ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15917
   ;; flags: qr rd ra; QUERY: 1, ANSWER: 9, AUTHORITY: 2, ADDITIONAL: 0
   
   ;; QUESTION SECTION:
   ;www.example.com.     IN    A
   
   ;; ANSWER SECTION:
   www.example.com. 10800 IN	CNAME	d111111abcdef8.cloudfront.net.
   ...
   ```

   答案區段會顯示一個 CNAME 記錄，將 www.example.com 查詢路由傳送至 CloudFront 分佈網域名稱 d111111abcdef8.cloudfront.net。如果 `CNAME` 右側的名稱為 CloudFront 分佈的網域名稱，則 CNAME (正式名稱記錄) 記錄配置正確。如果它是任何其他值，例如，Amazon S3 儲存貯體的網域名稱，則 CNAME 紀錄配置錯誤。在這種情況下，請回到步驟 7 並更正 CNAME 紀錄以指向分佈的網域名稱。

1. 使用您的網域名稱造訪 URL，而非您分佈的 CloudFront 網域名稱，以測試備用網域名稱。

1. 在您的應用程式中，請為您的物件變更 URL 以使用備用網域名稱，而非 CloudFront 分佈的網域名稱。

# 移動替代網域名稱
<a name="alternate-domain-names-move"></a>

如果您嘗試將替代網域名稱新增至標準分佈或分佈租用戶，且替代網域名稱已與不同的資源建立關聯，您會收到錯誤訊息。

例如，當您嘗試將 www.example.com 新增至標準分佈或分佈租用戶時，若該替代網域名稱已與其他資源建立關聯，您會收到 `CNAMEAlreadyExists` 錯誤訊息 (您所提供的一個或多個 CNAME 已與不同的資源關聯)。

在這種情況下，您可能想要將現有的替代網域名稱從一個資源移至另一個資源。這是*來源分佈*和*目標分佈*。您可以在標準分佈和/或分佈租用戶之間移動替代網域名稱。

若要移動替代網域名稱，請參閱下列主題：

**Topics**
+ [設定目標標準分佈或分佈租用戶](alternate-domain-names-move-create-target.md)
+ [尋找來源標準分佈或分佈租用戶](alternate-domain-names-move-find-source.md)
+ [移動替代網域名稱](alternate-domain-names-move-options.md)

# 設定目標標準分佈或分佈租用戶
<a name="alternate-domain-names-move-create-target"></a>

您必須先設定目標資源，才能移動替代網域名稱。這是您要移動替代網域名稱的目標標準分佈或分佈租用戶。

------
#### [ Standard distribution ]

**設定目標標準分佈**

1. 請求 TLS 憑證。此憑證包含替代網域名稱做為主體或主體備用網域 (SAN)，或涵蓋您正在移動之替代網域名稱的萬用字元 (\$1)。如果沒有憑證，可以在 AWS Certificate Manager (ACM) 中申請一個憑證，或是從另一個憑證認證機構 (CA) 取得憑證，然後將其匯入 ACM。
**注意**  
您必須在美國東部 (維吉尼亞北部) (`us-east-1`) 區域請求或匯入憑證。

   如需詳細資訊，請參閱《AWS Certificate Manager 使用者指南》**中的[使用主控台申請公有憑證](https://docs.aws.amazon.com/acm/latest/userguide/acm-public-certificates.html#request-public-console)與[在 AWS Certificate Manager 中匯入憑證](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html)章節。

1. 如果尚未建立目標標準分佈，請立即建立。在建立標準分佈的過程中，請將憑證與此標準分佈建立關聯。如需詳細資訊，請參閱[建立分發](distribution-web-creating-console.md)。

   如果您已經有目標標準分佈，請將憑證與標準分佈建立關聯。如需詳細資訊，請參閱[更新分佈](HowToUpdateDistribution.md)。

1. **如果您要在相同 內移動替代網域名稱 AWS 帳戶，請略過此步驟。**

   若要將備用網域名稱從一個移至 AWS 帳戶 另一個，您必須在 DNS 組態中建立 TXT 記錄。此驗證步驟有助於防止未經授權的網域傳輸。CloudFront 會使用此 TXT 記錄來驗證您對替代網域名稱的擁有權。

   在您的 DNS 設定中，建立一筆 DNS TXT 紀錄，將替代網域名稱與目標標準分佈建立關聯。TXT 記錄格式可能會因網域類型而有所不同。
   + 對於子網域，請在替代網域名稱前面指定底線 (`_`)。以下顯示範例 TXT 紀錄。

     `_www.example.com TXT d111111abcdef8.cloudfront.net`
   + 對於 Apex (或根網域)，請在網域名稱前面指定底線和句點 (`_.`)。以下顯示範例 TXT 紀錄。

     `_.example.com TXT d111111abcdef8.cloudfront.net`

------
#### [ Distribution tenant ]

**設定目標分佈租用戶**

1. 請求 TLS 憑證。此憑證包含替代網域名稱做為主體或主體備用網域 (SAN)，或涵蓋您正在移動之替代網域名稱的萬用字元 (\$1)。如果沒有憑證，可以在 AWS Certificate Manager (ACM) 中申請一個憑證，或是從另一個憑證認證機構 (CA) 取得憑證，然後將其匯入 ACM。
**注意**  
您必須在美國東部 (維吉尼亞北部) (`us-east-1`) 區域請求或匯入憑證。

   如需詳細資訊，請參閱《AWS Certificate Manager 使用者指南》**中的[使用主控台申請公有憑證](https://docs.aws.amazon.com/acm/latest/userguide/acm-public-certificates.html#request-public-console)與[在 AWS Certificate Manager 中匯入憑證](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html)章節。

1. 如果尚未建立目標分佈租用戶，請立即建立。做為建立分佈租用戶的一部分，請將憑證與分佈租用戶建立關聯。如需詳細資訊，請參閱[建立分發](distribution-web-creating-console.md)。

   如果您已經有目標分佈租用戶，請將憑證與分佈租用戶建立關聯。如需詳細資訊，請參閱[新增網域和憑證 (分佈租用戶)](managed-cloudfront-certificates.md#vanity-domain-tls-tenant)。

1. **如果您要在相同 內移動替代網域名稱 AWS 帳戶，請略過此步驟。**

   若要將備用網域名稱從一個移至 AWS 帳戶 另一個，您必須在 DNS 組態中建立 TXT 記錄。此驗證步驟有助於防止未經授權的網域傳輸，CloudFront 會使用此 TXT 記錄來驗證替代網域名稱的擁有權。

   在您的 DNS 設定中，建立一筆 DNS TXT 紀錄，將替代網域名稱與目標分佈租用戶建立關聯。TXT 記錄格式可能會因網域類型而有所不同。
   + 對於子網域，請在替代網域名稱前面指定底線 (`_`)。以下顯示範例 TXT 紀錄。

     `_www.example.com TXT d111111abcdef8.cloudfront.net`
   + 對於 Apex (或根網域)，請在網域名稱前面指定底線和句點 (`_.`)。以下顯示範例 TXT 紀錄。

     `_.example.com TXT d111111abcdef8.cloudfront.net`

------

接下來，請參閱下列主題，尋找已與替代網域名稱相關聯的來源標準分佈或分佈租用戶。

# 尋找來源標準分佈或分佈租用戶
<a name="alternate-domain-names-move-find-source"></a>

在您可以將替代網域名稱從一個分佈 (標準或租用戶) 移至另一個分佈之前，請先尋找*來源分佈*。這是替代網域名稱已關聯的資源。當您知道來源和目標分佈資源的 AWS 帳戶 ID 時，您可以決定如何移動替代網域名稱。

**備註**  
我們建議您使用 [ListDomainConflicts](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDomainConflicts.html) API 操作，因為它同時支援標準分佈和分佈租用戶。
[ListConflictingAliases](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListConflictingAliases.html) API 操作僅支援標準分佈。

請依照這些範例來尋找來源分佈 (標準或租用戶)。

------
#### [ list-domain-conflicts ]

**提示**  
對於標準分佈，您必須擁有 `cloudfront:GetDistribution` 和 `cloudfront:ListDomainConflicts` 許可。
對於分佈租用戶，您必須擁有 `cloudfront:GetDistributionTenant` 和 `cloudfront:ListDomainConflicts` 許可。

**使用 `list-domain-conflicts` 尋找來源標準分佈或分佈租用戶**

1. 請使用 `list-domain-conflicts` 指令，如下列範例所示。

   1. 以網域名稱取代 *www.example.com*。

   1. 針對 `domain-control-validation-resource`，指定[您先前設定的](alternate-domain-names-move-create-target.md)目標標準分佈或分佈租用戶 ID。您必須擁有與涵蓋指定網域的憑證相關聯的標準分佈或分佈租用戶。

   1. 使用 AWS 帳戶 與目標標準分佈或分佈租用戶位於相同 的登入資料來執行此命令。

   **請求**

    此範例會指定分佈租用戶。

   ```
   aws cloudfront list-domain-conflicts \
   --domain www.example.com \
   --domain-control-validation-resource "DistributionTenantId=dt_2x9GhoK0TZRsohWzv1b9It8JABC"
   ```

   **回應**

   對於命令輸出中的每個網域名稱，您可以看到以下內容：
   + 與網域相關聯的資源類型
   + 資源 ID
   + 擁有資源的 AWS 帳戶 ID

   資源 ID 和帳戶 ID 會部分隱藏。這可讓您識別屬於您帳戶的標準分佈或分佈租用戶，並協助保護非您擁有的分佈或分佈租用戶的資訊。

   ```
   {
       "DomainConflicts": [
           {
               "Domain": "www.example.com",
               "ResourceType": "distribution-tenant",
               "ResourceId": "***************ohWzv1b9It8JABC",
               "AccountId": "******112233"
           }
       ]
   }
   ```

   回應會列出與您指定的網域名稱衝突或重疊的所有網域名稱。

**範例**
   + 如果您指定 *tenant1.example.com*，回應會包含 tenant1.example.com 和重疊的萬用字元備用網域名稱 (\$1.example.com，如果有的話)。
   + 如果您指定 *\$1.tenant1.example.com*，回應會包含 \$1.tenant1.example.com 和該萬用字元涵蓋的任何備用網域名稱 (例如 test.tenant1.example.com、dev.tenant1.example.com 等)。

1. 在回應中，尋找您要移動之替代網域名稱的來源標準分佈或分佈租用戶，並記下 AWS 帳戶 ID。

1. 將*來源*標準分佈或分佈租用戶的帳戶 ID，與您在[上一個步驟](alternate-domain-names-move-create-target.md)中建立*目標*標準分佈或分佈租用戶的帳戶 ID 進行比較。然後，您可以判斷來源和目標是否位於相同的 AWS 帳戶中。這可協助您判斷如何移動替代網域名稱。

   如需詳細資訊，請參閱《AWS Command Line Interface 參考》**中的 [https://docs.aws.amazon.com/cli/latest/reference/cloudfront/list-domain-conflicts.html](https://docs.aws.amazon.com/cli/latest/reference/cloudfront/list-domain-conflicts.html) 命令。

------
#### [ list-conflicting-aliases (standard distributions only) ]

**提示**  
您必須擁有目標標準分佈的 `cloudfront:GetDistribution` 和 `cloudfront:ListConflictingAliases` 許可。

**使用 `list-conflicting-aliases` 尋找來源標準分佈**

1. 請使用 `list-conflicting-aliases` 指令，如下列範例所示。

   1. 以替代網域名稱取代 *www.example.com*，用[您先前設定之](alternate-domain-names-move-create-target.md)目標標準分佈的 ID 取代 *EDFDVBD6EXAMPLE*。

   1. 使用與目標標準分佈相同 AWS 帳戶 中的憑證來執行此命令。

   **請求**

    此範例會指定標準分佈。

   ```
   aws cloudfront list-conflicting-aliases \
   --alias www.example.com \
   --distribution-id EDFDVBD6EXAMPLE
   ```

   **回應**

   針對命令輸出中的每個替代網域名稱，您可以看到與替代網域名稱關聯之標準分佈的 ID，以及擁有該標準分佈的 AWS 帳戶 ID。標準分佈和帳戶 ID 會部分隱藏，這樣既可以讓您識別出您擁有的標準分佈和帳戶，同時又可以避免洩漏非您擁有之標準分佈和帳戶的資訊。

   ```
   {
       "ConflictingAliasesList": {
           "MaxItems": 100,
           "Quantity": 1,
           "Items": [
               {
                   "Alias": "www.example.com",
                   "DistributionId": "*******EXAMPLE",
                   "AccountId": "******112233"
               }
           ]
       }
   }
   ```

   回應會列出與您指定的網域名稱衝突或重疊的備用網域名稱。

**範例**
   + 如果您指定 *www.example.com*，則回應會包含 www.example.com 以及 (如果存在) 重疊的萬用字元替代網域名稱 (\$1.example.com)。
   + 如果您指定 *\$1.example.com*，則回應會包含 \$1.example.com 以及該萬用字元所涵蓋的任何替代網域名稱 (例如，www.example.com、test.example.com、dev.example.com 等)。

1. 尋找您要移動之備用網域名稱的標準分佈，並記下 AWS 帳戶 ID。將此帳戶 ID 與您在[上一個步驟](alternate-domain-names-move-create-target.md)中建立目標標準分佈的帳戶 ID 進行比較。然後，您可以判斷這兩個標準分佈是否位於相同 ， AWS 帳戶 以及如何移動替代網域名稱。

   如需詳細資訊，請參閱《AWS Command Line Interface 參考》**中的 [https://docs.aws.amazon.com//cli/latest/reference/cloudfront/list-conflicting-aliases.html](https://docs.aws.amazon.com//cli/latest/reference/cloudfront/list-conflicting-aliases.html) 命令。

------

然後，請參閱下列主題以移動替代網域名稱。

# 移動替代網域名稱
<a name="alternate-domain-names-move-options"></a>

根據您的狀況，從以下內容選擇移動替代網域名稱的方式：

**來源和目標分佈 (標準或租用戶) 位於相同的 AWS 帳戶**  
使用 AWS Command Line Interface (AWS CLI) 中的 **update-domain-association** 命令來移動替代網域名稱。  
此命令適用於所有相同帳戶的移動，包括當替代網域名稱是 Apex 網域時 (也稱為*根網域*，例如 example.com)。

**來源和目標分佈 (標準或租用戶) 位於不同的 AWS 帳戶**  
如果您具有來源標準分佈或分佈租用戶的存取權，替代網域名稱*不是* Apex 網域，而且您尚未使用與該替代網域名稱重疊的萬用字元，請使用萬用字元來移動替代網域名稱。如需詳細資訊，請參閱[使用萬用字源來移動替代網域名稱](#alternate-domain-names-move-use-wildcard)。  
如果您無法存取 AWS 帳戶 具有來源標準分佈或分佈租用戶的 ，您可以嘗試使用 **update-domain-association**命令來移動替代網域名稱。您必須先停用來源標準分佈或分佈租用戶，才能移動替代網域名稱。如需其他說明，請參閱[聯絡 AWS 支援 以移動替代網域名稱](#alternate-domain-names-move-contact-support)。

**注意**  
您可以使用 **associate-alias** 命令，但此命令僅支援標準分佈。請參閱《Amazon CloudFront API 參考》**中的 [AssociateAlias](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_AssociateAlias.html)。

------
#### [ update-domain-association (standard distributions and distribution tenants) ]

**如要使用 `update-domain-association` 移動替代網域名稱**

1. 使用 `update-domain-association` 命令，如下列範例所示。

   1. 以替代網域名稱取代 *example.com*，並指定目標標準分佈或分佈租用戶的 ID。

   1. 使用與目標標準分佈或分佈租用戶相同 AWS 帳戶 中的憑證來執行此命令。
**請注意以下限制**  
除了 `cloudfront:UpdateDomainAssociation` 許可之外，您還必須擁有更新標準分佈的 `cloudfront:UpdateDistribution` 許可。若要更新分佈租用戶，您必須擁有 `cloudfront:UpdateDistributionTenant` 許可。
如果來源和目標分佈 （標準或租用戶） 位於不同位置 AWS 帳戶，您必須先停用來源，才能移動網域。
目標分佈必須依照 [設定目標標準分佈或分佈租用戶](alternate-domain-names-move-create-target.md) 所述的方式設定。

   **請求**

   ```
   aws cloudfront update-domain-association \
     --domain "www.example.com" \
     --target-resource DistributionTenantId=dt_9Fd3xTZq7Hl2KABC \
     --if-match E3UN6WX5ABC123
   ```

   **回應**

   ```
   {
       "ETag": "E7Xp1Y3N9DABC",
       "Domain": "www.example.com",
       "ResourceId": "dt_9Fd3xTZq7Hl2KABC"
   }
   ```

   此命令會從來源標準分佈或分佈租用戶中移除替代網域名稱，並將其新增至目標標準分佈或分佈租用戶。

1. 完全部署目標分佈之後，請更新您的 DNS 組態，將您的網域名稱指向 CloudFront 路由端點。例如，您的 DNS 記錄會將您的備用網域名稱 (`www.example.com`) 指向 CloudFront 提供的網域名稱 d111111abcdef8.cloudfront.net。如果目標是分佈租用戶，請指定連線群組端點。如需詳細資訊，請參閱[將網域指向 CloudFront](managed-cloudfront-certificates.md#point-domains-to-cloudfront)。

------
#### [ associate-alias (standard distributions only) ]

**如要使用 `associate-alias` 移動替代網域名稱**

1. 使用 `associate-alias` 命令，如下列範例所示。

   1. 以替代網域名稱取代 *www.example.com*，以具有目標準分佈 ID 取代 *EDFDVBD6EXAMPLE*。

   1. 使用與目標標準分佈相同 AWS 帳戶 中的憑證來執行此命令。
**請注意以下限制**  
您必須擁有目標標準分佈的 `cloudfront:AssociateAlias` 和 `cloudfront:UpdateDistribution` 許可。
如果來源和目標標準分佈位於相同 中 AWS 帳戶，您必須擁有來源標準分佈的`cloudfront:UpdateDistribution`許可。
如果來源標準分佈和目標標準分佈不同 AWS 帳戶，您必須先停用來源標準分佈。
目標標準分佈必須依照 [設定目標標準分佈或分佈租用戶](alternate-domain-names-move-create-target.md) 所述的方式設定。

      **請求**

      ```
      aws cloudfront associate-alias \
      --alias www.example.com \
      --target-distribution-id EDFDVBD6EXAMPLE
      ```

      此命令會從來源標準分佈中移除該替代網域名稱，並將其移動至目標標準分佈。

1. 目標標準分佈完全部署之後，請更新 DNS 組態，將替代網域名稱的 DNS 紀錄指向目標標準分佈的分佈網域名稱。例如，您的 DNS 記錄會將您的備用網域名稱 (`www.example.com`) 指向 CloudFront 提供的網域名稱 d111111abcdef8.cloudfront.net。

如需詳細資訊，請參閱《AWS CLI 命令參考》**中的 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudfront/associate-alias.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudfront/associate-alias.html) 命令。

------

## 使用萬用字源來移動替代網域名稱
<a name="alternate-domain-names-move-use-wildcard"></a>

如果來源分佈與目標分佈 AWS 帳戶 不同，且來源分佈已啟用，您可以使用萬用字元來移動替代網域名稱。

**注意**  
無法使用萬用字元來移動 Apex 網域 (例如 example.com)。若要在來源分佈和目標分佈位於不同的 AWS 帳戶時移動 Apex 網域，請聯絡 支援。如需詳細資訊，請參閱[聯絡 AWS 支援 以移動替代網域名稱](#alternate-domain-names-move-contact-support)。

**使用萬用字源來移動替代網域名稱**
**注意**  
此程序涉及對分佈的多次更新。等待每個分佈完整部署最新的變更後，再進行下一步。

1. 更新目標分佈，以新增涵蓋您要移動之替代網域名稱的萬用字元替代網域名稱。例如，如果您要移動的替代網域名稱為 www.example.com，請將該替代網域名稱 \$1.example.com 新增到目標分佈。若要執行這項操作，目標分佈上的 SSL/TLS 憑證必須包含萬用字元網域名稱。如需詳細資訊，請參閱 [更新分佈](HowToUpdateDistribution.md)。

1. 更新替代網域名稱的 DNS 設定，以指向目標分佈的網域名稱。例如，如果您要移動的替代網域名稱是 www.example.com，請更新 www.example.com 的 DNS 紀錄，以將流量路由至目標分佈的網域名稱 (例如，d111111abcdef8.cloudfront.net)。
**注意**  
在您更新 DNS 設定後，替代網域名稱仍會由來源分佈提供，因為這是替代網域名稱目前設定的所在位置。

1. 更新來源分佈來移除替代網域名稱。如需詳細資訊，請參閱 [更新分佈](HowToUpdateDistribution.md)。

1. 更新目標分佈來新增替代網域名稱。如需詳細資訊，請參閱 [更新分佈](HowToUpdateDistribution.md)。

1. 使用 **dig** (或類似的 DNS 查詢工具)，以驗證替代網域名稱的 DNS 紀錄是否解析為目標分佈的網域名稱。

1. (選用) 更新目標分佈來移除萬用字源替代網域名稱。

## 聯絡 AWS 支援 以移動替代網域名稱
<a name="alternate-domain-names-move-contact-support"></a>

如果來源和目標分佈位於不同的 中 AWS 帳戶，而且您無法存取來源分佈的 AWS 帳戶 或 無法停用來源分佈，您可以聯絡 支援 來移動替代網域名稱。

**聯絡 支援 以移動替代網域名稱**

1. 設定目標分佈，包括指向目標分佈的 DNS TXT 紀錄。如需詳細資訊，請參閱 [設定目標標準分佈或分佈租用戶](alternate-domain-names-move-create-target.md)。

1. [請聯絡 支援](https://console.aws.amazon.com/support/home) 來請求他們驗證您是否擁有該網域，並為您將網域新增到新的 CloudFront 分佈。

1. 完全目標分佈部署之後，請更新 DNS 組態，將替代網域名稱的 DNS 紀錄指向目標分佈的分佈網域名稱。

# 移除替代網域名稱
<a name="alternate-domain-names-remove-domain"></a>

如果您想要停止路由網域或子網域的流量到 CloudFront 分佈，請依照此節中的下列步驟來更新 DNS 組態和 CloudFront 分佈。

您務必要從分佈移除備用網域名稱，並更新您的 DNS 組態。若您想要將網域名稱與另一個 CloudFront 分佈建立關聯，將有助於避免之後發生問題。如果備用網域名稱已與一個分佈建立關聯，即無法以另一個分佈設定。

**注意**  
如果您想要從這個分發移除備用網域名稱來將該地址新增到另一個分發，請按照 [移動替代網域名稱](alternate-domain-names-move.md) 中的步驟。如果您依據此處的步驟 (來移除網域)，然後新增網域到另一個分佈，將有一段時間內網域不會連結到新的分佈，因為 CloudFront 正在傳輸更新到節點。<a name="RemovingADomain"></a>

**從分佈移動備用網域名稱**

1. 若要開始，請將網域的網際網路流量路由至不是 CloudFront 分佈的其他資源，例如 Elastic Load Balancing 負載平衡器。或者，您可以刪除不將流量路由傳送到 CloudFront 的 DNS 記錄。

   執行以下其中一項，取決於您網域的 DNS 服務：
   + **如果您使用的是 Route 53**，請更新或刪除別名記錄或 CNAME 記錄。如需詳細資訊，請參閱[編輯記錄](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-editing.html)或[刪除記錄](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-deleting.html)。
   + **如果您使用的是另一個 DNS 服務供應商**，請使用由 DNS 服務供應商提供的方法更新或刪除將流量導向 CloudFront 的 CNAME 記錄。如需詳細資訊，請參閱 DNS 服務供應商提供的說明文件。

1. 在您更新網域的 DNS 紀錄，請等待變更傳播且 DNS 解析程式會路由流量到新的資源。您可以建立一些使用 URL 中網域的測試連結來確認此步驟是否完成。

1. 登入 AWS 管理主控台 並開啟位於 的 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)，然後執行下列動作來更新您的 CloudFront 分佈以移除網域名稱：

   1. 選擇您希望更新的分佈 ID。

   1. 在 **General (一般)** 索引標籤上，選擇 **Edit (編輯)**。

   1. 在 **Alternate Domain Names (CNAMEs) (正式名稱記錄 (CNAME))** 中，請移除您已不想再用於分佈的備用網域名稱 (或網域名稱)。

   1. 請選擇 **Yes, Edit (是，編輯)**。

# 在備用網域名稱中使用萬用字元
<a name="alternate-domain-names-wildcard"></a>

當您新增備用網域名稱時，可以改為在網域名稱的開頭使用 \$1 萬用字元，而非新增個別子網域。例如，使用替代網域名稱 \$1.example.com，您可以在 URL 中使用任何結尾為 example.com 的網域名稱，例如 www.example.com、product-name.example.com、marketing.product-name.example.com 等。不管網域名稱為何，物件的路徑都是一樣的，例如：
+ www.example.com/images/image.jpg
+ product-name.example.com/images/image.jpg
+ marketing.product-name.example.com/images/image.jpg

按照這些包括萬用字元的備用網域名稱要求：
+ 替代網域名稱必須以星號和點號 (\$1.) 開頭。
+ 您*不能*使用萬用字元來取代子網域名稱的部分，例如：\$1domain.example.com。
+ 您不得取代網域名稱中的子網域，例如：subdomain.\$1.example.com。
+ 所有備用網域名稱 (包括使用萬用字元的備用網域名稱) 都必須涵蓋在憑證的主體別名 (SAN) 下。

萬用字元替代網域名稱 (例如 \$1.example.com) 可以包含其他正在使用中的替代網域名稱，例如 example.com。