Amazon CloudWatch コンソールで AWS Lambda 関数のログを表示しようとすると、「Log group does not exist」というエラーが表示されます。どうすればこのエラーを解決できますか?
簡単な説明
関数のログを表示しようとしたときに Lambda 関数のロググループがない場合、CloudWatch は次のエラーを返します。
"Log group does not exist. The specific log group: <log group name> does not exist in this account or region."
ログは、初めて関数を実行した後に生成されます。関数を呼び出した後にロググループがない理由は、通常、関数の AWS Identity and Access Management (IAM) アクセス許可に問題があるからです。
CloudWatch から「Log group does not exist」エラーのトラブルシューティングを行うには、以下の事項を確認します。
- Lambda 関数の実行ロールに、CloudWatch にログを書き込むための十分なアクセス許可がある。
- IAM ポリシーのロググループリソースには、関数の名前が含まれている。
注: Lambda@Edge のアクセス許可に関連するログの問題については、Lambda@Edge のサービスにリンクされたロールを参照してください。
解決策
IAM コンソールで、Lambda 関数の実行ロールの IAM ポリシーを確認および編集して、次の条件を満たします。
**Lambda ロールが CloudWatch ログにアクセスするために必要な許可を含むポリシーの例を以下に示します。
**
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "logs:CreateLogGroup",
"Resource": "arn:aws:logs:region:accountId:*"
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:region:accountId:log-group:/aws/lambda/functionName:*"
]
}
]
}
関連情報
AWS Lambda permissions