將替代網域名稱移至不同的分佈 - Amazon CloudFront

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

將替代網域名稱移至不同的分佈

當您嘗試將替代網域名稱新增至分佈,但替代網域名稱已在不同的分佈上使用時,您會收到CNAMEAlreadyExists錯誤 (CNAMEs您提供的一或多個 已與不同的資源相關聯)。例如,當您嘗試將 www.example.com 新增至分佈時,您會收到這個錯誤訊息,告知www.example.com 已與其他分佈相關聯。

在這種情況下,您可能想要將現有的替代網域名稱從一個分佈 (來源分佈)移動到另一個(目標分佈)。以下步驟是程序概觀。如需詳細資訊,請遵循概觀中每個步驟的連結。

移動替代網域名稱
  1. 設定目標分佈。此分佈必須具有 SSL/TLS 憑證,涵蓋您要移動的替代網域名稱。如需詳細資訊,請參閱設定目標分佈

  2. 尋找來源分佈。您可以使用 AWS Command Line Interface (AWS CLI) 來尋找與替代網域名稱相關聯的分佈。如需詳細資訊,請參閱尋找來源分佈

  3. 移動替代網域名稱。這樣做的方式取決於來源和目標分佈是否位於同一個 AWS 帳戶中。如需詳細資訊,請參閱移動替代網域名稱

設定目標分佈

在移動替代網域名稱之前,必須先設定目標分佈 (要將替代網域名稱移動所至的分佈)。

設定目標分佈
  1. 取得包含您要移動之替代網域名稱的 SSL/TLS 憑證。如果您沒有憑證,您可以從 AWS Certificate Manager (ACM) 請求一個,或從另一個憑證授權機構 (CA) 取得一個憑證,並將其匯入 ACM。確定您是在美國東部 (維吉尼亞北部) (us-east-1) 區域請求或匯入憑證。

  2. 如果尚未建立目標分佈,請立即建立。做為建立目標分佈的一部分,請將憑證 (來自上一個步驟) 與分佈建立關聯。如需詳細資訊,請參閱 建立分發

    如果您已經有目標分佈,請將憑證 (來自上一個步驟) 與目標分佈建立關聯。如需詳細資訊,請參閱更新分佈

  3. 建立DNSTXT記錄,將替代網域名稱與目標分佈的分佈網域名稱建立關聯。在替代網域名稱前面使用底線 (_) 建立您的TXT記錄。下列顯示 中的範例TXT記錄DNS:

    _www.example.com TXT d111111abcdef8.cloudfront.net

    CloudFront 使用此TXT記錄來驗證替代網域名稱的擁有權。

尋找來源分佈

在將替代網域名稱從一個分佈移至另一個分佈之前,您應該先找到來源分佈 (目前正在使用替代網域名稱的分佈)。知道來源與目標分佈兩者的 AWS 帳戶 ID 後,您便可以決定如何移動替代網域名稱。

尋找替代網域名稱的來源分佈
  1. 使用 CloudFront list-conflicting-aliases 命令, AWS Command Line InterfaceAWS CLI如下列範例所示。Replace (取代) www.example.com 替代網域名稱,以及 EDFDVBD6EXAMPLE先前設定的目標分佈 ID。使用與目標分佈位於相同 AWS 帳戶中的憑證來執行此命令。若要使用此命令,您必須擁有目標分佈的 cloudfront:GetDistributioncloudfront:ListConflictingAlias 許可。

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

    命令的輸出會顯示與所提供的網域名稱衝突或重疊的所有替代網域名稱清單。例如:

    • 如果將 www.example.com 提供給命令,則命令的輸出會包含 www.example.com 以及重疊的萬用字元替代網域名稱 (*.example.com) (如果存在)。

    • 如果將 *.example.com 提供給命令,則命令的輸出會包含 *.example.com 以及該萬用字元所涵蓋的任何替代網域名稱 (例如,www.example.com、test.example.com、dev.example.com 等)。

    針對命令輸出中的每個替代網域名稱,您可以看到與替代網域名稱關聯之分佈的 ID,以及擁有該分佈的 AWS 帳戶 ID。分佈和帳戶IDs部分隱藏,這可讓您識別您擁有的分佈和帳戶,但有助於保護您未擁有的分佈和帳戶資訊。

  2. 在命令的輸出中,尋找您要移動之替代網域名稱的分佈,並記下來源分佈 AWS 的帳戶 ID。將來源分佈的帳戶 ID 與您建立目標分佈的帳戶 ID 進行比較,並判斷這兩個分佈是否位於同一個 AWS 帳戶中。這可協助您判斷如何移動替代網域名稱。

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

