Lambda 関数ログを CloudWatch Logs に送信する - AWS Lambda

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 が付与する AWSLambdaBasicExecutionRoleAWS 管理ポリシーを使って追加します。このポリシーをロールに割り当てるには、次のコマンドを実行します。

aws iam attach-role-policy --role-name your-role --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

詳細については、「実行ロールでの AWS マネージドポリシーの使用」を参照してください。

料金

Lambda ログの使用には追加料金は発生しませんが、標準の CloudWatch Logs 料金が適用されます。詳細については、「CloudWatch 料金表」を参照してください。