- 公開日
- 最終更新日
【AWS Config】修復が失敗した際のログ確認方法
この記事を共有する

目次
はじめに
こんにちは!パーソル&サーバーワークスの野間です。
AWS Config ルールの「修復(Remediation)」を使っていると、何らかの理由で実行が失敗することがあります。
そこで今回は、AWS Config ルールの修復が失敗した際の確認方法をまとめます。
いきなり結論
✅結論:AWS Systems Manager Automation から実行ログを確認する。
AWS Config ルール の修復には、裏側で AWS Systems Manager (以下、Systems Manager) ドキュメントが実行されます。
したがって、Systems Manager コンソール > 自動化 から、該当の Systems Manager ドキュメントの各ステップのログと出力を確認するのが近道です。
試してみる:S3 のブロックパブリックアクセスを修復
S3 バケットのブロックパブリックアクセス設定がオフになっている場合に検知・修復する Config ルールを例にします。
AWS Config ルールの作成
- Config ルールの作成画面から、AWSマネージドルールの「s3-bucket-level-public-access-prohibited」を選択します。
- ルールが作成できたら、「アクション」 > 「修復の管理」で修復ルールを設定します。
- 修復ルールはAWSマネージドルールの「AWSConfigRemediation-ConfigureS3BucketPublicAccessBlock」を選択します。
- パラメーターの「AutomationAssumeRole」には Systems Manager ドキュメント実行用の IAM Role ARNを指定します。
- 意図的にエラーを起こすため、以下のアクセス許可を付与した IAM Role を作成しました。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"s3:GetAccountPublicAccessBlock",
"s3:PutAccountPublicAccessBlock"
],
"Resource": [
"*"
]
}
]
}
手動修復を実行したところ、「アクションの実行失敗」と表示されました。
この画面ではエラーの原因が分からないため、戸惑ってしまう方も多いと思います。
Systems Manager Automation ログの確認
それでは Systems Manager コンソールからエラー原因を確認してみようと思います。
- Systems Manager コンソール > 自動化 を開く
- 該当の Execution ID を選択
- Failure details に失敗原因が表示されます。
今回の例では Systems Manager ドキュメント実行用の IAM Role に権限が不足していたため実行が失敗したようです。
AWSマネージドルールであればドキュメントに必要な権限が紹介されていますが、カスタムドキュメントを作成した場合はこの方法で必要権限を判断することができそうです。
おわりに
今回、Systems Manager ドキュメントの各ステップのログをていねいに追うことで、エラーの原因を素早く突き止められると改めて実感しました。
同じように AWS Config ルールの修復でつまずいた方の参考になればうれしいです!
この記事は私が書きました
野間 太一
記事一覧猫とCloudFormationが好きです。
