Lambda 関数ログを CloudWatch Logs に送信する
関数の実行ロールが必要なアクセス許可を持っていることを前提として、デフォルトでは Lambda はすべての関数呼び出しについてログを自動的にキャプチャし、CloudWatch Logs に送信します。デフォルトで、これらのログは「/aws/lambda/<function-name>
」という名前のロググループに保存されます。デバッグ強化のため、ユーザーはコードにカスタムログ記録ステートメントを挿入することができ、Lambda はこのコードを CloudWatch Logs にシームレスに統合させます。必要に応じて、Lambda コンソール、AWS CLI、あるいは Lambda API を使用してログを別のグループに送信するように関数を設定することができます。詳細については、「CloudWatch ロググループの設定」を参照してください。
Lambda 関数のログは、Lambda コンソール、CloudWatch コンソール、AWS Command Line Interface(AWS CLI)、または CloudWatch API を使って表示することができます。詳細については、「Lambda 関数の CloudWatch Logs を表示する」を参照してください。
注記
関数の呼び出し後にログが表示されるまで、5~10 分かかることがあります。
必要な IAM 許可
ログを CloudWatch Logs にアップロードするには、実行ロールには次のアクセス許可が必要です。
-
logs:CreateLogGroup
-
logs:CreateLogStream
-
logs:PutLogEvents
詳細については、「Amazon CloudWatch ユーザーガイド」の「Using identity-based policies (IAM policies) for CloudWatch Logs」を参照してください。
これらの CloudWatch Logs のアクセス許可は、Lambda が付与する AWSLambdaBasicExecutionRole
AWS 管理ポリシーを使って追加します。このポリシーをロールに割り当てるには、次のコマンドを実行します。
aws iam attach-role-policy --role-name your-role
--policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
詳細については、「実行ロールでの AWS マネージドポリシーの使用」を参照してください。
料金
Lambda ログの使用には追加料金は発生しませんが、標準の CloudWatch Logs 料金が適用されます。詳細については、「CloudWatch 料金表