ある企業のDevOpsチームは、本番環境のインフラをAWS CloudFormationで一元管理している。しかし運用担当者が緊急対応時にマネジメントコンソールからセキュリティグループやIAMポリシーを手動で変更することがあり、テンプレートと実構成の乖離が原因で、その後のスタック更新が予期しない挙動を引き起こしている。チームは、こうした手動変更を定期的に自動検出し、乖離が生じたスタックを一覧化してSlackへ通知したい。運用負荷を最小化しつつ実装する方法はどれか。
CloudFormation のドリフト検出は、スタックが管理する実リソースの構成とテンプレート定義との差分を検出する機能である。DetectStackDrift でスタック単位の検出処理を開始し、DescribeStackResourceDrifts で個々のリソースのドリフト状態(MODIFIED・DELETED 等)を取得できる。 これを EventBridge のスケジュールルールで定期起動する Lambda から呼び出し、DRIFTED 状態のスタックを抽出して SNS 経由で Slack に通知すれば、手動変更を低運用負荷で自動検出・一覧化できる。 選択肢Bの required-tags は必須タグの有無を評価する Config ルールであり、リソース構成の手動変更(ドリフト)検出には使えない。 選択肢Cの CloudTrail 監視は API 呼び出しを個別に検知できるが、テンプレートとの実際の乖離状態を判定せず、承認済みの更新も含めて大量に通知され誤検知が多い。 選択肢Dの変更セットは次回更新時の差分をプレビューする機能であり、手動変更による現状の乖離を検出する目的には適さない。