CloudWatchでログを見ていて思ったこと
AWSのCloudWatchでログを確認しているときのことです。
ログの量が多く、特定のログをピンポイントで探したくなりました。
最近はAIがあるので、クエリを書くこと自体はそこまで困りません。
SQLでもログ検索用のクエリでも、AIに「こういうログを探したい」と伝えれば、かなりそれっぽいものを出してくれます。
例えばこういう感じです。
fields @timestamp, @message
| filter @message like /ERROR/
| sort @timestamp desc
| limit 20
長いクエリもAIが書いてくれるので、「覚える必要はそこまでないのでは」と思っていました。
しかしCloudWatchでログを調査しているときに、少し違和感を覚えました。
「このクエリ、本当に合っているのだろうか?」
AIのクエリが正しいか判断できない
AIはクエリを作ってくれますが、それが本当に正しいのかを判断するのは自分です。
例えば
・条件の書き方が合っているか
・検索対象のフィールドが正しいか
・絞り込みが広すぎないか
・逆に狭すぎないか
このあたりはSQLやログクエリの基本が分かっていないと判断できません。
また、正規表現やコマンドも同じだと思いました。
英語の単語そのままなので、なんとなく意味は想像できます。ただ実際の動作は「想像と少し違う」ことが意外と多いです。
例えば
「like」と「=」の違い
「limit」がどのタイミングで適用されるか
「sort」の順番
などは、ちゃんと理解していないと微妙に違う結果になります。
SQLを知っているとログ調査の速度が変わる
CloudWatchでログを探すときは、結局「クエリを書く作業」になります。
AIに書いてもらうことはできますが、
次のようなときにSQLの知識があるとかなり楽です。
・クエリを少しだけ修正する
・検索条件を追加する
・結果が多すぎるので絞る
・時系列で並び替える
例えば
SELECT *
FROM logs
WHERE level = 'ERROR'
AND created_at >= '2026-03-10'
ORDER BY created_at DESC
LIMIT 100;
この程度のSQLが分かるだけでも、
「どこを変えれば欲しいログが取れるのか」
がすぐ分かります。
SQLが分からない状態だと、AIに何度も聞きながら試行錯誤することになります。
SQLが少し分かるだけで、この試行錯誤の回数がかなり減る気がしました。
特にログ調査は「数分の差」がそのまま作業効率に直結します。
AI時代でもSQLの理解は無駄にならない
AIがコードやクエリを書く時代になりましたが、
「AIの出力を理解できるかどうか」はやはり大事だと思いました。
SQLを完全に覚える必要はないと思います。
ただ最低限
・SELECT
・WHERE
・ORDER BY
・LIMIT
このあたりを理解しているだけでも、ログ調査のスピードはかなり変わると思います。
AIに任せる部分と、自分で理解する部分。
CloudWatchでログを調べていて、
「SQLは意外と覚えていた方がいいのかもしれない」と思った出来事でした。