一言で
1つのCloudFormationテンプレートを、複数のAWSアカウント・複数のリージョンに対して一括でデプロイ・更新・削除できる機能。
なぜ要るか / 背景
組織が複数アカウントを運用するようになると、セキュリティ設定・共通IAMロール・ロギング基盤などを全アカウントに同じ内容で展開したい場面が増える。通常のCloudFormationスタックは1アカウント・1リージョン単位のため、これを手動で繰り返すのは非効率かつ設定ミスの温床になる。StackSetsはこれを1操作で解決する。
主要概念
- StackSet:単一のテンプレートを元に、複数アカウント・複数リージョンへスタックを展開する管理単位
- スタックインスタンス(Stack Instance):「AWSアカウント × AWSリージョン」の組み合わせ1つに対応する、実際にデプロイされたスタック
- オペレーション(Operation):StackSetの作成・更新・削除や、各スタックインスタンスの作成・更新・削除といったAPI実行の進捗・結果を管理する単位
- 管理アカウント(旧: 管理者アカウント):StackSetを定義・管理する側のアカウント
- 権限モデル(Permission Model):セルフマネージド型(管理・対象アカウント双方でIAMロールを個別設定)とサービスマネージド型(AWS Organizations統合、組織参加時に自動デプロイ)の2種類
- ドリフト検出(Drift Detection):StackSetおよびスタックインスタンスが、定義したテンプレートと実際の状態でズレていないか検出する機能
- デプロイ順序(DependsOn、2025-11〜):自動デプロイモードで、スタックインスタンス間の依存関係(最大10個)を指定し、デプロイ順序を制御できる機能
基本の流れ
- CloudFormationテンプレートを用意
- StackSetを作成し、権限モデル(セルフマネージド/サービスマネージド)を選択
- デプロイ対象のアカウントとリージョンを指定(サービスマネージド型ならOU単位の指定も可能)
- StackSetを実行し、各アカウント・リージョンにスタックインスタンスとしてデプロイ
- 必要に応じてドリフト検出や、更新・削除を全対象に一括反映
関連
- AWS Organizations:サービスマネージド型のStackSetsが統合する組織管理サービス。アカウントの自動デプロイ対象化に利用
- AWS CDK:StackSetsと組み合わせてプログラム的にマルチアカウント展開を構成する際に使われる
- CloudFormation(単体スタック):StackSetsが内部で複数アカウント・リージョンに展開する対象そのもの
※注意点
「管理アカウント」か「委任管理者に指定されたアカウント」のどちらかからしか、組織全体への適用はできない
試験ポイント(AIP-C01)
- AI/ML特化の機能ではなく、マルチアカウント環境でのインフラ・ガバナンス統制という文脈で登場しやすい(例:全アカウント共通のGuardrails関連IAMロールやロギング設定を配布する、など)
- 「1テンプレートを複数アカウント・複数リージョンに一括展開する」という基本定義を押さえる
- セルフマネージド型とサービスマネージド型(AWS Organizations統合)の違いを区別できるようにする