使用預備分佈和持續部署政策 - Amazon CloudFront

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

使用預備分佈和持續部署政策

您可以使用 AWS Command Line Interface (AWS CLI) 或 CloudFront API,在 CloudFront 主控台中建立、更新和修改預備分佈和持續部署政策。

使用連續部署政策建立預備分佈

下列程序說明如何使用持續部署政策建立預備分佈。

Console

您可以使用 建立具有連續部署政策的預備分佈 AWS Management Console。

建立臨時分佈和持續部署政策 (主控台)
  1. 登入 AWS Management Console ,並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  2. 在導覽窗格中,選擇 Distributions (分佈)

  3. 選擇您要做為主要分佈的分佈。主要分佈目前為生產流量提供服務,也就是您從中建立臨時分佈的地方。

  4. Continuous deployment (持續部署) 區段中,選擇 Create staging distribution (建立臨時分佈)。這項操作會開啟 Create staging distribution (建立臨時分佈) 精靈。

  5. Create staging distribution (建立臨時分佈) 精靈中,執行下列動作:

    1. (選用) 輸入臨時分佈的描述。

    2. 選擇下一步

    3. 修改臨時分佈的組態。如需詳細了解您可以更新的設定,請參閱 更新主要和預備分佈

      修改完臨時分佈的組態後,請選擇 Next (下一步)。

    4. 使用控制台指定 Traffic configuration (流量組態)。這會決定 CloudFront 如何將流量路由至臨時分佈。(CloudFront 會將流量組態儲存在持續部署政策中。)

      如需 Traffic configuration (流量組態) 選項的詳細資訊,請參閱 將請求路由至預備分佈

      完成 Traffic configuration (流量組態) 時,請選擇 Next (下一步)。

    5. 檢閱包含流量組態的臨時分佈組態,然後選擇 Create staging distribution (建立臨時分佈)。

在 CloudFront 主控台完成 Create staging distribution (建立臨時分佈) 精靈後,CloudFront 會執行下列動作:

  • 使用您在步驟 5c 中指定的設定,建立臨時分佈

  • 使用您在步驟 5d 中指定的流量組態,建立持續部署政策

  • 將持續部署政策連接至您從中建立臨時分佈的主要分佈

當主要分佈的組態使用連接的持續部署政策部署到邊緣節點時,CloudFront 會開始根據流量組態,將指定的部分流量傳送至臨時分佈。

CLI

若要使用 建立預備分佈和持續部署政策 AWS CLI,請使用下列程序。

建立臨時分佈 (CLI)
  1. 同時使用 aws cloudfront get-distributiongrep 命令,針對您要做為主要分佈的分佈,取得其 ETag 值。主要分佈目前為生產流量提供服務,也就是您從中建立臨時分佈的地方。

    以下為命令的範例。在下列範例中,請將 primary_distribution_ID 取代為主要分佈的 ID。

    aws cloudfront get-distribution --id primary_distribution_ID | grep 'ETag'

    請複製 ETag 值,因為您會在以下步驟使用該值。

  2. 使用 aws cloudfront copy-distribution 命令建立臨時分佈。下列範例命令使用逸出字元 (\) 和換行符號以提高可讀性,但您應在命令中省略這些字元。以下是範例命令:

    • primary_distribution_ID 取代為主要分佈的 ID。

    • primary_distribution_ETag 取代為主要分佈的 ETag 值,也就是您在上一個步驟中取得的值。

    • (可選) 將 CLI_example 取代為所需的呼叫者參考 ID。

    aws cloudfront copy-distribution --primary-distribution-id primary_distribution_ID \ --if-match primary_distribution_ETag \ --staging \ --caller-reference 'CLI_example'

    命令的輸出會顯示有關臨時分佈及其組態的資訊。請複製臨時分佈的 CloudFront 網域名稱,因為您需在接下來的步驟使用。

