Update your stack set
You can update your stack set in either the AWS Management Console, or by using AWS CloudFormation commands in the AWS CLI. In this walkthrough, we are changing the default snapshot delivery frequency for delivery channel configuration from 24hours to 12hours.
To override parameter values for specific stack instances, see Override parameters on stack instances.
Topics
Update your stack set using the AWS CloudFormation console
Open the AWS CloudFormation console at https://console.aws.amazon.com/cloudformation
. -
From the navigation pane, choose StackSets.
-
On the StackSets page, select the stack set that you created in Create a stack set. In this walkthrough, we created a stack set named
my-awsconfig-stackset
. -
With the stack set selected, choose Edit StackSet details from the Actions menu.
-
On the Choose a template page, choose whether you want to update the current template, specify an S3 URL to another template, or upload a new template to AWS CloudFormation. In this walkthrough, we are using the current template. Choose Use current template, and then choose Next.
-
On the Specify StackSet details page, modify parameter values and specify deployment targets.
-
[Self-managed permissions] For Deployment targets, choose Deploy stacks in accounts. Paste your target account numbers in the text box, separating multiple numbers with commas.
[Service-managed permissions] For Deployment targets, choose the accounts in your organization to deploy to.
-
Select the Region.
-
Change the value of the Frequency parameter from 24hours to 12hours.
For more information about this and the other parameters, which specify values used by AWS Config, see Setting up AWS Config with the console in the AWS Config Developer Guide.
Don't make changes to the other parameters. For the purposes of this walkthrough, we are not configuring Amazon SNS updates.
When done, choose Next.
-
-
On the Configure StackSet options page, no changes are needed, but you can update, delete, or add new tags here if desired. For more information about how tags are used in AWS, see Using cost allocation tags in the AWS Billing and Cost Management User Guide. You can also manage the execution configuration to specify whether StackSets performs non-conflicting operations concurrently and queues conflicting operations. After conflicting operations finish, StackSets starts queued operations in request order.
Note
If there are already running or queued operations, StackSets queues all incoming operations even if they are non-conflicting.
You can't modify your stack set's execution configuration while there are running or queued operations for that stack set.
Leave the Permissions unchanged, then choose Next.
-
On the Set deployment options page, keep the default value of 1 and By number for Maximum concurrent accounts. Keep the default Failure tolerance of 0, and keep the By number default option. Choose Next.
Note
You can't change accounts and Regions here; that is, you cannot deploy stack set changes to stacks in some accounts and Regions, but not others.
-
On the Review page, review your choices and your stack set's properties. To make changes, choose Edit in the upper-right corner of an area in which you want to change properties. Before you can update the stack set, you must fill the check box in the Capabilities area to acknowledge that some of the resources that you are updating with the stack set might require new IAM resources and permissions. For more information about potentially required permissions, see Acknowledging IAM resources in AWS CloudFormation templates in this guide. When you are ready to create your stack set, choose Submit.
AWS CloudFormation starts applying your updates to your stack set, and displays the Operations tab of the stack set details page
-
You can view the progress and status of update operations on the Operations tab. You should see the updated Frequency parameter in the Parameter tab.
Update your stack set using the AWS CLI
When acting as a delegated administrator, you must set the --call-as
parameter to DELEGATED_ADMIN
each time you run a StackSets
command.
--call-as
DELEGATED_ADMIN
Run the update-stack-set
AWS CLI command to make changes to your stack set. In this
walkthrough, we are updating the value of the MaximumExecutionFrequency
parameter. For more
information about the parameter names and values for creating or updating an AWS Config rule, see put-config-rule in the AWS CLI
reference. To change template parameter values, add the --parameters
parameter. For more information
about what you can specify as a value for --parameters
, see Parameter in the
AWS CloudFormation API Reference, and update-stack
in the AWS CLI Command Reference.
In the example command shown here, we are updating the stack set by using
--parameters
; specifically, we change the default snapshot
delivery frequency for delivery channel configuration from
TwentyFour_Hours to Twelve_Hours.
Because we are still using the current template, we add the
--use-previous-template
parameter.
-
Run the following command. For
stack set name
, specify the stack set namemy-awsconfig-stackset
.Set the failure tolerance and maximum concurrent accounts by setting
FailureToleranceCount
to0
, andMaxConcurrentCount
to1
in the--operation-preferences
parameter, as shown in the following example. To apply percentages instead, useFailureTolerancePercentage
orMaxConcurrentPercentage
. For the purposes of this walkthrough, we are using count, not percentage.Note
The value of
MaxConcurrentCount
is dependent on the value ofFailureToleranceCount
.MaxConcurrentCount
is at most one more thanFailureToleranceCount
.[Self-managed permissions] Provide the account IDs you want your update to target.
aws cloudformation update-stack-set --stack-set-name
my-awsconfig-stackset
--use-previous-template --parameters ParameterKey=MaximumExecutionFrequency
,ParameterValue=TwentyFour_Hours
\\,Twelve_Hours
--operation-preferencesFailureToleranceCount=0
,MaxConcurrentCount=1
--accounts '["account_ID_1
","account_ID_2
"]'[Service-managed permissions] Provide the organization (root) ID, OU IDs, or AWS Organizations account IDs you want your update to target.
aws cloudformation update-stack-set --stack-set-name
my-awsconfig-stackset
--use-previous-template --parameters ParameterKey=MaximumExecutionFrequency
,ParameterValue=TwentyFour_Hours
\\,Twelve_Hours
--operation-preferencesFailureToleranceCount=0
,MaxConcurrentCount=1
--deployment-targets OrganizationalUnitIds='["ou-rcuk-1x5j1lwo
", "ou-rcuk-slr5lh0a
"]' --regions '["eu-west-1
"]' -
Verify that your stack set was updated successfully by running the
describe-stack-set-operation
command to show the status and results of your update operation. For--operation-id
, use the operation ID that was returned by yourupdate-stack-set
command.aws cloudformation describe-stack-set-operation --operation-id
operation_ID