AWSのなかでも、ちょっと知名度が低い(?)「AWS Config(コンフィグ)」にスポットをあててみたいと思います。
AWS Configとは?
AWS Conifgは、AWSが提供するざまざまなサービスで管理されているリソースの構成変更などの操作履歴を管理・可視化するAWSサービスです。
AWS Configは完全マネージド型のサービスで、セキュリティとガバナンスのため、AWSリソースインベントリ、設定履歴、および設定変更通知といった機能が用意されています。Config Rulesを使用して、AWS Configによって記録された AWSリソース設定を自動的にチェックするルールを作成できます。
AWSには操作履歴を追跡する「AWS CloudTrail」という同じようなサービスがありますが、こちらはユーザーの操作履歴を管理するサービスとなり、構成情報の変更履歴をまとめるには管理しにくい部分がありました。
AWS Configを使うことにより、リソースの構成変更履歴が管理しやすくなるのです。
では、AWS Configは具体的にどのようなことに利用されているのでしょうか。
AWS Configを使用することで、既存のAWSリソースと削除されたAWSリソースとの検出、ルールに対する全体的なコンプライアンスの判定、および任意の時点でのリソース設定の詳細な調査が可能になります。これらの機能は、コンプライアンス監査、セキュリティ分析、リソース変更の追跡、トラブルシューティングを可能にします。
具体的には、
- リソースの構成情報や変更履歴の検索
- リソースの構成変更が発生した場合の通知
- リソースの構成情報や設定変更操作を実行時点のキャプチャ
といったことができる点が便利なサービスです。
※AWS Configはリージョンごとの管理となります(東京リージョンにも対応しています)。
※AWS Configの拡張機能で各種リソースに対してルールを設定する「AWS Config Rules」というサービスがあります。
AWS Configで管理できるAWSリソース
現在、AWS Configで管理できるサービスは以下となります。サーバーの増設/削減やインスタンスサイズの変更が簡単にできるEC2周りを中心に対応しています。
さっそく触ってみる
さっそくAWS Configを操作してみましょう。
あらかじめ用意したセキュリティグループを設定変更し、AWS Configで変更内容を確認します。ハンズオンの流れは下記の通りです。
AWS Config設定(今回はセキュリティグループのみ設定)
↓
テスト用セキュリティグループ作成し構成変更
↓
AWS Configで変更履歴の確認
[事前準備]
ssh接続のみ許可したテスト用のセキュリティグループを作成しておきます。
- コンソール画面からAWS Configをクリックします。初回は下記のような画面が表示されるので [Get Started]をクリックします。
- ログ格納用のバケットを選択します。今回はテスト用のバケットを新規作成するため、[Create a bucket]を選択しバケット名を入力します。SNSでのメール通知を設定する場合は [Stream configuration changes ~]にチェックを入れ、新規作成するか、既存のものを選択してください。
- AWS Config用ロールを作成します。[Create a role]を選択し、[Next]をクリックします。
- AWS Config rulesを設定する場合はこちらから追加します。今回は設定しないので [Next]をクリックします。
- サマリー画面で設定に誤りがなければ[Confirm]をクリックします。
- 作成完了すると、自動的にリソース一覧画面へ遷移します。セキュリティグループの構成情報を確認してみましょう。
Resourcesから [SecurityGroup] を選択し、[Look up] をクリックします。 - セキュリティグループ一覧が表示されます。事前準備で作成したテスト用セキュリティグループの詳細を確認してみましょう。
- セキュリティグループの詳細設定が表示され、構成変更をしていないため、Changes(0)と表示されています。
- セキュリティグループの構成変更をしてみましょう。http接続許可設定を追加します。
- 上の6、7の手順を実施し、再度セキュリティグループの状態を確認しましょう。12:12に1回変更があったことがわかります。下へスクロールすると、Changesに変更内容が記録されていることがわかります。
※初回の更新のため変更前の構成情報は表示されない。 - さらにssh、httpの接続元IP制限の変更を加えます。
- 10の画面へ遷移するとタイムスタンプが更新されていることがわかります。
- 前回からの変更内容(接続元IP設定)が表示されています。
まとめ
大規模なシステムになるにつれて、利用者も多くなり誰がどんな設定をしたのかすべてを把握することは困難となります。
今回紹介したAWS Configが トラブルシューティングや監査、コンプライアンスとして利用されているように、「このセキュリティグループの設定が本当に正しいのか?」といった不安や「実は不要なEBSが残ったままだった」といったコストの無駄使いを軽減できると思います。
- AWS Config ⇒ ざっくりとした構成変更を確認
- AWS CloudTrail ⇒ 詳細を確認
といったようにCloudTrailと併用すると便利かもしれません。
あまり知られてないけれど使ってみると役立つAWS Config。AWSを検討している方はぜひ活用してみてください。
(記事提供:D2Cスマイル)