ちょっと話題の記事

【運用保守】構成管理サービスAWS Config利用のすゝめ【ITIL】

2015.07.06

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

弊社にはAWS狂が結構いるのですが、AWS Configはあまり注目されていません。
AWS公式ドキュメントでも日本語化されておらず、AWS Configについて触れた記事は数えるほどしかありません。
使えるサービスなんだよ!というのを訴えるためにドキュメントの翻訳ベースでAWS Configの魅力をお伝えします。

実際の設定手順はこちらこちらを御覧ください。

Configとは

AWSリソースの設定を可視化するサービスです。
現在のAWSリソースの設定値を見られるだけでなく、AWSリソース毎の関係性やどのように設定変更がなされたかを見ることが出来ます。

AWSリソースとは

AWSが提供しているサービスで管理されるリソースを指します。
Configが対応しているAWSリソースは以下のとおりです。

  • Amazon Elastic Compute Cloud(EC2)
    • EC2 instance
    • EC2 Elastic IP (VPC only)
    • EC2 security group
    • EC2 network interface
  • Amazon Elastic Block Store
    • Amazon EBS volume
  • Amazon Virtual Private Cloud(VPC)
    • VPC
    • Network access control list (ACL)
    • Route table
    • Subnet
    • VPN connection
    • Internet gateway
    • Customer gateway
    • VPN gateway
  • AWS CloudTrail
    • Trail

基本的にEC2周りのみです。
これをもっと拡充して他のAWSサービスにも対応してくれると嬉しいです。

AWS Configでできること

結局、AWS Configってどんなサービスなのか!ってのが一番気になるところかと思います。
サービスの機能として以下のようなものがあげられます。

構成情報のスナップショットの取得

サポートされているAWSリソースについて、現在の構成情報のスナップショットを自動で取得してくれます。
取得された情報はS3バケットに保存されます。

AWSリソースの構成情報の検索

AWSリソースの構成情報を検索し、閲覧することが出来ます。

AWSリソースの変更履歴の検索

AWSリソースの構成が変更を履歴として検索、閲覧することが出来ます。
いつ、どの値が、どのように変更されたかが分かります。

AWSリソースが作成、変更、削除された際の通知

変更がなされたタイミングでSNS経由で通知を行うことが出来ます。
SNSなので、メール送信することも可能ですし、SQSに投げて処理を行うことも可能です。

AWSリソース間の関係性の確認

各AWSリソースがどのような関係性にあるのかを確認することが出来ます。
例えば、

  • セキュリティグループを割り当てているインスタンス
  • インスタンスに紐付けられているEBSボリューム
  • VPC内に構築されているインスタンス

などもひと目で確認できます。

いやー地味ですね。
でもものすごく便利だというのがお分かり頂けるかと思います。

Configのユースケース

出来る事は分かった!だが、何に使うのか!という方もいらっしゃるかと思います。

が、ユースケースを紹介する前に、ひとつ確認させて下さい。

自分が使っているAWSアカウント内のインスタンスの数、インスタンスタイプ、どのセキュリティグループが割り当てられていて、紐づくEBSボリュームはどれくらいあるか、把握できていますか?

AWSを使用して日が浅い方は把握できているかと思いますが、長いこと使っていると、把握するのは至難の業となるかと思います。 また、複数人でひとつのAWSアカウントを使用している場合、他の人がどのように設定を変更したかすぐには分からないかと思います。

そのインスタンス、そのEBSボリューム、本当に必要ですか?
そのNACL、そのセキュリティグループ、設定値正しいですか?

不安な方は、AWS Configの使用を検討してもいいかと思います。

さて、ひと通り確認()が済んだところでユースケースを紹介したいと思います。

AWSリソース構成管理

自分の所有するAWSアカウント上にどんなAWSリソースが存在していて、どんな設定がなされているのかを確認し、無駄なリソースや、設定値の間違いを発見することが出来ます。
構成が変更された時に通知を送ることもできるので、すぐに検知することが出来ます。

監査、コンプライアンス

構成の変更が全て記録されるので、いつ、どのように変更がなされたかがひと目で分かります。
社内ポリシーとして証跡を取得しないといけない場合にはもってこいのサービスです。 ※ CloudTrailでも出来るじゃんと思われるかと思いますが、あちらは呼び出されたAPIを全て記録していますので、まぁ量が多いです。
AWS Configでひとまず確認し、詳細はCloudTrailという併用がベストかと思います。

変更管理、トラブルシューティング

AWSリソースの中には関連性を持ったものが多いです。
例えば、セキュリティグループの設定を変更したら、インスタンスにアクセスできなくなったとします。
セキュリティグループを変更した本人であれば原因がすぐ分かるかと思いますが、その他の人は突然アクセスできなくなった!と焦ります。
この時、AWS Configでインスタンスの情報を確認し、関連するセキュリティグループを追えば、おかしな変更がされたことがすぐに分かります。
更に、元の設定値が分かるので、それを戻せばひとまずは状況が回復しますので、トラブルシューティングとしても役立ちます。

さいごに

今回はAWS Configってこんなサービス!という触り部分を纏めました。
これを使うとITILでいう所のサービスサポート *1の大部分のお役に立てられるのではないかと思っています。

次回はもう少し技術的な内容に突っ込んだ記事も書いていこうと思っております。
AWS Config 是非ご活用下さいまし!

参考文献

脚注

  1. 構成管理、変更管理など。ITILについての詳細はこちらのエントリを御覧ください。