建立持續部署政策 (包含輸入檔案的 CLI)
  1. 使用下列命令建立一個名為 continuous-deployment-policy.yaml 的檔案,其中包含 create-continuous-deployment-policy 命令的所有輸入參數。下列命令使用逸出字元 (\) 和換行符號以提高可讀性,但您應在命令中省略這些字元。

    aws cloudfront create-continuous-deployment-policy --generate-cli-skeleton yaml-input \ > continuous-deployment-policy.yaml
  2. 開啟您剛才建立且命名為 continuous-deployment-policy.yaml 的檔案。編輯檔案以指定您想要的持續部署政策設定,然後儲存檔案。當您編輯檔案時:

    • StagingDistributionDnsNames 區段:

      • Quantity 的值變更為 1

      • 對於 Items,貼上於上一個步驟儲存的臨時分佈的 CloudFront 網域名稱。

    • TrafficConfig 區段:

      • 選擇 Type,可為 SingleWeightSingleHeader

      • 移除其他類型的設定。例如,若您要以權重為基礎的流量組態,請將 Type 設定為 SingleWeight,然後移除 SingleHeaderConfig 設定。

      • 若要使用以權重為基礎的流量組態,請將 Weight 值設定為介於 .01 (百分之一) 到 .15 (百分之十五) 間的十進位數字。

      如需 TrafficConfig 選項的詳細資訊,請參閱 將請求路由至預備分佈以權重為基礎之組態的工作階段黏性

  3. 使用下列命令,使用 continuous-deployment-policy.yaml 檔案中的輸入參數建立持續部署政策。

    aws cloudfront create-continuous-deployment-policy --cli-input-yaml file://continuous-deployment-policy.yaml

    複製命令輸出中的 Id 值。這是持續部署政策 ID,您會在接下來的步驟使用。

將持續部署政策連接至主要分佈 (包含輸入檔案的 CLI)
  1. 使用下列命令,將主要分佈的組態儲存至名為 primary-distribution.yaml 的檔案。將 primary_distribution_ID 取代為主要分佈的 ID。

    aws cloudfront get-distribution-config --id primary_distribution_ID --output yaml > primary-distribution.yaml
  2. 開啟您剛才建立且命名為 primary-distribution.yaml 的檔案。編輯檔案,進行下列變更:

    • 將您從上一個步驟複製的持續部署政策 ID 貼到 ContinuousDeploymentPolicyId 欄位。

    • ETag 欄位重新命名為 IfMatch,但不要變更欄位的值。

    完成後儲存檔案。

  3. 使用下列命令來更新主要分佈,以使用持續部署政策。將 primary_distribution_ID 取代為主要分佈的 ID。

    aws cloudfront update-distribution --id primary_distribution_ID --cli-input-yaml file://primary-distribution.yaml

當主要分佈的組態使用連接的持續部署政策部署到邊緣節點時,CloudFront 會開始根據流量組態,將指定的部分流量傳送至臨時分佈。

API

若要使用 CloudFront API 建立臨時分佈和持續部署政策,請使用下列 API 操作:

如需詳細了解您在這些 API 呼叫中指定的欄位,請參閱以下內容:

建立臨時分佈和持續部署政策之後,請使用 UpdateDistribution (在主要分佈上),將持續部署政策連接至主要分佈。

更新預備分佈

下列程序說明如何使用連續部署政策更新預備分佈。

Console

您可以更新主要和預備分佈的特定組態。如需詳細資訊,請參閱更新主要和預備分佈

更新臨時分佈 (主控台)
  1. https://console.aws.amazon.com/cloudfront/v4/home 中開啟 CloudFront 主控台。

  2. 在導覽窗格中,選擇 Distributions (分佈)

  3. 選擇主要分佈。這是目前為生產流量提供服務的分佈,也就是您從中建立臨時分佈的地方。

  4. 選擇 View staging distribution (檢視臨時分佈)。

  5. 使用主控台修改臨時分佈的組態。如需詳細了解您可以更新的設定,請參閱 更新主要和預備分佈

一旦臨時分佈的組態部署到邊緣節點,即對路由至臨時分佈的傳入流量產生效果。

CLI
更新臨時分佈 (包含輸入檔案的 CLI)
  1. 使用下列命令,將臨時分佈的組態儲存至名為 staging-distribution.yaml 的檔案。將 staging_distribution_ID 取代為暫存分佈的 ID。

    aws cloudfront get-distribution-config --id staging_distribution_ID --output yaml > staging-distribution.yaml
  2. 開啟您剛才建立且命名為 staging-distribution.yaml 的檔案。編輯檔案,進行下列變更:

    • 修改臨時分佈的組態。如需詳細了解您可以更新的設定,請參閱 更新主要和預備分佈

    • ETag 欄位重新命名為 IfMatch,但不要變更欄位的值。

    完成後儲存檔案。

  3. 使用下列命令來更新臨時分佈的組態。將 staging_distribution_ID 取代為暫存分佈的 ID。

    aws cloudfront update-distribution --id staging_distribution_ID --cli-input-yaml file://staging-distribution.yaml

一旦臨時分佈的組態部署到邊緣節點,即對路由至臨時分佈的傳入流量產生效果。

API

若要更新臨時分佈的組態,請使用 UpdateDistribution (在臨時分佈上),修改臨時分佈的組態。如需詳細了解您可以更新的設定,請參閱 更新主要和預備分佈

