ある企業がAWS CloudFormationを使って本番環境のインフラを管理している。重要なスタックが誤って削除・更新されないよう多重の保護策を講じたいと考えている。CloudFormationで利用可能な保護策として正しいものを2つ選択してください。
- A. CloudFormation変更セットを承認制にするためAWS Configルールを設定する
- B. CloudFormationの変更セットを必須化するIAMポリシーをすべての開発者に付与する
- C. スタックポリシー(Stack Policy)を設定して、特定リソースの更新アクション(Update:*)を拒否する
- D. CloudFormationスタックにSCP(Service Control Policy)を直接アタッチしてスタック更新を制限する
- E. スタックの終了保護(Termination Protection)を有効化して、スタック削除操作をブロックする
解答と解説を見る
正解: C, E
CloudFormationのTermination Protectionは、有効化するとスタック削除操作がコンソール・CLI・API問わずブロックされ、無効化しない限り削除できなくなる保護機能である。スタックポリシーはスタックのリソースに対するCloudFormation更新操作を制御するJSON形式のポリシーで、例えばEC2インスタンスのタイプ変更や削除を伴う更新を拒否するルールを設定できる。これら2つはCloudFormation固有の保護機能として長く使われている。CSCPはAWS Organizationsのサービスコントロールポリシーであり、CloudFormationスタックに直接アタッチするものではなく、AWSアカウントやOUに適用するものである。BはIAMポリシーでExecuteChangeSetアクションを拒否しCreateChangeSetのみ許可する方法は有効だが、「変更セットを必須化するポリシー」という標準的な方法ではなく、問題の選択肢の記述が不正確である。AのAWS Configルールは設定評価・通知ツールであり、変更セット承認の強制機能は持たない。