Registros de funciones perimetrales
Puede utilizar registros de Amazon CloudWatch para obtener registros de las funciones periféricas de Lambda@Edge y CloudFront Functions. Puede acceder a los registros mediante la consola de CloudWatch o la API de CloudWatch Logs.
importante
Recomendamos utilizar los registros de acceso para comprender la naturaleza de las solicitudes hechas a su contenido y no como una relación exhaustiva de todas las solicitudes. CloudFront envía registros de funciones perimetrales en la medida en que sea posible. La entrada de registro de una solicitud determinada puede entregarse mucho después de la solicitud se haya procesado realmente y, en casos contados, es probable que una entrada de registro no se entregue en absoluto. Cuando se omite una entrada de registro de los registros de funciones perimetrales, la cantidad de entradas de los registros de funciones perimetrales no coincidirá con el uso que aparece en los informes de facturación y de uso de AWS.
Registros de Lambda@Edge
Lambda@Edge envía automáticamente registros de funciones a CloudWatch Logs, donde crea flujos de registro en las Regiones de AWS donde se ejecutan las funciones. El nombre del grupo de registro tiene el formato /aws/lambda/us-east-1.
, donde function-name
es el nombre que asignó a la función cuando la creó y function-name
us-east-1
es el código de región para la Región de AWS en la que se creó la función. El nombre del grupo de registro siempre contiene us-east-1
, incluso para los grupos de registro de otras regiones en las que se ejecuta la función.
nota
Lambda@Edge limita los registros en función del volumen de solicitudes y el tamaño de los registros.
Debes revisar los archivos de registro de CloudWatch en la Región de AWS correcta para ver los archivos de registro de la función Lambda@Edge. Para ver las regiones donde la función de Lambda@Edge se está ejecutando, consulte los gráficos de métricas para la función en la consola de CloudFront. Las métricas se muestran para cada Región de AWS. En la misma página, puede elegir una región y, a continuación, consultar los archivos de registro para dicha región para investigar problemas.
Para obtener más información acerca cómo utilizar CloudWatch Logs con las funciones de Lambda@Edge, consulte lo siguiente:
-
Para empezar, puede usar los gráficos proporcionada en la sección Monitoring (Monitoreo) de la consola de CloudFront, consulte Supervisión de métricas de CloudFront con Amazon CloudWatch.
-
Para obtener información acerca de los permisos necesarios para enviar datos a CloudWatch Logs, consulte Configuración de permisos y roles de IAM para Lambda@Edge.
-
Para obtener información sobre cómo agregar el registro a una función Lambda@Edge, consulte Registro de funciones AWS Lambda en Node.js o Registro de funciones AWS Lambda en Python en la Guía para desarrolladores de AWS Lambda.
-
Para obtener información acerca de las cuotas de CloudWatch Logs (anteriormente conocidas como límites), consulte Cuotas de CloudWatch Logs en la Guía del usuario de Amazon CloudWatch Logs.
Registros de CloudFront Functions
Si el código de una función de CloudFront contiene instrucciones console.log()
, CloudFront Functions envía automáticamente estas líneas de registro a CloudWatch Logs. Si no hay instrucciones console.log()
, no se envía nada a CloudWatch Logs.
CloudFront Functions siempre crea flujos de registro en la región EE. UU. Este (Norte de Virginia) (us-east-1
), independientemente de la ubicación de borde que ejecuta la función. El nombre del grupo de registro tiene el formato /aws/cloudfront/function/
, donde FunctionName
es el nombre que asignó a la función cuando la creó. El nombre del flujo de registro tiene el formato FunctionName
YYYY/M/D/
.UUID
A continuación, se muestra un mensaje de registro de ejemplo enviado a CloudWatch Logs. Cada línea comienza con un ID que identifica de forma única una solicitud de CloudFront. El mensaje comienza con una línea START
que incluye el ID de distribución de CloudFront y termina con una línea END
. Entre las líneas START
y END
, se encuentran las líneas de registro que las instrucciones console.log()
crearon en la función.
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== START DistributionID: E3E5D42GADAXZZ
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== Example function log output
U7b4hR_RaxMADupvKAvr8_m9gsGXvioUggLV5Oyq-vmAtH8HADpjhw== END
nota
CloudFront Functions envía registros a CloudWatch solo para las funciones de la etapa LIVE
que se ejecutan en respuesta a solicitudes y respuestas de producción. Al probar una función, CloudFront no envía ningún registro a CloudWatch. La salida de prueba contiene información sobre errores, utilización de cómputo y registros de funciones (instrucciones console.log()
), pero esta información no se envía a CloudWatch.
CloudFront Functions utiliza un rol vinculado a servicios de AWS Identity and Access Management (IAM) para enviar registros a CloudWatch Logs en su cuenta. Un rol vinculado a servicios es un rol de IAM que está vinculado directamente a un servicio de AWS. Los roles vinculados a servicios están predefinidos por el servicio e incluyen todos los permisos que el servicio requiere para llamar a otros servicios de AWS en su nombre. CloudFront Functions utiliza un rol vinculado a servicios llamado AWSServiceRoleForCloudFrontLogger. Para obtener más información sobre este rol, consulte Roles vinculados a servicios para Lambda@Edge (Lambda@Edge utiliza el mismo rol vinculado a servicios).
Cuando una función produce un error de validación o de ejecución, la información se registra en los registros estándar y en los registros en tiempo real de CloudFront. La información sobre el error se registra en los campos x-edge-result-type
, x-edge-response-result-type
y x-edge-detailed-result-type
.