dullwhaleのメモ帳

何度も同じことを調べなくてよいように...

AWS CLIでAWS Configに非準拠のリソースを全リージョンに渡って列挙する

全リージョンをチェックするから、応答が返ってくるまでしばらく時間がかかる。 落ち着いて待て。 1件も行が表示されなかったら、全てのリソースが準拠状態にある。

while read REGION; do aws configservice describe-compliance-by-config-rule --region ${REGION} --query 'ComplianceByConfigRules[*].[ConfigRuleName]' --compliance-types NON_COMPLIANT --output text | xargs -L1 -I{} aws configservice get-compliance-details-by-config-rule --region ${REGION} --config-rule-name {} --query "EvaluationResults[].[EvaluationResultIdentifier.EvaluationResultQualifier.ConfigRuleName,EvaluationResultIdentifier.EvaluationResultQualifier.ResourceType,EvaluationResultIdentifier.EvaluationResultQualifier.ResourceId]" --compliance-types NON_COMPLIANT --output text; done < <(aws ec2 describe-regions --query 'Regions[*].[RegionName]' --output text)

スプレッドシートなどに貼り付ける場合は最後にこれを追加すると良い。

 | tr -s " " | tr ' ' '\t' | pbcopy