【AWS】Lambdaのログ確認と出力方法を完全解説!CloudWatch Logsとの連携を初心者向けにやさしく理解
生徒
「AWS Lambdaを使い始めたんですが、処理がうまく動いているのか分からなくて困っています。確認する方法はありますか?」
先生
「AWS Lambdaでは、実行中の情報やエラー内容をログとして確認できます。CloudWatch Logsと連携することで、処理の流れを把握できますよ。」
生徒
「ログって何を見ればいいんですか?設定も必要なんでしょうか?」
先生
「基本的な設定は自動で行われます。ログの見方や、Lambdaからログを出力する方法を順番に見ていきましょう。」
1. AWS Lambdaとログの基本的な関係
AWS Lambdaは、サーバーを意識せずにプログラムを実行できるサーバーレスサービスです。 Lambdaでは、処理の開始や終了、エラー情報、開発者が出力したメッセージなどを「ログ」として記録できます。 これらのログは、AWS CloudWatch Logsというサービスに自動的に送信されます。
ログを確認することで、Lambda関数が正しく実行されたか、どこでエラーが発生したかを把握できます。 特に初心者のうちは、Lambdaが動かない原因を調べるためにログ確認が欠かせません。
2. CloudWatch Logsとは何か
CloudWatch Logsは、AWSが提供するログ管理サービスです。 AWS Lambdaだけでなく、EC2やAPI Gatewayなど、さまざまなAWSサービスのログを一元的に管理できます。
Lambdaの場合、関数が実行されるたびにログがCloudWatch Logsに送信されます。 開発者はAWSマネジメントコンソールから簡単にログを確認でき、トラブルシューティングや動作確認に活用できます。
3. AWS Lambdaのログはどこに保存されるのか
Lambdaのログは、CloudWatch Logs内の「ロググループ」と「ログストリーム」という単位で管理されます。 ロググループはLambda関数ごとに自動作成され、ログストリームは関数の実行単位で作成されます。
初心者の方は、「ロググループが関数名」「ログストリームが実行履歴」と考えると分かりやすいです。 Lambda関数を一度でも実行すると、自動的にロググループが作成されます。
4. AWSマネジメントコンソールでLambdaログを確認する手順
AWSマネジメントコンソールからLambdaのログを確認する方法はとても簡単です。 まず、AWSコンソールにログインし、Lambdaサービスを開きます。
対象のLambda関数を選択し、「モニタリング」タブを開くと、CloudWatch Logsへのリンクが表示されます。 そこからロググループとログストリームを辿ることで、実際のログ内容を確認できます。
5. Lambda関数からログを出力する基本的な考え方
AWS Lambdaでは、特別な設定をしなくても標準出力に書き込んだ内容がログとして記録されます。 Javaの場合は、標準出力にメッセージを出すことでCloudWatch Logsに反映されます。
ログ出力は、処理の途中経過や変数の値を確認するために使われます。 初心者の方は、どの処理まで実行されたかを確認する目的でログを活用すると理解が深まります。
6. JavaでAWS Lambdaのログを出力する方法
Javaで作成したAWS Lambda関数では、System.out.printlnを使ってログを出力できます。 出力された内容は自動的にCloudWatch Logsに送信されます。
public class SampleLambda {
public String handleRequest(String input) {
System.out.println("Lambda関数が実行されました");
System.out.println("入力値: " + input);
return "処理完了";
}
}
上記のように記述するだけで、実行時のメッセージをCloudWatch Logsで確認できます。 ログはデバッグや動作確認に非常に役立ちます。
7. CloudWatch Logsに表示されるログの内容
CloudWatch Logsでは、Lambdaの開始ログ、終了ログ、実行時間、メモリ使用量などが自動で出力されます。 これに加えて、開発者が出力したログメッセージも表示されます。
実行時間やメモリ使用量を確認することで、Lambda関数のパフォーマンス改善にも役立ちます。 初心者の方は、まずログが正しく出力されているかを確認することが重要です。
8. ログが出力されないときに確認するポイント
Lambdaのログが表示されない場合、IAMロールの設定が原因であることがあります。 Lambda関数には、CloudWatch Logsへ書き込むための権限が必要です。
通常は自動で設定されますが、カスタムロールを使っている場合は注意が必要です。 ログが出ないときは、CloudWatch Logsへの権限が付与されているかを確認しましょう。
9. AWS Lambdaのログを活用するメリット
AWS Lambdaのログを活用することで、エラー原因の特定や処理の流れの確認が容易になります。 特にサーバーレス環境では、ログが唯一の手がかりになることも多いです。
CloudWatch Logsと連携することで、運用中のトラブルにも迅速に対応できます。 初心者のうちからログ確認の習慣を身につけることが大切です。