AWS Configを使ってみて出来ることを理解する

はじめに

本記事ではAWS Configで出来ることを説明します。全てではありませんが、AWSの資格学習の中でなんとなくAWSサービスの監査・監視が行えるようなサービス、という理解しているアタナと私向けのAWS Configで具体的にどんなことが設定出来るかを説明する記事となります。

よく企業で決めたポリシー・ルールがAWS上で守られているかを確認するためのサービスとして登場するこのAWS Configですが、主に出来ることは以下の2点です。

1.AWSのリソースに対する変更履歴の管理

→ こちらはAWSのリソースに対してどのような変更をかけたのかを管理する機能です。

2.AWSの各種サービスの利用条件の設定

→ こちらは例えばEC2のサービスに対してはパブリックIPを紐づけることや、長期間起動していないEC2インスタンスがないかを確認するルールを設定し、そのルールをリソースが守っているかどうかを確認することを可能とする機能となります。

ではそれぞれについて以下で紹介します。

実施内容

AWSのリソースに対する変更履歴の管理

AWSのリソースの管理、各種サービスに対するルールの設定するためにはどのサービスを監視対象とするかを最初に設定する必要があります。

AWS Configの設定メニューを開き、編集ボタンをクリックして下さい。少し初回設定の表示と異なるかもしれませんが、参考になるかと思います。

レコーダーメニューの”記録を有効化”がリソースに対しての変更履歴を保存するかどうかの設定となります。後述のルールに沿った設定がされているかの確認にも必要な設定となりますので、こちらは有効化しておいてください。AWS Config自体を利用しなくて良くなった場合にはこちらのチェックボックスを外すのが良いかと思います。

一般設定のメニューの中ではどのリソースに対する管理を行うかを指定することが可能です。今回はEC2に対するルール設定のみを行う予定ですが、私の場合は他に使っているLambda、DynamoDBの設定を行っておきました。

配信方法のメニューでは、AWS Configのデータの保存先と、何か通知が必要な際のSNSの設定が可能です。

ここまで設定を終えたら保存をクリックして下さい。これで設定は完了です。

リソースのページに移動することで自分の利用しているリソースの一覧と、その現在の状態を取得することが可能です。ただし、そのリソースに対してどのような修正が行われたかを記録するためには上記、AWS Configの設定の中でリソースをしておく必要があることにご注意ください。

リソースをクリックすることで詳細な内容を確認することが可能となりますが、この中で”リソースタイムライン”をクリックすることで、そのリソースに対してどのような変更が行われたのかを確認することが可能です。

リソースラインは以下のように表示されます。

これでAWSリソースの設定情報管理のための説明は終わりです。

AWSの各種サービスの利用条件を設定する

次はAWSのサービス、リソースを利用する際のルールの設定方法について説明します。メニューの中にルールがありますのでこちらを開きます。何もルールはありませんが、手を動かさないことには始まりませんのでルールを作成していきます。

以下のようにどのルールを指定するかが選べるのですが、正直EC2でフィルタしたとしてもその量は非常に膨大ですので、事前にAWSの公式のページでどんなルールが用意されているのか、どのルールを適用するのかを調査しておくのが良いでしょう。

2021/11/27時点で公式はこちら:

https://docs.aws.amazon.com/ja_jp/config/latest/developerguide/managed-rules-by-aws-config.html

今回はまずはルール違反となるようなルールを設定しつつ簡単に守ることが出来るルールを設定したいので、"ec2-stopped-instance”を指定しました。こちらはデフォルトで30日間起動していないEC2インスタンスがあると違反として評価してくれるようです。

今回のルールの名称等を設定します。そのままでもわかりやすいのでそのままとします。

ルールを評価するトリガーを指定します。今回は手動で評価するので特に気しませんが、デフォルトの24時間としておきました。

AllowedDaysのパラメータには何日間EC2インスタンスが起動していないか、を指定するパラメータとなっています。私はデフォルトの30日間のままとします。

次へいきましょう。

補足:

このトリガーの設定箇所はルールにより少しずつ設定すべき内容が変わります(当然と言えば当然ですが)。例えば、パブリックIPがインスタンスに紐づけられているかをチェックする”ec2-instance-no-public-ip”のルールの場合は以下のように、評価のタイミングが時間ではなく、リソースの変更タイミング等で指定することが可能となります。

補足を挟みましたが、早くも確認画面に辿り着きます。簡単!

これでルールの作成は完了です。

ルール作成時は自動でルールの評価を行ってくれるようです。少し待つと、早速評価結果をコンプライアンスの項目に表示してくれました。実際、EC2インスタンスは3台とも1か月以上寝かせているのでこの結果が正しいです。。

ルールの詳細画面ではどのEC2インスタンスがルール違反をしているかを確認することが可能です。

次はEC2を一瞬起動し、このルールの評価結果がどうなるかを確認します。EC2を1台起動します。

設定済のルールを再評価する場合には、対象のルールを選択し、アクションのメニューから再評価をクリックします。

以下のように起動したインスタンスに対してはルール準拠となっていることが確認出来ました。

これでルールの設定方法と、その結果の確認方法についての説明も完了です!

さいごに

本記事ではAWS Configを利用したリソースの変更管理と、AWS利用におけるルールの設定方法と、その確認方法について説明をしました。この記事がこれからAWSを学ぶ方の理解の一助になれば幸いです。

ではまた。