服务托管堆栈集的账户级别目标 - Amazon CloudFormation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

服务托管堆栈集的账户级别目标

AccountFilterType 允许您将部署目标限制为单个账户,或在创建、更新或删除操作中包含具有提供的 Amazon Organizations 单位(OU)的其他账户。

服务托管堆栈集可以部署到具有账户参数的单个账户、指定 OU 中的所有账户或指定 OU 中的账户子集。有关部署目标的更多信息,请参阅 DeploymentTargets

{ "Accounts": ["string", ...], "AccountsUrl": "string", "OrganizationalUnitIds": ["string", ...] "AccountFilterType": "string" }
Accounts

要为其部署 StackSets 更新的一个或多个 Amazon Web Services 账户 的名称。

AccountsUrl

账户列表的 Amazon S3 URL。

OrganizationalUnitIds

StackSets 部署到的组织根 ID 或组织单位(OU)ID。

AccountFilterType

有效值INTERSECTION | DIFFERENCE | UNION

以下是 AccountFilterType 操作的可能值列表。

  • INTERSECTION:StackSets 部署到 Accounts 参数中指定的账户。

  • DIFFERENCE:StackSets 不包括 Accounts 参数中指定的账户。这使用户能够避开 OU 中的某些账户,例如暂停的账户。

  • UNION:(默认值)StackSets 包括其他账户部署目标。

    如果未提供 AccountFilterType,则使用默认值。这使用户能够在一个请求(过去是两个单独的请求)中更新整个 OU 和来自不同 OU 的单个账户。

  • NONE:部署到指定组织单位(OU)中的所有账户。

Amazon CLI 示例

以下示例展示如何在 Amazon CLI 中使用 AccountFilterType

将 OU 中的单个账户作为目标

以下示例筛选 OU 中的部署目标。在本例中,A1、A2 和 A3 账户都在 OU1 组织中。Amazon CLI 命令部署到 A1 和 A2 目标账户。


     将 OU 中的单个账户作为目标。
aws cloudformation create-stack-instances --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=INTERSECTION

结果:您已为账户 1 和账户 2 创建了堆栈实例。

将 OU 作为目标并筛选单个账户

以下示例在 OU 中除账户 1 和账户 2 之外的所有账户中创建堆栈实例。


     将 OU 中的单个账户作为目标。
aws cloudformation create-stack-instances --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=DIFFERENCE

结果:您已避开部署到 OU 中的特定账户。

将 OU 和其他单个账户作为目标

以下示例更新堆栈实例。


     将 OU 中的单个账户作为目标。
aws cloudformation update-stack-instances --deployment-targets OrganizationalUnitIds=OU1,Accounts=A4,AccountFilterType=UNION

结果:您已更新 OU 中账户 1、账户 2 和账户 4 的堆栈实例。通过筛选账户,您未更新账户 A5 上的堆栈实例。