Cuando veo los registros de mi función de AWS Lambda en la consola de Amazon CloudWatch, aparece el error «El grupo de registro no existe». Quiero resolver el error.
Descripción corta
Si no hay ningún grupo de registro para la función de Lambda cuando ves los registros de la función, CloudWatch muestra el siguiente error:
«El grupo de registro no existe. El grupo de registro específico: <log group name> no existe en esta cuenta o región.»
Los registros se generan después de ejecutar la función por primera vez. Si no hay ningún grupo de registro después de invocar la función, se debe a que hay un problema con los permisos de AWS Identity and Access Management (IAM) de la función.
Para solucionar el error El grupo de registro no existe de CloudWatch, confirma lo siguiente:
Nota: Para obtener información sobre los problemas de registro con Lambda@Edge relacionados con los permisos, consulta Roles vinculados a servicios para Lambda @Edge.
Resolución
Nota: La siguiente resolución no funciona para los permisos denegados de nivel superior, por ejemplo, mediante una política de control de servicio (SCP) o un límite de permisos. Primero debes resolver los permisos denegados.
Edita la política de IAM para el rol de ejecución de la función de Lambda para incluir lo siguiente:
- Permite las acciones de escritura CreateLogGroup y CreateLogStream.
Nota: Si no necesitas permisos personalizados para tu función, puedes adjuntar la política administrada AWSLambdaBasicExecutionRole para permitir que Lambda escriba registros en CloudWatch.
- La región de AWS que se especifica en el ARN es la misma que la región de la función de Lambda.
- El recurso log-group incluye el nombre de la función de Lambda. Por ejemplo, si la función se llama myLambdaFunction, el log-group asociado es /aws/lambda/myLambdaFunction.
A continuación,se muestra un ejemplo de política que incluye los permisos necesarios para que un rol de Lambda acceda a los registros de 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:*"
]
}
]
}
**Nota:**Asegúrate de agregar el servicio de Lambda a la política de confianza del rol de IAM:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Información relacionada
Administración de permisos en AWS Lambda