移動替代網域名稱

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

如果來源和目標分佈位於相同的 AWS 帳戶

使用 中的 associate-alias 命令 AWS CLI 來移動替代網域名稱。此方法適用於所有相同帳戶的移動,包括當替代網域名稱是 Apex 網域時 (也稱為根網域,例如 example.com)。如需詳細資訊,請參閱 associate-alias 使用 移動替代網域名稱

如果來源分佈和目標分佈位於不同的 AWS 帳戶

如果您具有來源分佈的存取權,替代網域名稱不是 Apex 網域 (也稱為根網域,如 example.com),而且您尚未使用與該替代網域名稱重疊的萬用字元,請使用萬用字元來移動替代網域名稱。如需詳細資訊,請參閱使用萬用字源來移動替代網域名稱

如果您無法存取來源分佈 AWS 的帳戶,您可以嘗試使用 中的 associate-alias 命令 AWS CLI 來移動替代網域名稱。如果來源分佈已停用,您可以移動替代網域名稱。如需詳細資訊,請參閱associate-alias 使用 移動替代網域名稱。如果 associate-alias 命令沒有作用,請聯絡 AWS Support。如需詳細資訊,請參閱聯絡 AWS Support 以移動替代網域名稱

associate-alias 使用 移動替代網域名稱

如果來源分佈位於與目標分佈相同的 AWS 帳戶中,或者位於不同的帳戶中但已停用,您可以使用 CloudFront associate-alias 中的 AWS CLI命令,以移動替代網域名稱。

使用 associate-alias 來移動替代網域名稱
  1. 使用 AWS CLI 執行命令 CloudFront associate-alias,如下列範例所示。Replace (取代) www.example.com 替代網域名稱,以及 EDFDVBD6EXAMPLE 目標分佈 ID。使用與目標分佈位於相同 AWS 帳戶中的憑證來執行此命令。請注意下列使用此命令的限制:

    • 您必須擁有目標分佈的 cloudfront:AssociateAliascloudfront:UpdateDistribution 許可。

    • 如果來源和目標分佈位於相同的 AWS 帳戶,您必須擁有來源分佈的 cloudfront:UpdateDistribution 許可。

    • 如果來源和目標分佈在不同的 AWS 帳戶,則必須停用來源分佈。

    • 目標分佈必須依照 設定目標分佈 所述的方式設定。

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

    此命令會從來源分佈中移除替代網域名稱,並將其新增至目標分佈中,藉此更新這兩個分佈。

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

使用萬用字源來移動替代網域名稱

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

注意

無法使用萬用字元來移動 Apex 網域 (例如 example.com)。若要在來源分佈和目標分佈位於不同的 AWS 帳戶時移動 Apex 網域,請聯絡 AWS Support。如需詳細資訊,請參閱聯絡 AWS Support 以移動替代網域名稱

使用萬用字源來移動替代網域名稱
注意

此程序涉及對分佈的多次更新。等待每個分佈完整部署最新的變更後,再進行下一步。

  1. 更新目標分佈,以新增涵蓋您要移動之替代網域名稱的萬用字元替代網域名稱。例如,如果您要移動的替代網域名稱為 www.example.com,請將該替代網域名稱 *.example.com 新增到目標分佈。若要這麼做,目標分佈上的 SSL/TLS 憑證必須包含萬用字元網域名稱。如需詳細資訊,請參閱更新分佈

  2. 更新替代網域名稱DNS的設定,以指向目標分佈的網域名稱。例如,如果您要移動的替代網域名稱是 www.example.com,請更新 www.example.com DNS的記錄,將流量路由到目標分佈的網域名稱 (例如 d111111abcdef8.cloudfront.net)。

    注意

    即使在更新DNS設定之後,來源分佈仍會提供替代網域名稱,因為這是目前設定替代網域名稱的位置。

  3. 更新來源分佈來移除替代網域名稱。如需詳細資訊,請參閱 更新分佈

  4. 更新目標分佈來新增替代網域名稱。如需詳細資訊,請參閱更新分佈

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

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

聯絡 AWS Support 以移動替代網域名稱

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

若要聯絡 AWS Support 以移動替代網域名稱
  1. 設定目標分佈,包括指向目標分佈DNSTXT的記錄。如需詳細資訊,請參閱設定目標分佈

  2. 聯絡 AWS Support 以請求他們驗證您是否擁有網域,並將網域移至新的 CloudFront 分發。

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