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

해결 방법

다음 사항을 충족하도록 IAM 콘솔에서 Lambda 함수의 실행 역할에 대한 IAM 정책을 검토하고 편집합니다.

  • 쓰기 작업인 CreateLogGroup 및 CreateLogStream이 허용됩니다.
    참고: 함수에 대한 사용자 지정 권한이 필요하지 않은 경우 관리형 정책 AWSLambdaBasicExecutionRole을 연결할 수 있습니다. 이 관리형 정책은 Lambda가 CloudWatch에 로그를 쓸 수 있도록 합니다.
  • Amazon 리소스 이름(ARN)에 지정된 AWS 리전이 Lambda 함수의 리전과 동일합니다.
  • 로그 그룹 리소스에는 Lambda 함수 이름이 포함됩니다. 예를 들어, 함수 이름이 myLambdaFunction인 경우 연결된 로그 그룹/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:*"
            ]
        }
    ]
}

관련 정보

AWS Lambda 권한

AWS 공식
AWS 공식업데이트됨 3년 전