CloudWatch 콘솔에서 Lambda 함수 로그의 "Log group does not exist" 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

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의 서비스 연결 역할을 참조하십시오.

해결 방법

참고: 다음 해결 방법은 서비스 제어 정책(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 공식업데이트됨 한 달 전