當我在 Amazon CloudWatch 主控台中檢視 AWS Lambda 函數的日誌時,收到「日誌群組不存在」錯誤。我想解決錯誤。
簡短說明
如果在您檢視函數的日誌時,沒有 Lambda 函數的日誌群組,則 CloudWatch 將傳回下列錯誤訊息:
「日誌群組不存在。特定的日誌群組: <log group name> 不存在於此帳戶或區域。」
在第一次執行函數之後,系統會產生日誌。如果在調用函數之後沒有日誌群組,則函數的 AWS Identity and Access Management (IAM) 權限存在問題。
若要對 CloudWatch 中的「日誌群組不存在」錯誤進行疑難排解,請確認下列內容:
**注意:**如需有關 Lambda@Edge 的權限相關日誌記錄問題的資訊,請參閱 Lambda@Edge 的服務連結角色。
解決方法
**注意:**下列解決方案不適用於更高層級的遭拒權限,例如透過服務控制政策 (SCP) 或許可界限。您必須先解決遭拒的權限。
編輯 Lambda 函數執行角色的 IAM 政策,以包括下列內容:
- 允許 CreateLogGroup 和 CreateLogStream 寫入動作。
**注意:**如果您不需要函數的自訂權限,則可以附加受管政策 AWSLambdaBasicExecutionRole,以允許 Lambda 將日誌寫入 CloudWatch。
- ARN 中指定的 AWS 區域與 Lambda 函數的區域相同。
- log-group 資源包含 Lambda 函數的名稱。例如,如果您的函數名為 myLambdaFunction,則關聯的 log-group 為 /aws/lambda/myLambdaFunction。
下列是一個範例政策,其中包含 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:*"
]
}
]
}
**注意:**請確定您在 IAM 角色的信任政策中新增 Lambda 服務:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
相關資訊
管理 AWS Lambda 中的權限