將替代網域名稱移至其他發行版 - Amazon CloudFront

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

將替代網域名稱移至其他發行版

如果您嘗試將替代網域名稱新增到分佈,但替代網域名稱已在不同分佈使用時,您會收到 CNAMEAlreadyExists 錯誤訊息 (您提供的一個或多個 CNAME 已與不同的資源相關聯)。例如,當您嘗試將 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. 建立 DNS TXT 紀錄,將替代網域名稱與目標分佈的分佈網域名稱建立關聯。建立 TXT 紀錄,並在替代網域名稱前加上底線 (_)。下列範例顯示 DNS 中的 TXT 紀錄:

    _www.example.com TXT d111111abcdef8.cloudfront.net

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

尋找來源分佈

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

尋找替代網域名稱的來源分佈
  1. 使用 AWS Command Line Interface (AWS CLI) 中的CloudFront list-conflicting-aliases指令,如下列範例所示。以替代網域名稱取代 www.example.com,用您先前設定之目標分佈的 ID 取代 EDFDVBD6EXAMPLE。使用與目標發佈位於相同 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。分佈和帳戶 ID 會部分隱藏,這樣既可以讓您識別出您擁有的分佈和帳戶,同時又可以避免洩漏非您擁有之分佈和帳戶的資訊。

  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令,如下列範例所示。以替代網域名稱取代 www.example.com,以具有目標分佈 ID 取代 EDFDVBD6EXAMPLE。使用與目標發佈位於相同 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. 設定目標分佈,包括指向目標分佈的 DNS TXT 紀錄。如需詳細資訊,請參閱 設定目標分佈

  2. 聯繫 AWS Support以要求他們驗證您是否擁有該域,並將域名移至新的 CloudFront 發行版本。

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