LoginSignup
1
0

AWS CloudWatchのLiveTailがLambdaデバッグに便利

Posted at

最近、でもないけど半年ほど前?に追加されたLiveTailがLambdaのデバッグにめちゃ便利だった話。

前置き

直接環境にアクセスできるときはTailコマンドを使ってアプリケーションのログをリアルタイムで見ることはよくあります。それのクラウド版です。
ELB配下で複数台動くマシンのログをリアルタイムで確認するのに少しだけ使っていました。
これはこれで強力です。だって特定のマシンに乗り込んじゃうとロードバランスされた後でどこにログが落ちるかわからないので。
と言ってもそこまでありがたみを感じることなくあんまり使ってませんでした。

環境

AWS CloudWatch Logs - LiveTail
Lambda python3.12

Lambdaのデバッグ

初期のDebugにはprintを使ってResultに表示されるログを確認しながら作業します。
VisualStudioを使ってやるという人、ごめんなさい。ローテクでお話が進みます。
ほとんどこれで事足りるぐらいの比較的軽い処理しか乗せないので大丈夫です。

スクリーンショット 2024-02-20 151604.png

このLambdaがプロダクトに組み込まれてAPI Gateway経由でhttpsアクセスされるようになるとヘッダにのせる情報量やパターンが増えて、よりリアルな挙動を確認したくなってきました。
というシチュエーションになってくるとパラメータを簡単に変更できるPostツールや別の開発製品から呼び出したときのインタフェースでログを見たくなるわけです。もちろんLambdaにテストパターンを記載もできるんですけどやはり面倒で、あれはやはり初期の単体動作確認レベルなのかなと思うわけです。

LiveTailを使う

Lambdaの実行ログはCloudWatchに落ちて特定できることを前提とします。

LiveTailを開いてください。
CloudWatch > Live Tail
スクリーンショット 2024-02-20 153008.png

ログ出力がないとずっとぐるぐるしてますけど焦らないで。
何かログが出るようにLambdaを実行させてください。
メディア2 (2).gif

Tailコマンドと同じ要領でログが出てきます。
これで外部からPostman等のレストツールやプロダクトに近い開発環境から呼び出してログをリアルタイムに確認することが簡単にできます。
ログを1回1回開くのがだるかった(私がそう)ので地味な時間削減になりました。
Lambdaデバッグにこそむいてるかなと思いましたが皆さんはどうでしょう?
是非使ったことない人は使ってみてください。

その他

ここも参考になりました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0