AWS Configとは
AWS Configは、AWSリソースの構成変更をログとして取得するサービスであり、構成管理や変更履歴の取得に用いられます。
AWSリソースの構成情報だけでなく、EC2インスタンス上のソフトウェアの設定変更、リソースの関係等がConfigで取得することができ、Systems Managerを通すことでオンプレミス環境のリソース管理もできる。
今回は、AWS Configのセットアップと構成情報の確認、変更履歴の確認を実施する。
AWS Configのセットアップ
コントロールパネルからConfigを検索すると初回実行時は画像のようになるので、手動で設定する場合の「今すぐ始める」を選択
下記、今回の設定について記載していく。
設定画面のRecord strategyの項目では右側の「Record specific resource types」を選択すると対象のリソースを限定できる。
今回は左側の現リージョンの全リソース対象を選択、AWS ConfigロールやS3バケットは今回は新規に作成するので画像の通り選択する。
今回はS3を使用しないが、AWSリソース構成情報のスナップショットを指定したS3バケットに保存することができる。
SNSトピックについても今回は設定しないが、こちらを設定することで構成情報に変更があった際にEメール等で通知を行うことができる。
次へを押して、ルールの設定に進む。
ルールの設定では、Configルールを設定して準拠状況を確認できる。
ルールにはAWSが定義するマネージドルールと、ユーザー側でカスタマイズするカスタムルールがある。
今回はマネージドルールの「eip-attached」を選択して、Elastic IPがEC2にアタッチされているかの確認を行う。
設定項目の確認。問題なければ確認を押す。
セットアップ完了後、ダッシュボードに移動
Configのセットアップについては完了したので、構成管理と変更履歴の確認を行う。
構成管理と変更履歴の確認
リソースから各リソースの確認を行う。
画面ではタイプがEIPのものがコンプライアンスが準拠となっており、Configルールで設定したElastic IPがEC2に割当たっているかの「eip-attached」のルールに準拠していることが確認できる。
次に、EC2インスタンスについて構成情報と変更履歴の確認を行う。
確認したいリソースを選択するとリソースの詳細画面に遷移し、構成情報が確認できる。
「設定項目(JSON)の表示」から、対象リソースと他のリソースの依存関係が可視化できる。
画像のEC2インスタンスのものでは、EC2インスタンスが配置されているVPCやサブネット、アタッチされているセキュリティグループやENI、EBSボリューム等が確認できる。
リソースタイムラインからは変更履歴が確認できる。
上の画面ではイベント欄に何も表示されていないが、対象のEC2を再起動して変更履歴を確認する。
再起動後に確認すると、対象のリソースが再起動されたことが時間、操作したユーザーの情報とともに確認できる。構成情報は変更してないので、設定変更のJSON diffには何も記載されていない。
アカウントの操作履歴を取得するCloudTrailのログから、対象リソースに構成変更を発生させたイベントの情報が自動抽出されるため「いつ」「誰が」「何をしたか」を確認できる。
AWS Configの無効化
AWS ConfigではConfigの設定項目数やConfigルールの評価件数に応じて従量課金となるので、構成情報取得が不要になった際は、余計な課金を防ぐため設定からオフにしておく。
編集を押して記録を有効化のチェックを外す。
確認画面が出るのでOKを押して進む。
記録がオフになっていることが確認できる。
他にもマルチアカウントやマルチリージョン間の構成情報を単一のアカウントで一元管理できるアグリゲータの機能や、SNSと連携することでAWSリソースの構成情報に変更があったときにSNS通知を行ったり、Systems Managerと連携することでConfigルールに準拠していないものを自動的に修復させたりする機能もあり、リソースの管理が容易となるのでぜひ活用していただきたい。