CloudWatch Logs Insights を利用して CloudTrail ログを調査してみた

AWS
AWS
この記事は約3分で読めます。

今まで CloudTrail ログの調査は CloudTrail イベント履歴で事足りており、CloudWatch Logs Insights を利用したことがなかったのでやってみました。

料金

1 GB あたり 0.0076 $ です。
記事作成時の東京リージョンの金額のため、正式な金額は料金ページからご確認ください。

やってみた

30 日分のロググループに対して最新20件のログを表示するようにクエリしたところ、30秒で結果が表示されました。

CloudWatch Losg メトリクスフィルタでの検索(以下記事での検証だと、14日分のログで10分)と比較して、かなり早いことがわかります。というか、メトリクスフィルタで中長期間のログ検索が向いていないだけかもしれません。

また、上記のクエリ内容は条件を付していなかったので、条件を付すことでクエリ速度が遅くならないか確認してみました。

21秒でクエリは完了したので、少なくとも単純な条件を付してもクエリ速度に悪影響はなさそうです。

クエリの構文やサンプルは以下に記載されています。

CloudWatch Logs Insights のクエリ構文 - Amazon CloudWatch Logs
CloudWatch Logs Insights では、クエリ言語を使用してロググループに対するクエリの実行します。クエリ構文は、一般的な関数、算術演算と比較演算、正規表現など、さまざまな関数とオペレーションをサポートしています。複数のコマンドを含むクエリを作成します。コマンドはパイプ文字 ( | ) で区切ります。コ...
サンプルクエリ - Amazon CloudWatch Logs
クエリ構文を説明する CloudWatch Logs Insights クエリの役立つ例をリストします。
CloudWatch Logs で CloudWatch Logs Insights を使用する

さいごに

想像以上に簡単で驚きました。
ただし、CloudWatch Logs に送信されるイベントは一部イベントを除きますので、漏れを防ぐなら S3 のログから調査した方が良いかもしれません。

CloudWatch Logs と CloudWatch Events ごとに最大 256 KB のイベントサイズを許可する。ほとんどのサービスイベントの最大サイズは 256 KB ですが、一部のサービスにはまだこれより大きなイベントがあります。CloudTrail は、これらのイベントを CloudWatch Logs や CloudWatch Events に送信しません。

https://docs.aws.amazon.com/ja_jp/awscloudtrail/latest/userguide/send-cloudtrail-events-to-cloudwatch-logs.html#send-cloudtrail-events-to-cloudwatch-logs-limitations
タイトルとURLをコピーしました