为 Amazon Organizations 中的堆栈集启用或禁用自动部署 - Amazon CloudFormation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

为 Amazon Organizations 中的堆栈集启用或禁用自动部署

将新的 Amazon Organizations 账户添加到目标组织或组织单元(OU)时,StackSets 可以自动将额外的堆栈部署到这些账户。您可以启用自动部署,并选择当账户从目标 OU 移出时,是删除还是保留堆栈及其相关资源。对于使用服务托管权限的堆栈集,这些设置可以随时修改。

自动部署的工作原理

启用自动部署后,当账户添加到目标组织或 OU、从目标组织或 OU 移除或在目标 OU 之间移动时,都会触发自动部署。

例如,考虑以 us-east-1 区域中的 OU1 为目标的 StackSet1 和以 us-east-1 区域中的 OU2 为目标的 StackSet2OU1 包含 AccountA

如果在启用自动部署的情况下将 AccountAOU1 移至 OU2,StackSets 会自动运行删除操作以便从 AccountA 中移除 StackSet1 堆栈,并在队列中添加一个将 StackSet2 堆栈添加到 AccountA 的创建操作。

注意事项

以下是使用自动部署时的注意事项:

  • 自动部署功能在堆栈集级别启用。您无法为 OU、账户或区域选择性地调整自动部署。

  • 覆盖的参数值仅适用于当前已在目标 OU 及其子 OU 中的账户。将来添加到目标 OU 及其子 OU 的账户将使用堆栈集默认值,而不使用覆盖的值。

  • 使用账户级别目标并启用自动部署时,StackSets 将继续使用上次部署中定义的账户级别筛选条件,同时部署到已部署组织中新添加的账户。要防止部署到新添加的账户,请禁用自动部署。有关账户级别目标的更多信息,请参阅服务托管堆栈集的账户级别目标

启用或禁用自动部署(控制台)

  1. 登录到 Amazon Web Services Management Console 并打开 Amazon CloudFormation 控制台 https://console.aws.amazon.com/cloudformation

  2. 在屏幕顶部的导航栏中,选择您在其中创建了堆栈集的 Amazon Web Services 区域。

  3. 从导航窗格中,选择 StackSets

  4. StackSets 页面上,选择要更新的堆栈集名称旁边的选项。

  5. 从右上角的操作菜单中选择编辑自动部署

  6. 在打开的对话框中,执行以下操作:

    1. 对于自动部署,选择激活停用

    2. 对于账户移除行为,请选择删除堆栈保留堆栈。保留的资源保持当前状态,但不再是堆栈集的一部分。

  7. 选择保存

启用或禁用自动部署(Amazon CLI)

  1. 使用带 --auto-deployment 选项的 update-stack-set 命令。

    以下命令可启用自动部署。

    aws cloudformation update-stack-set --stack-set-name my-stackset \ --use-previous-template --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true

    或者,要禁用自动部署,可指定 Enabled=false 作为 --auto-deployment 选项的值,如下例所示。

    aws cloudformation update-stack-set --stack-set-name my-stackset \ --use-previous-template --auto-deployment Enabled=false
  2. 使用 update-stack-set 输出中返回的操作 ID,运行 describe-stack-set-operation 来验证堆栈集是否已成功更新。

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