[AWS] AWS Configを使って、AWSの設定を監視する

こんにちは。
今回は最近すごい気になっているサービス、**「AWS Config」**を触ってみます！
AWS Configとは、AWSの設定情報を見たり、変更履歴を残すことができるサービスです。また、設定の変更したときにSNSを使って通知もできます。ログはS3に格納されます。

この機能を使い以下のような想定でConfigのテストをしてみます。
**設定を変更してほしくないサービスを監視し、誰かが変更をかけた時にメールで通知！**
#1.今回やること

・AWS Configを使ってAWS上の設定を監視。今回はSGを監視。
・SGに設定変更があったら、SNSを使いメールで通知。

#2.設定
それでは、早速作業に移っていきます。

・[AWSコンソール]-[Config]をクリックします。
![1.png](https://qiita-image-store.s3.amazonaws.com/0/95380/4dda47f3-d2c5-1a3b-a577-2c5b1bb97f2d.png)

・右上の[歯車マーク]をクリックします。
![13.png](https://qiita-image-store.s3.amazonaws.com/0/95380/999be105-876b-5005-4997-d2eec56f702c.png)

・「Resouce types to record」で設定する項目を選びます。今回は、[Security Group]を選びます。
　「Amazon S3 Bucket」は、Configのログを保存するバケットを選びます。バケットを作ってない場合はここで作れますので、[Create a new bucket]を選べばOKです。
　SNSを使う場合は、[Amazon SNS Topic]を設定します。メールを通知するように事前に作っていたSNSを選んでいます。
　全部設定し終わったら[continue]をクリックします。
![2.png](https://qiita-image-store.s3.amazonaws.com/0/95380/5e8df433-f47e-f008-10f9-a673fb6a8a8d.png)

・次にロールの設定です。参照権限が付与したロールを自動で作成してくれるので、特に変更せずに[continue]をクリックします。
![3.png](https://qiita-image-store.s3.amazonaws.com/0/95380/28c1ef35-f498-67c1-a9f8-4d5a71fbb821.png)


・初回設定時はConfigに対応しているすべてのサービスを見に行っているみたいです。少し待ったら設定完了です！
![4.png](https://qiita-image-store.s3.amazonaws.com/0/95380/f2ddadd0-6029-86d0-8b26-e0f6de180237.png)


#3.確認
それでは、Configがどのように設定情報を表示するのか見てみましょう。

・「Resouces」で[EC2 SecurityGroup]を選び、[Look up]をクリックします。
![5.png](https://qiita-image-store.s3.amazonaws.com/0/95380/aaa855ab-9e99-478b-fd2e-a9c1085a18a3.png)

・ずらずらーっと監視しているSG一覧が表示されます。テスト用のSGを作ったので確認してみます。
![6.png](https://qiita-image-store.s3.amazonaws.com/0/95380/07591155-2d92-0e34-53d2-591ea3f63a18.png)

・変更履歴やこのSGと関連しているインスタンスやVPCの情報が表示されています。変更があった場合はこの画面が更新されていきます。
![7.png](https://qiita-image-store.s3.amazonaws.com/0/95380/92efec70-fd04-4cd9-53c3-383aea9d3ab1.png)

#テスト
テスト用のSGを更新してみて、履歴が残っているか、メールが送信されるかを確認します！

・テスト用SGに新しくSSH接続を許可する設定を入れます。
![8.png](https://qiita-image-store.s3.amazonaws.com/0/95380/73a2cbec-505f-f7e2-92a5-3fcfbf5cd9ea.png)

・SGの変更履歴を再度確認してみると、ちゃんと更新履歴が残っていますね。変更した時間が右に追加されています。
![11.png](https://qiita-image-store.s3.amazonaws.com/0/95380/b506c8e8-0db2-fe6d-3316-2dcfb0d6bd0c.png)

・「Changes」に 何がどのように変わった か詳細に履歴が残っていますね。
![9.png](https://qiita-image-store.s3.amazonaws.com/0/95380/246b79d8-f34c-1570-2e5c-3b48ce74691e.png)

・最後にSNSでメールが飛んでいるかどうかですが、こちらも問題なく送信されていました。
![10.png](https://qiita-image-store.s3.amazonaws.com/0/95380/056752fb-1455-1d21-bfd8-bd4a7c39ac0f.png)

#4.テスト後の処理
テストが終わったら課金をさけるためにレコードを切っておきましょう。

・[Turn off]をクリックします。これで安心！
![12.png](https://qiita-image-store.s3.amazonaws.com/0/95380/982fcfd4-3007-9201-3a73-ce48541bcb5a.png)

設定が多いサービスを監視していた場合、思ったより料金がかさみそうなので注意が必要です。
![14.png](https://qiita-image-store.s3.amazonaws.com/0/95380/0bc89af1-c514-3562-6f9a-f806a094f4c7.png)

#5.その他
・AWS Configものすごく便利なサービスですね。本番の構築した後はこの設定をしておけば、トラブルが起きた時に切り分けの材料になると思います。どんどん使いたいサービスです。いままで知らなかったのが悔しい・・・。


以上となります。
ご指摘事項などありましたら、ご連絡よろしくお願いします。


#99.参考

http://dev.classmethod.jp/event/cmdevio2016-report-e1-aws-config/
http://aws.typepad.com/aws_japan/2014/11/track-aws-with-config.html
https://blog.tagbangers.co.jp/ja/2014/11/26/aws-config-trial
http://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt

参考にさせていただきました。
ありがとうございました。