Lambda で CloudWatch Logs ログを使用する - AWS Lambda

Lambda で CloudWatch Logs ログを使用する

AWS Lambda は、ユーザーに代わって Lambda 関数を自動でモニタリングし、関数の障害をトラブルシューティングするのに役立ちます。関数の実行ロールに必要なアクセス許可がある限り、Lambda は関数によって処理されたすべてのリクエストのログをキャプチャし、Amazon CloudWatch Logs に送信します。

コードが正常に動作しているかどうかを検証できるように、ログ記録ステートメントをコードに挿入できます。Lambda は、CloudWatch Logs と自動的に統合し、コードのすべてのログを、Lambda 関数に関連付けられた CloudWatch ロググループに送信します。

デフォルトでは、Lambda は /aws/lambda/<function name> という名前のロググループにログを送信します。関数から別のグループにログを送信する場合は、Lambda コンソール、AWS Command Line Interface (AWS CLI)、または Lambda API を使用してこれを設定できます。詳細については、「CloudWatch ロググループの設定」を参照してください。

Lambda 関数のログは、Lambda コンソール、CloudWatch コンソール、AWS Command Line Interface(AWS CLI)、または CloudWatch API を使って表示することができます。

注記

関数の呼び出し後にログが表示されるまで、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 料金表」を参照してください。