本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用暫存發佈和持續部署原則
您可以使用 AWS Command Line Interface (AWS CLI) 或使用 CloudFront API 在 CloudFront 主控台中建立、更新和修改預備分發和持續部署政策。
使用持續部署原則建立暫存散發
下列程序說明如何使用持續部署原則建立暫存散發。
- Console
-
您可以使用建立具有持續部署原則的暫存散發 AWS Management Console。
建立臨時分佈和持續部署政策 (主控台)
登入 AWS Management Console 並開啟 CloudFront 主控台,位於https://console.aws.amazon.com/cloudfront/v4/home
。 -
在導覽窗格中,選擇 Distributions (分佈)。
-
選擇您要做為主要分佈的分佈。主要分佈目前為生產流量提供服務,也就是您從中建立臨時分佈的地方。
-
在 Continuous deployment (持續部署) 區段中,選擇 Create staging distribution (建立臨時分佈)。這項操作會開啟 Create staging distribution (建立臨時分佈) 精靈。
-
在 Create staging distribution (建立臨時分佈) 精靈中,執行下列動作:
-
(選用) 輸入臨時分佈的描述。
-
選擇下一步。
-
修改臨時分佈的組態。如需詳細了解您可以更新的設定,請參閱 更新主要和暫存發行版。
修改完臨時分佈的組態後,請選擇 Next (下一步)。
-
使用控制台指定 Traffic configuration (流量組態)。這會決定如何將流量 CloudFront 路由至預備分發。(將流量組態CloudFront 儲存在連續部署原則中。)
如需 Traffic configuration (流量組態) 選項的詳細資訊,請參閱 將要求路由至暫存發行版。
完成 Traffic configuration (流量組態) 時,請選擇 Next (下一步)。
-
檢閱包含流量組態的臨時分佈組態,然後選擇 Create staging distribution (建立臨時分佈)。
-
在 CloudFront 主控台中完成 [建立暫存分配] 精靈後,請 CloudFront 執行下列動作:
-
使用您在步驟 5c 中指定的設定,建立臨時分佈
-
使用您在步驟 5d 中指定的流量組態,建立持續部署政策
-
將持續部署政策連接至您從中建立臨時分佈的主要分佈
當主要發行版的組態 (使用連結的連續部署原則) 部署至 Edge 位置時,會 CloudFront 開始根據流量組態將指定部分的流量傳送至暫存分發。
- CLI
-
若要使用建立暫存散發和連續部署原則 AWS CLI,請使用下列程序。
建立臨時分佈 (CLI)
-
同時使用 aws cloudfront get-distribution 和 grep 命令,針對您要做為主要分佈的分佈,取得其
ETag
值。主要分佈目前為生產流量提供服務,也就是您從中建立臨時分佈的地方。以下為命令的範例。在下列範例中,請將
primary_distribution_ID
取代為主要分佈的 ID。aws cloudfront get-distribution --id
primary_distribution_ID
| grep 'ETag'請複製
ETag
值,因為您會在以下步驟使用該值。 -
使用 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-matchprimary_distribution_ETag
\ --staging \ --caller-reference 'CLI_example
'命令的輸出會顯示有關臨時分佈及其組態的資訊。複製預備分發的 CloudFront 網域名稱,因為您需要執行下列步驟。
-
建立持續部署政策 (包含輸入檔案的 CLI)
-
使用下列命令建立一個名為
continuous-deployment-policy.yaml
的檔案,其中包含 create-continuous-deployment-policy 命令的所有輸入參數。下列命令使用逸出字元 (\) 和換行符號以提高可讀性,但您應在命令中省略這些字元。aws cloudfront create-continuous-deployment-policy --generate-cli-skeleton yaml-input \ > continuous-deployment-policy.yaml
-
開啟您剛才建立且命名為
continuous-deployment-policy.yaml
的檔案。編輯檔案以指定您想要的持續部署政策設定,然後儲存檔案。當您編輯檔案時:-
StagingDistributionDnsNames
區段:-
將
Quantity
的值變更為1
。 -
對於
Items
,貼上預備分發 (您從上一個步驟儲存的) 的 CloudFront 網域名稱。
-
-
TrafficConfig
區段:-
選擇
Type
,可為SingleWeight
或SingleHeader
。 -
移除其他類型的設定。例如,若您要以權重為基礎的流量組態,請將
Type
設定為SingleWeight
,然後移除SingleHeaderConfig
設定。 -
若要使用以權重為基礎的流量組態,請將
Weight
值設定為介於.01
(百分之一) 到.15
(百分之十五) 間的十進位數字。
如需
TrafficConfig
選項的詳細資訊,請參閱 將要求路由至暫存發行版 和 以權重為基礎之組態的工作階段黏性。 -
-
-
使用下列命令,使用
continuous-deployment-policy.yaml
檔案中的輸入參數建立持續部署政策。aws cloudfront create-continuous-deployment-policy --cli-input-yaml file://continuous-deployment-policy.yaml
複製命令輸出中的
Id
值。這是持續部署政策 ID,您會在接下來的步驟使用。
將持續部署政策連接至主要分佈 (包含輸入檔案的 CLI)
-
使用下列命令,將主要分佈的組態儲存至名為
primary-distribution.yaml
的檔案。將primary_distribution_ID
取代為主要分佈的 ID。aws cloudfront get-distribution-config --id
primary_distribution_ID
--output yaml > primary-distribution.yaml -
開啟您剛才建立且命名為
primary-distribution.yaml
的檔案。編輯檔案,進行下列變更:-
將您從上一個步驟複製的持續部署政策 ID 貼到
ContinuousDeploymentPolicyId
欄位。 -
將
ETag
欄位重新命名為IfMatch
,但不要變更欄位的值。
完成後儲存檔案。
-
-
使用下列命令來更新主要分佈,以使用持續部署政策。將
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 呼叫中指定的欄位,請參閱以下內容:
-
您的 AWS SDK 或其他 API 用戶端的 API 參考文件
建立暫存散發和持續部署原則之後,請使用 UpdateDistribution(在主要發行版上) 將持續部署原則附加至主要發行版。
更新暫存發行版
下列程序說明如何使用持續部署原則更新暫存散發。
- Console
-
您可以更新主要和暫存發行版的特定組態。如需詳細資訊,請參閱 更新主要和暫存發行版。
更新臨時分佈 (主控台)
在開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home
。 -
在導覽窗格中,選擇 Distributions (分佈)。
-
選擇主要分佈。這是目前為生產流量提供服務的分佈,也就是您從中建立臨時分佈的地方。
-
選擇 View staging distribution (檢視臨時分佈)。
-
使用主控台修改臨時分佈的組態。如需詳細了解您可以更新的設定,請參閱 更新主要和暫存發行版。
一旦臨時分佈的組態部署到邊緣節點,即對路由至臨時分佈的傳入流量產生效果。
- CLI
-
更新臨時分佈 (包含輸入檔案的 CLI)
-
使用下列命令,將臨時分佈的組態儲存至名為
staging-distribution.yaml
的檔案。將staging_distribution_ID
取代為暫存分佈的 ID。aws cloudfront get-distribution-config --id
staging_distribution_ID
--output yaml > staging-distribution.yaml -
開啟您剛才建立且命名為
staging-distribution.yaml
的檔案。編輯檔案,進行下列變更:-
修改臨時分佈的組態。如需詳細了解您可以更新的設定,請參閱 更新主要和暫存發行版。
-
將
ETag
欄位重新命名為IfMatch
,但不要變更欄位的值。
完成後儲存檔案。
-
-
使用下列命令來更新臨時分佈的組態。將
staging_distribution_ID
取代為暫存分佈的 ID。aws cloudfront update-distribution --id
staging_distribution_ID
--cli-input-yaml file://staging-distribution.yaml
一旦臨時分佈的組態部署到邊緣節點,即對路由至臨時分佈的傳入流量產生效果。
-
- API
-
若要更新暫存發佈的組態,請使用 UpdateDistribution(在暫存發佈上) 來修改暫存發佈的組態。如需詳細了解您可以更新的設定,請參閱 更新主要和暫存發行版。
更新持續部署原則
下列程序說明如何更新持續部署原則。
- Console
-
您可以透過更新持續部署原則來更新散發的流量設定。
更新持續部署政策 (主控台)
在開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home
。 -
在導覽窗格中,選擇 Distributions (分佈)。
-
選擇主要分佈。這是目前為生產流量提供服務的分佈,也就是您從中建立臨時分佈的地方。
-
在 Continuous deployment (持續部署) 區段中,選擇 Edit policy (編輯政策)。
-
修改持續部署政策中的流量組態。完成時,請選擇 Save changes (儲存變更)。
當具有更新連續部署原則的主要發行版組態部署到邊緣位置時,會根據更新的流量組態, CloudFront 開始將流量傳送至預備分發。
- CLI
-
更新持續部署政策 (包含輸入檔案的 CLI)
-
使用下列命令,將持續部署政策的組態儲存至名為
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 -
開啟您剛才建立且命名為
continuous-deployment-policy.yaml
的檔案。編輯檔案,進行下列變更:-
視需要修改持續部署政策的組態。例如,您可以從以標頭為基礎的流量組態,改為使用以權重為基礎的流量組態,或變更以權重為基礎的組態的流量百分比 (權重)。如需詳細資訊,請參閱 將要求路由至暫存發行版 及 以權重為基礎之組態的工作階段黏性。
-
將
ETag
欄位重新命名為IfMatch
,但不要變更欄位的值。
完成後儲存檔案。
-
-
使用下列命令來更新持續部署政策。將
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 也會停用連續部署原則,並將所有流量路由傳送至主要散發。
提升組態之後,您可以在下次測試組態變更時,重複使用相同的臨時分佈。
提升臨時分佈組態 (主控台)
在開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home
。 -
在導覽窗格中,選擇 Distributions (分佈)。
-
選擇主要分佈。這是目前為生產流量提供服務的分佈,也就是您從中建立臨時分佈的地方。
-
在 Continuous deployment (持續部署) 區段中,選擇 Promote (提升)。
-
輸入
confirm
,然後選擇 Promote (提升)。
- CLI
-
升級暫存發佈時,會將組態從暫存發佈 CloudFront 複製到主要發行版。 CloudFront 也會停用連續部署原則,並將所有流量路由傳送至主要散發。
提升組態之後,您可以在下次測試組態變更時,重複使用相同的臨時分佈。
提升臨時分佈組態 (CLI)
-
使用 aws cloudfront update-distribution-with-staging-config 命令,將臨時分佈的組態提升為主要分佈。下列範例命令使用逸出字元 (\) 和換行符號以提高可讀性,但您應在命令中省略這些字元。以下是範例命令:
-
將
primary_distribution_ID
取代為主要分佈的 ID。 -
將
staging_distribution_ID
取代為臨時分佈的 ID。 -
將
primary_distribution_ETag
和staging_distribution_ETag
取代為主要分佈和臨時分佈的ETag
值。請確認主要分佈的值是第一個,如範例所示。
aws cloudfront update-distribution-with-staging-config --id
primary_distribution_ID
\ --staging-distribution-idstaging_distribution_ID
\ --if-match 'primary_distribution_ETag
,staging_distribution_ETag
' -
-
- API
-
若要將暫存發行版的組態升級為主要發行版,請使用UpdateDistributionWithStagingConfig。