¿Por qué no se entregan mis registros de CloudWatch de Lambda@Edge?

3 minutos de lectura
0

He asociado una función de AWS Lambda@Edge a una distribución de Amazon CloudFront. Sin embargo, no encuentro los registros de la función de Lambda@Edge en la secuencia de registro de Registros de Amazon CloudWatch.

Resolución

Comprueba el permiso del rol de IAM asociado a la función de Lambda@Edge

Si el rol de AWS Identity and Access Management (IAM) asociado a la función de Lambda@Edge carece de los permisos necesarios, los registros de Lambda@Edge no se rellenan. Comprueba que el rol de la función tenga los permisos necesarios para crear grupos de registro y secuencias de registro y colocar los eventos de registro en cualquier región de AWS.

Ejemplo de política de IAM:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:*"
            ]
        }
    ]
}

Para obtener más información sobre los permisos necesarios para enviar datos a Registros de CloudWatch, consulta Configuración de los permisos y roles de IAM para Lambda@Edge.

Localización de los registros en la región en la que CloudFront invoca la función de Lambda

Confirma la región en la consola de CloudFront. Si has utilizado la región incorrecta, es posible que no veas los registros.

Al invocar la función de Lambda@Edge, Lambda crea flujos de registro de Registros de CloudWatch en la región en la que se recibió la solicitud. El nombre del grupo de registro usa el siguiente formato: /aws/lambda/us-east-1.function-name.

Para localizar los registros de funciones de Lambda@Edge, busca la región en la que CloudFront invoca la función. Sigue estos pasos:

  1. Abre la consola de CloudFront.
  2. En Telemetría, elige Supervisión.
  3. Elige la pestaña Lambda@Edge.
  4. Selecciona la función de Lambda@Edge y, a continuación, elige Ver métricas.
  5. Selecciona Ver registros de funciones y, a continuación, selecciona la región en la que CloudFront invoca la función.
    Nota: Si ves errores en una región, selecciona esa región en el gráfico de métricas de errores.
  6. Para verificar la ubicación periférica a la que CloudFront dirigió la solicitud, comprueba el valor del encabezado de la respuesta x-amz-cf-pop. A continuación, comprueba la región correspondiente en Registros de CloudWatch para revisar los archivos de registro. Por ejemplo, si x-amz-cf-pop es IAD89-P1, IAD es el código del aeropuerto y CloudFront entregó la solicitud en us-east-1.

Si Lambda devuelve una respuesta no válida a CloudFront, CloudFront registra los mensajes de error en los archivos de registro. A continuación, CloudFront publica estos registros en Registros de CloudWatch de la región en la que se ejecutó la función Lambda. Los grupos de registro utilizan el siguiente formato: /aws/cloudfront/LambdaEdge/DistributionId. Para localizar la región en la que puedes encontrar el archivo de registro de Registros de CloudWatch, consulta Determinar la región de Lambda@Edge.

Información relacionada

Informes, métricas y registros

Determinar si la cuenta envía los registros a CloudWatch

OFICIAL DE AWSActualizada hace 3 meses