¿Por qué no se entregan los registros de Lambda@Edge CloudTrail?

4 minutos de lectura
0

He asociado una función de AWS Lambda@Edge con una distribución de Amazon CloudFront como desencadenador. No puedo encontrar los registros de ejecución completados de la función de Lambda@Edge en Amazon CloudWatch en la secuencia de registro de AWS CloudTrail. ¿Cómo puedo solucionar los problemas por los que no los puedo encontrar?

Los registros de Lambda@Edge no se completan si el rol de AWS Identity and Access Management (IAM) asociado a la función de Lambda@Edge carece del permiso necesario. Los registros también pueden parecer faltantes si está comprobando la región incorrecta en la consola.

Resolución

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

Compruebe que el rol de ejecución de la función tenga los permisos necesarios para crear grupos de registro y secuencias y colocar los eventos de registro en cualquier región de AWS. La entrega de registros fallará si el rol de ejecución asociado a la función de Lambda no tiene los permisos necesarios.

Un ejemplo de política de IAM asociada al rol de ejecución de Lambda@Edge:

{
  "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 los registros de CloudWatch, consulte Configuración de permisos y roles de IAM para Lambda@Edge.

Comprobar los registros de la región en la que se activó la función Lambda

Cuando se activa la función Lambda@Edge, Lambda crea secuencias de registro de CloudWatch en la región de AWS más cercana a la ubicación en la que se activa la función. El nombre del grupo de registro tiene el formato /aws/lambda/us-east-1.function-name, donde function-name es el nombre de la función de Lambda.

Para localizar los registros de funciones de Lambda@Edge, debe determinar en qué regiones se está invocando la función y, a continuación, ver los registros.

Para buscar la región en la que se invocó la función:

  1. Inicie sesión en la consola de administración de AWS y abra la consola de CloudFront.
  2. Elija Monitoring (Monitoreo) en la categoría Telemetry (Telemetría).
  3. Seleccione la pestaña Lambda@Edge.
  4. Seleccione la función de Lambda@Edge y, a continuación, elija View function metrics (Ver métricas de funciones).

Desde la página de monitoreo, ahora podemos ver en qué regiones se invocan nuestras funciones de réplica durante un periodo específico. Aquí podemos encontrar los registros de CloudWatch para nuestra función en cada región. Para ello, seleccione View function logs (Ver registros de funciones) y, a continuación, seleccione la región en la que se invoca la función.

Nota: Si ve errores en una región en particular, elija la región que muestre los errores en el gráfico. Para obtener más información, consulte Determinación de la región de Lambda@Edge.

O bien, para determinar la ubicación periférica a la que se dirigió la solicitud, compruebe el valor del encabezado de la respuesta x-amz-cf-pop. A continuación, compruebe la región correspondiente en CloudWatch para ver los archivos de registro. Por ejemplo, si x-amz-cf-pop se establece en IAD89-P1, esto indica que la solicitud funciona en la región us-east-1, donde IAD es el código del aeropuerto.

Cuando Lambda devuelve una respuesta no válida a CloudFront, CloudFront envía los mensajes de error escritos en los archivos de registro. A continuación, CloudFront envía esto a la región de CloudWatch en la que se ejecutó la función de Lambda. Los grupos de registro tienen el siguiente formato: /aws/cloudfront/LambdaEdge/DistributionId, donde DistributionId es el ID de la distribución. Para buscar la región en la que se encuentra el archivo de registro de CloudWatch, consulte Determinación de la región de Lambda@Edge.


Información relacionada

Configuración de permisos y roles de IAM para Lambda@Edge

Métricas y registros de CloudWatch para las funciones de Lambda@Edge

Determinar si su cuenta envía registros a CloudWatch

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años