設定ドリフトを検知して直す CloudFormationとConfigで統制を保つ
この記事は DOP-C02 を目指す方に向けて、コードで作った環境が手作業でずれていく「設定ドリフト」への対処を整理します。試験では検知するだけでなく、誰が何を使って自動で戻すかまで問われます。
覚え方は3つの観点です。ずれを見つける・ずれを直す・そもそもずらせなくする。この3層を組み合わせるのが実務でも試験でも正解です。
ずれを見つける
CloudFormation のドリフト検出は、スタックが管理するリソースの現在値とテンプレートの定義を比較し、MODIFIED や DELETED として差分を返します。使いどころはIaCで作った基盤に手作業が入っていないかを定期確認したいとき。EventBridge のスケジュールルールで毎日 DetectStackDrift を呼び、結果をSNSで通知する構成がよく使われます。StackSets なら組織全体のスタックインスタンスをまとめてドリフト検出できます。
AWS Config は個々のリソース設定を継続的に記録し、ルールに対する準拠状況を評価します。IaCで作ったかどうかに関係なく、すべてのリソースを見られる点がCloudFormationのドリフト検出との違いです。
ずれを直す
Config ルールには修復アクションを紐づけられます。使いどころの例は、S3バケットのパブリックアクセスブロックが外されたら数分で自動的に戻す、セキュリティグループの 0.0.0.0 からの22番許可を自動削除する、といったケースです。修復には Systems Manager Automation ドキュメントを使い、自動実行と手動承認のどちらにするかを選べます。CloudFormation側で直すなら、スタックの更新を再実行して定義した状態へ収束させます。
そもそもずらせなくする
本番アカウントでは、SCPでコンソールからの直接変更を制限し、パイプラインが引き受けるロールだけに変更権限を与えます。CloudFormation のスタックポリシーで重要リソースの置換を禁止する、削除保護を有効にするといった予防策も併用します。
| 層 | 手段 | 対象範囲 |
|---|---|---|
| 検知 | CloudFormation ドリフト検出 | スタックが管理するリソースのみ |
| 検知 | AWS Config ルール | 記録対象のすべてのリソース |
| 是正 | Config の修復アクションとSSM Automation | ルール単位で自動または承認付き |
| 予防 | SCP、スタックポリシー、削除保護 | アカウントやスタック単位 |
チェックリスト
- CloudFormationドリフト検出とConfigルールの守備範囲の違いを言える
- ドリフト検出を定期実行する構成を説明できる
- Configの修復アクションにSSM Automationを使う流れを描ける
- 本番の手動変更を防ぐSCPの考え方を説明できる
- スタックポリシーと削除保護の役割を区別できる
まとめ
ドリフト対策は検知、是正、予防の3層です。設問で求められている層を見極め、その層に属するサービスを選べば迷いません。
理解を確かめるにはクイズで腕試しを、最新の出題範囲はAWS認定 公式ページで必ず確認してください。
DOP(DevOpsエンジニア) におすすめの教材
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 出題予想問題集 第2版
AWS認定 DevOpsエンジニア − プロフェッショナル DOP-C02 練習問題集
AWS認定DOP(DOP-C02)実践問題集(全範囲・225問)
AWS認定DOP 演習テスト(日本語)
本セクションにはAmazonアソシエイト・Udemyアフィリエイトのリンクが含まれます。