使用暫存發佈和持續部署原則 - 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 主控台中完成 [建立暫存分配] 精靈後,請 CloudFront 執行下列動作:

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

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

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

當主要發行版的組態 (使用連結的連續部署原則) 部署至 Edge 位置時,會 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

當主要發行版的組態 (使用連結的連續部署原則) 部署至 Edge 位置時,會 CloudFront 開始根據流量組態將指定部分的流量傳送至暫存分發。

API

若要使用 CloudFront API 建立預備分發和持續部署原則,請使用下列 API 作業:

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

建立暫存散發和持續部署原則之後,請使用 UpdateDistribution(在主要發行版上) 將持續部署原則附加至主要發行版。

更新暫存發行版

下列程序說明如何使用持續部署原則更新暫存散發。

Console

您可以更新主要和暫存發行版的特定組態。如需詳細資訊,請參閱 更新主要和暫存發行版

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

  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. 在開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  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. 在開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  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