本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新 CloudFormation StackSets
您可以使用 CloudFormation 主控台或 更新堆疊集 AWS CLI。
注意
若要覆寫堆疊執行個體的參數值,請參閱 覆寫堆疊執行個體上的參數。若要從堆疊集新增和移除帳戶和區域,請參閱 將堆疊新增至 StackSets和 從 刪除堆疊執行個體 StackSets。
更新您的堆疊集 (主控台)
登入 AWS Management Console 並在 https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
在畫面頂端的導覽列上,選擇您建立堆疊集的 AWS 區域 。
-
從導覽窗格中,選擇 StackSets。
-
在StackSets頁面上,選取您要更新的堆疊集。
-
選取堆疊集後,從動作功能表中選擇編輯 StackSet詳細資訊。
-
在選擇範本頁面上,視需要更新許可區段,或跳至下一個步驟。
-
對於先決條件 - 準備範本,選擇使用目前範本來使用目前範本,或將目前範本取代為指定 S3 URL到另一個範本或上傳新範本。
-
選擇 Next (下一步)。
-
在指定 StackSet 詳細資訊頁面上,針對StackSet 描述,視需要更新堆疊集的描述。
-
針對 參數,視需要更新參數值。
-
選擇 Next (下一步)。
-
在設定 StackSet 選項頁面上,針對標籤,視需要修改標籤。您可以新增、更新或刪除標籤。如需如何在 中使用標籤的詳細資訊 AWS,請參閱AWS Billing and Cost Management 《 使用者指南》中的使用成本分配標籤來組織和追蹤 AWS 成本。
-
對於執行組態,您可以視需要更新執行組態。
注意
如果已經有執行中或已排入佇列的操作, 會 StackSets 佇列所有傳入的操作,即使它們沒有衝突。
當堆疊集有執行中或排入佇列的操作時,您無法修改堆疊集的執行組態。
-
如果您的範本包含IAM資源,對於功能,請選擇我確認此範本可能會建立IAM資源,以指定您想要在範本中使用IAM資源。如需詳細資訊,請參閱認可 CloudFormation 範本中的 IAM 資源。
-
選擇 Next (下一步)。
-
在設定部署選項頁面上,提供更新的帳戶和區域。
CloudFormation 會在第一個區域中的指定帳戶中部署堆疊更新,然後移至下一個,以此類推,只要區域的部署失敗不超過指定的容錯能力。
-
【自我管理許可】 針對帳戶、部署位置,選擇在帳戶中部署堆疊。在文字方塊中貼上IDs您用來建立堆疊集的目標帳戶,以逗號分隔多個數字。
【服務受管許可】 執行下列其中一項操作:
-
選擇部署到組織單位 (OUs)。輸入OUs您用來建立堆疊集的目標。
-
選擇 Deploy to accounts (部署至帳戶)。貼上IDs您用來建立堆疊集的目標 OU IDs或帳戶。
-
-
針對指定區域,指定您要 CloudFormation 部署更新時的順序。
-
針對 Deployment options (部署選項):
-
針對最大並行帳戶,視需要修改最大並行帳戶。
-
針對容錯能力,視需要修改容錯能力。
-
對於區域並行,視需要修改區域並行。
-
對於並行模式,視需要修改並行模式。
-
-
選擇 Next (下一步) 繼續。
-
-
在 Review (檢閱) 頁面上,檢視您的選擇。若要進行變更,請在相關區段中選擇編輯。
-
當您準備好繼續時,請選擇提交。
CloudFormation 會開始將更新套用至堆疊集,並顯示堆疊集詳細資訊頁面的操作索引標籤。您可以在 Operations (操作) 標籤中檢視更新操作的進度和狀態。
更新您的堆疊集 (AWS CLI)
擔任委派管理員時,每次執行命令DELEGATED_ADMIN
時,您必須將 --call-as
選項設定為 StackSets。
--call-as
DELEGATED_ADMIN
-
使用 update-stack-set 命令來變更堆疊集。
在下列範例命令中,我們使用 更新堆疊集
--parameters
。具體而言,我們會將交付管道組態的預設快照交付頻率從 變更為TwentyFour_Hours
Twelve_Hours
。由於我們仍在使用目前的範本,因此我們新增--use-previous-template
選項。【自我管理許可】 對於
--accounts
選項,請提供IDs您要更新的目標帳戶。aws cloudformation update-stack-set --stack-set-name
my-awsconfig-stackset
\ --use-previous-template --parametersParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours
\ --accounts'["account_ID_1","account_ID_2"]'
\ --regions'["us-west-2","us-east-1"]'
【服務受管許可】 對於
--deployment-targets
選項,請提供IDs您要更新的目標組織 (根) IDIDs、OU 或 AWS Organizations 帳戶。aws cloudformation update-stack-set --stack-set-name
my-stackset
\ --use-previous-template \ --parametersParameterKey=MaximumExecutionFrequency,ParameterValue=Twelve_Hours
\ --deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5j1lwo", "ou-rcuk-slr5lh0a"]'
\ --regions'["us-west-2","us-east-1"]'
若要指定如何 CloudFormation 執行此堆疊集操作的偏好設定,請指定
--operation-preferences
選項,如下列範例所示。基於此範例的目的,我們使用計數,而非百分比。若要改為套用百分比,請使用FailureTolerancePercentage
或MaxConcurrentPercentage
。--operation-preferences
FailureToleranceCount=0,MaxConcurrentCount=1
注意
MaxConcurrentCount
的值取決於FailureToleranceCount
的值。MaxConcurrentCount
最多比FailureToleranceCount
多 1。 -
藉由執行 describe-stack-set-operation 命令以顯示更新操作的狀態和結果,確認您的堆疊集已成功更新。針對
--operation-id
,使用您的 update-stack-set 命令所傳回的操作 ID。aws cloudformation describe-stack-set-operation \ --operation-id
operation_ID