[アップデート] AWS Config Rule 非準拠リソースを自動修復する機能が追加になりました!

2019.09.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは 園部です。

今日は AWS Config Rules で、素敵なアップデートがありましたのでご紹介したいと思います!

Use AWS Config Rules to Automatically Remediate Non-compliant Resources

今までは、コンプライアンス違反として検知されたリソースへの修復は、AWS Config から 修復アクションを取るか、CloudWatch Events を利用して Lambda や Systems Manager Automation(以降、SSM Automation) を実行することで対応されていることが多かったかと思います。

今回、事前にルールに修復アクションを指定して実行させることが可能となりました。
※ 今回のアップデートされた機能で指定出来るのは、SSM Automation アクションのみとなります。

シンプルな内容であれば、手軽に設定が可能です!

やってみる

今回、「指定したタグが付与されていないEC2は停止する」 という定番ルールを実施していきます。

EC2 作成

  • Config-rule-target タグが設定されているインスタンスと設定されていないインスタンスを用意します。

IAM Role 作成

コンプライアンスに非準拠のリソースに対して、修復アクションとして SSM Automation を実行するための IAM Role を作成します。

  • config-auto-remediation
    • policy: AmazonSSMAutomationRole
    • 信頼されたエンティティ: ssm.amazonaws.com

AWS Config Rule 作成

AWS Config > ルール > ルールの追加 > マネージドルールである required-tags を選択します

  • 画面に沿って入力します
    • リソースはデフォルト: 「EC2: Instance」 のみに変更
    • ルールパラメーター: タグ を指定

自動修復」 項目が増えているので 「はい」 を選択します

ルールが作成されました

評価の実行

上記で作成したルールを選択 > 再評価 を選択します

非準拠リソースが検知されると、アクションがキューに入ります

SSM Automation から実行されていることを確認できます

「アクションが正常に実行されました」と表示されたため、EC2 の状態を確認します

指定したタグがない(コンプライアンスに非準拠)インスタンスは停止されています

さいごに

自動修復には、CloudWatch Events を介しての実装が必要でしたが、これで特定アクション(SSM Automaiton)においては自動化がシンプルになるのではないでしょうか?

嬉しいですね!