更新持續部署政策

下列程序說明如何更新持續部署政策。

Console

您可以透過更新持續部署政策來更新分佈的流量組態。

更新持續部署政策 (主控台)
  1. https://console.aws.amazon.com/cloudfront/v4/home 中開啟 CloudFront 主控台。

  2. 在導覽窗格中,選擇 Distributions (分佈)

  3. 選擇主要分佈。這是目前為生產流量提供服務的分佈,也就是您從中建立臨時分佈的地方。

  4. Continuous deployment (持續部署) 區段中,選擇 Edit policy (編輯政策)。

  5. 修改持續部署政策中的流量組態。完成時,請選擇 Save changes (儲存變更)

當主要分佈的組態使用更新的持續部署政策部署到邊緣節點時,CloudFront 會開始根據更新的流量組態,將流量傳送至臨時分佈。

CLI
更新持續部署政策 (包含輸入檔案的 CLI)
  1. 使用下列命令,將持續部署政策的組態儲存至名為 continuous-deployment-policy.yaml 的檔案。將 continuous_deployment_policy_ID 取代為持續部署政策的 ID。下列命令使用逸出字元 (\) 和換行符號以提高可讀性,但您應在命令中省略這些字元。

    aws cloudfront get-continuous-deployment-policy-config --id continuous_deployment_policy_ID \ --output yaml > continuous-deployment-policy.yaml
  2. 開啟您剛才建立且命名為 continuous-deployment-policy.yaml 的檔案。編輯檔案,進行下列變更:

    • 視需要修改持續部署政策的組態。例如,您可以從以標頭為基礎的流量組態,改為使用以權重為基礎的流量組態,或變更以權重為基礎的組態的流量百分比 (權重)。如需詳細資訊,請參閱將請求路由至預備分佈以權重為基礎之組態的工作階段黏性

    • ETag 欄位重新命名為 IfMatch,但不要變更欄位的值。

    完成後儲存檔案。

  3. 使用下列命令來更新持續部署政策。將 continuous_deployment_policy_ID 取代為持續部署政策的 ID。下列命令使用逸出字元 (\) 和換行符號以提高可讀性,但您應在命令中省略這些字元。

    aws cloudfront update-continuous-deployment-policy --id continuous_deployment_policy_ID \ --cli-input-yaml file://continuous-deployment-policy.yaml

當主要分佈的組態使用更新的持續部署政策部署到邊緣節點時,CloudFront 會開始根據更新的流量組態,將流量傳送至臨時分佈。

API

若要更新持續部署政策,請使用 UpdateContinuousDeploymentPolicy

提升預備分佈組態

下列程序說明如何提升預備分佈組態。

Console

提升臨時分佈時,CloudFront 會將組態從臨時分佈複製到主要分佈。CloudFront 也會停用持續部署政策,並將所有流量路由至主要分佈。

提升組態之後,您可以在下次測試組態變更時,重複使用相同的臨時分佈。

提升臨時分佈組態 (主控台)
  1. https://console.aws.amazon.com/cloudfront/v4/home 中開啟 CloudFront 主控台。

  2. 在導覽窗格中,選擇 Distributions (分佈)

  3. 選擇主要分佈。這是目前為生產流量提供服務的分佈,也就是您從中建立臨時分佈的地方。

  4. Continuous deployment (持續部署) 區段中,選擇 Promote (提升)。

  5. 輸入 confirm,然後選擇 Promote (提升)。

CLI

提升臨時分佈時,CloudFront 會將組態從臨時分佈複製到主要分佈。CloudFront 也會停用持續部署政策,並將所有流量路由至主要分佈。

提升組態之後,您可以在下次測試組態變更時,重複使用相同的臨時分佈。

提升臨時分佈組態 (CLI)
  • 使用 aws cloudfront update-distribution-with-staging-config 命令,將臨時分佈的組態提升為主要分佈。下列範例命令使用逸出字元 (\) 和換行符號以提高可讀性,但您應在命令中省略這些字元。以下是範例命令:

    • primary_distribution_ID 取代為主要分佈的 ID。

    • staging_distribution_ID 取代為臨時分佈的 ID。

    • primary_distribution_ETagstaging_distribution_ETag 取代為主要分佈和臨時分佈的 ETag 值。請確認主要分佈的值是第一個,如範例所示。

    aws cloudfront update-distribution-with-staging-config --id primary_distribution_ID \ --staging-distribution-id staging_distribution_ID \ --if-match 'primary_distribution_ETag,staging_distribution_ETag'
API

若要將臨時分佈的組態提升為主要分佈,請使用 UpdateDistributionWithStagingConfig