この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちは。サービスグループの武田です。
AWSリソースの設定履歴を収集するAWS Configに新機能が追加されました。AWSリソースの現在の設定状況を、SQLのSELECT構文のサブセットを使用してアドホックに問い合わせることができます。
AWS Config のリソース設定プロパティに基づいてクエリを実行できるようになりました
マネジメントコンソールからアクセスすること、サンプルクエリも用意されています。今回はそのうちのひとつを実行してみました。
マネジメントコンソールからアクセス
それでは実際に、マネジメントコンソールにアクセスしてAWS Configのページを開いてみます。左サイドメニューのリソース
の下にAdvanced query
というメニューが追加されているのでこれをクリックします。
SQL query editorが表示され、ここでクエリを書くことができます。実行するSQLは、慣れるまではサンプルクエリ(Sample SQL queries)から目的に近いものを探して直すのがお手軽でしょうか。
今回は Count EC2 instances, group by instance type のサンプルクエリを実行してみます。横にあるUse query
のリンクをクリックすると、エディタにクエリがロードされます。
ロードされたSQLは次のものでした。普通のSELECT文との違いはFROM句
がないくらいで、COUNT関数
なども使えることがわかります。
SELECT
configuration.instanceType,
COUNT(*)
WHERE
resourceType = 'AWS::EC2::Instance'
GROUP BY
configuration.instanceType
最後にRun query
をクリックし実行結果を確認してみます。
各インスタンスタイプごとに、何台のEC2インスタンスが存在するかの確認できました!
まとめ
これまでは各リソースごとに変更履歴を調べたり、Athenaを使って分析する必要がありました。マネジメントコンソールなどでサクッとSQLを書いて確認できるようになり便利に使えそうですね!
最後に、AWS Configはリージョンごとに記録されています。異なるリージョンのリソースを調べたい場合は、そのリージョンに切り替える必要があるので注意してください。