服務管理的堆疊集的帳戶層級目標 - AWS CloudFormation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

服務管理的堆疊集的帳戶層級目標

AccountFilterType 可讓您將部署目標限制為個別帳戶,或在建立、更新或刪除操作中包含具有所提供 AWS Organizations 單位 OUs) 的其他帳戶。

服務受管堆疊集可以使用帳戶參數部署至個別帳戶、指定 OU 中的所有帳戶,或指定 OU 中的帳戶子集。如需部署目標的詳細資訊,請參閱 DeploymentTargets

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

AWS 帳戶 您要部署 StackSets 更新的一或多個名稱。

AccountsUrl

帳戶清單的 Amazon S3 URL。

OrganizationalUnitIds

要向其部署 StackSet 的組織根 ID 或組織單位 (OU) ID。

AccountFilterType

有效值INTERSECTION | DIFFERENCE | UNION

以下是 AccountFilterType 操作的可能值的清單。

  • INTERSECTION:StackSet 部署到 Accounts 參數中指定的帳戶。

  • DIFFERENCE:StackSet 不包括 Accounts 參數中指定的帳戶。這可讓使用者避免 OU 中的某些帳戶,例如暫停的帳戶。

  • UNION:(預設值) StackSet 包含其他帳戶部署目標。

    未提供 AccountFilterType 時的預設值。這可讓使用者更新整個 OU 以及在一個要求 (過去是兩個不同的要求) 中更新不同 OU 中的個別帳戶。

  • NONE:部署至指定組織單位 (OU) 中的所有帳戶。

AWS CLI 範例

下列範例顯示如何在 AWS CLI中使用 AccountFilterType

以一個 OU 內的多個個別帳戶為目標

下列範例會篩選此 OU 中的部署目標。在此範例中,A1、A2 及 A3 帳戶全部位於 OU1 組織中。 AWS 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 上的堆疊執行個體。