AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

更新堆栈集

您可以在 AWS 管理控制台 中或通过在 AWS CLI 中使用 AWS CloudFormation 命令来更新堆栈集。在本演练中,我们将传输通道配置的默认快照传输频率从 24hours 更改为 12hours

使用 AWS 管理控制台 更新堆栈集

  1. 通过以下网址打开 AWS CloudFormation 控制台:https://console.amazonaws.cn/cloudformation

  2. 在页面顶部,选择 StackSets

  3. 在 StackSets 主页上,选择您在创建新堆栈集中创建的堆栈集。在本演练中,我们创建了名为 my-awsconfig-stackset 的堆栈集。

  4. 在选定堆栈集后,从 Actions 菜单中选择 Manage stacks in stack set

  5. 选择 Edit stacks,然后选择 Next

     “Manage stacks in stack set”页面
  6. Select template 页面上,选择您是要更新当前模板,指定另一个模板的 S3 URL,还是将新模板上传到 AWS CloudFormation。在本演练中,我们将使用当前模板。选择 Current template: Update my-aws-config-stackset,然后选择 Next

     “Select template”页面
  7. 在向导的 Specify details 页面上,更改以下信息。

    1. 系统将提示您为 AWS Config 使用的参数指定值。有关这些参数的更多信息,请参阅 AWS Config 开发人员指南 中的使用控制台设置 AWS Config。在本演练中,我们将传递通道配置的默认快照传输频率从 24hours 更改为 12hours

       更改 AWS Config 参数
    2. 请不要更改其他参数。在本演练中,我们不配置 Amazon SNS 更新。

  8. 当您更新完 AWS Config 的 Delivery snapshot frequency 参数后,选择 Next

  9. Set deployment options 页面上,为 Maximum concurrent accounts 保留默认值 1By number。这意味着,AWS CloudFormation 一次仅在一个账户中更新您的堆栈。保留 Failure tolerance 的默认值 0,并保留 By number 默认选项。这意味着,只要您指定区域之一中有一个堆栈更新失败,AWS CloudFormation 就会停止当前区域中的更新并取消剩余区域中的更新。选择 Next

    注意

    您无法在此处更改账户和区域;即,您无法将堆栈集更改部署到某些账户和区域 (而不是其他账户和区域) 的堆栈中。

     “Set update”选项
  10. Tags 页面上,无需进行任何更改,但如果需要,您可以在此处更新、删除或添加新标签。有关如何在 AWS 中使用标签的更多信息,请参阅 AWS Billing and Cost Management 用户指南 中的使用成本分配标签。选择 Next

  11. Review 页面上,查看您的选择和堆栈集的属性。要进行更改,请在要更改属性的区域的右上角选择 Edit。您必须先选中 Capabilities 区域中的复选框以确认您使用堆栈集更新的一些资源可能需要新的 IAM 资源和权限,然后才能更新堆栈集。有关可能需要的权限的更多信息,请参阅本指南中的确认 AWS CloudFormation 模板中的 IAM 资源。当您准备好创建堆栈集时,选择 Update stacks

     “Review update”选项
  12. AWS CloudFormation 开始将您的更新应用于堆栈集。您可以在选择 Update stacks 后打开的堆栈集属性页面上查看更新的进度和状态。您应在 AWS Config 参数中看到更新后的 Delivery snapshot frequency 周期。

使用 AWS CLI 更新堆栈集模板

运行 update-stack-set AWS CLI 命令以更改堆栈集。在本演练中,我们将更新 MaximumExecutionFrequency 参数的值。有关创建或更新 AWS Config 规则所用的参数名称和值的更多信息,请参阅 AWS CLI 参考中的 put-config-rule。要更改模板参数值,请添加 --parameters 参数。有关您可为 --parameters 指定什么值的更多信息,请参阅 AWS CloudFormation API 参考中的参数AWS CLI 命令参考 中的 update-stack

在此处显示的示例命令中,我们使用 --parameters 更新堆栈集;具体而言,我们将传输通道配置的默认快照传输频率从 TwentyFour_Hours 更改为 Twelve_Hours。因为我们仍在使用当前模板,所以添加 --use-previous-template 参数。

  1. 运行以下命令。对于 stack set name,指定堆栈集名称 my-awsconfig-stackset

    通过在 --operation-preferences 参数中将 FailureToleranceCount 设置为 0 以及将 MaxConcurrentCount 设置为 1 来设置容错能力和最大并发账户数,如以下示例中所示。要改为应用百分比,请使用 FailureTolerancePercentageMaxConcurrentPercentage。在本演练中,我们使用的是计数而不是百分比。

    aws cloudformation update-stack-set --stack-set-name my-awsconfig-stackset --use-previous-template --parameters ParameterKey=MaximumExecutionFrequency,ParameterValue=TwentyFour_Hours\\,Twelve_Hours --operation-preferences FailureToleranceCount=0,MaxConcurrentCount=1
  2. 通过运行 describe-stack-set-operation 命令显示更新操作的状态和结果,来验证是否已成功更新堆栈集。对于 --operation-id,使用由您的 update-stack-set 命令返回的操作 ID。

    aws cloudformation describe-stack-set-operation --operation-id operation_ID