使用 AWS re:Post 即表示您同意 AWS re:Post 使用條款

如何解決 CloudWatch 主控台中 Lambda 函數日誌的「日誌群組不存在」錯誤?

1 分的閱讀內容
0

當我在 Amazon CloudWatch 主控台中檢視 AWS Lambda 函數的日誌時,收到「日誌群組不存在」錯誤。我想解決錯誤。

簡短說明

如果在您檢視函數的日誌時,沒有 Lambda 函數的日誌群組,則 CloudWatch 將傳回下列錯誤訊息:

「日誌群組不存在。特定的日誌群組: <log group name> 不存在於此帳戶或區域。」

在第一次執行函數之後,系統會產生日誌。如果在調用函數之後沒有日誌群組,則函數的 AWS Identity and Access Management (IAM) 權限存在問題。

若要對 CloudWatch 中的「日誌群組不存在」錯誤進行疑難排解,請確認下列內容:

  • 您的 Lambda 函數的執行角色具有足夠的許可,可將日誌寫入 CloudWatch。
  • IAM 政策中的日誌群組資源包含您的函數名稱。

**注意:**如需有關 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 中的權限

AWS 官方
AWS 官方已更新 1 個月前