AWS CloudFormation
User Guide (API 版本 2010-05-15)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

覆盖堆栈实例上的参数

在某些情况下,您可能希望特定区域或账户中堆栈实例的属性值与堆栈集中指定的属性值不同。例如,您可能希望根据账户是用于开发还是生产来为给定参数指定不同的值。对于这些情况,AWS CloudFormation 允许您按账户和区域覆盖堆栈实例中的参数值。您可在首次创建堆栈实例时覆盖模板参数值,并且可覆盖现有堆栈实例的参数值。您只能将之前在堆栈实例中覆盖的参数设置回在堆栈集中指定的值。

参数值覆盖适用于您选择的账户和区域中的堆栈实例。堆栈集更新期间,不会更新为堆栈实例覆盖的任何参数值,但保留其覆盖值。

您只能覆盖在堆栈集中指定的参数;要添加或删除参数本身,您需要更新堆栈集模板。如果将参数添加到堆栈集模板,则必须先使用堆栈集中指定的新参数和值更新所有堆栈实例,然后才能覆盖堆栈实例中的参数值。使用新参数更新所有堆栈实例后,您可按需覆盖各个堆栈实例中的参数值。

要了解在创建堆栈实例时如何覆盖堆栈集参数值,请参阅将堆栈添加到堆栈集

使用 AWS 管理控制台覆盖堆栈实例中的参数值

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

  2. 在页面顶部,选择 StackSets。在 StackSets 主页上,选择您在创建新堆栈集中创建的堆栈集。在该演练中,我们创建了一个名为 my-awsconfig-stackset 的堆栈集。

  3. 在选定堆栈集后,从 Actions 菜单中选择 Manage stacks in StackSet

  4. 选择 Override parameters for selected stacks,然后选择 Next

  5. Set deployment options 页面上的 Specify accounts 区域中,选择 Update stacks in account

  6. Account 文本框中,粘贴您用于在创建新堆栈集中创建堆栈集的部分或所有目标账户 ID。

  7. Specify regions 区域中,选择所有区域 (按住 Ctrl 的同时选择区域可选择多个区域),然后选择 Add 将所有堆栈集区域添加到列表中。

  8. Deployment options 区域中,为 Maximum concurrent accounts 保留默认值 1By number,然后将 Failure tolerance 的值更改为 1。务必将 Failure tolerance 也设置为 By number。选择 Next

  9. Set overrides 页面上的 Delivery Channel Configuration 部分中,对于 Snapshot delivery frequency 参数,选中 Override existing value,然后选择 6hours。您将指示 AWS CloudFormation 覆盖 Snapshot delivery frequency 参数值并对指定区域中指定账户的所有堆栈实例使用 6hours。选择 Next

    注意

    要将任何覆盖参数设置回使用在堆栈集中指定的值,请选择 Revert all parameters to StackSet values。这样做将在您更新堆栈实例后删除所有覆盖值。

  10. 单击 Next

  11. Review 页面上,查看您的选择。请注意,Snapshot delivery frequency 参数将显示一个 override 图标,指示其值已在堆栈级别覆盖。

    请选择每个部分的右上角的 Edit 以返回并进行任何更改 (如有必要)。当您准备使用覆盖参数更新堆栈时,请选择 Update stacks