Q37 — AWS DVA-C02 第2章

第 37/100 問 | ← 第2章

開発者はWebアプリケーションのバックエンド用にLambda関数を作成しました。AWS LambdaコンソールからLambda関数をテストすると、関数が実行されていることが確認できますが、Amazon CloudWatch Logsにログデータが生成されず、数分経過しても同様です。この状況の原因は何ですか?

正解: C. Lambda関数の実行ロールに、CloudWatch Logsへのログデータ書き込み権限がありません。

解説

Lambda関数はAWS上で実行される際、デフォルトでCloudWatch Logsにログを送信しますが、そのためにはLambda関数の実行ロールがCloudWatch Logsへの書き込み権限(logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEventsなど)を持つ必要があります。この権限が不足している場合、関数は正常に実行されてもログがCloudWatch Logsに書き込まれず、コンソール上でログが表示されません。したがって、選択肢Cが問題の根本原因を正しく指摘しています。選択肢Aは誤りで、明示的なログ出力文がなくてもLambdaの実行ログ(START/END/REPORT)は自動記録されます。選択肢Bは誤りで、CloudWatch Logsはトリガーではなく、ログ収集サービスです。選択肢Dは誤りで、ロググループはLambda実行時に自動作成されるか、事前に指定可能ですが、ログが出力されない直接的原因ではありません。