Uso de AWS Lambda con CloudFront Lambda@Edge - AWS Lambda

Uso de AWS Lambda con CloudFront Lambda@Edge

Lambda@Edge le permite ejecutar funciones Lambda de Node.js y Python para personalizar el contenido que ofrece CloudFront y ejecutar las funciones en las ubicaciones de AWS más cercanas al usuario. Las funciones se ejecutan en respuesta a eventos de CloudFront, sin necesidad de aprovisionar ni administrar servidores. Puede utilizar funciones de Lambda para cambiar las solicitudes y las respuestas de CloudFront en los siguientes puntos:

  • Después de que CloudFront reciba una solicitud de un espectador (solicitud del espectador)

  • Antes de que CloudFront reenvíe la solicitud al origen (solicitud al origen)

  • Después de que CloudFront reciba la respuesta del origen (respuesta del origen)

  • Antes de que CloudFront reenvíe la respuesta al espectador (respuesta al espectador)


      Gráfico conceptual que muestra cómo los eventos de CloudFront pueden activar una función de Lambda.
nota

Lambda@Edge admite un conjunto limitado de tiempos de ejecución y características. Para obtener más información, consulte Requisitos y restricciones de funciones de Lambda en la guía de Amazon CloudFront para desarrolladores.

También puede generar respuestas a los espectadores sin necesidad de enviar la solicitud al origen.

ejemplo Evento de mensaje de CloudFront

{ "Records": [ { "cf": { "config": { "distributionId": "EDFDVBD6EXAMPLE" }, "request": { "clientIp": "2001:0db8:85a3:0:0:8a2e:0370:7334", "method": "GET", "uri": "/picture.jpg", "headers": { "host": [ { "key": "Host", "value": "d111111abcdef8.cloudfront.net" } ], "user-agent": [ { "key": "User-Agent", "value": "curl/7.51.0" } ] } } } } ] }

Con Lambda@Edge, puede crear una amplia variedad de soluciones, como:

  • Inspeccionar las cookies para rescribir URL en diferentes versiones de un sitio y poder realizar pruebas A/B.

  • Enviar diferentes objetos a los usuarios en función del encabezado User-Agent, que contiene información sobre el dispositivo que envió la solicitud. Por ejemplo, puede enviar imágenes en diferentes resoluciones a los usuarios en función de sus dispositivos.

  • Revisar los encabezados o los tokens autorizados, insertar el encabezado correspondiente y permitir el control de acceso antes de reenviar una solicitud al origen.

  • Añadir, eliminar y modificar encabezados, así como reescribir la ruta de la URL para dirigir a los usuarios a distintos objetos de la caché.

  • Generar nuevas respuestas HTTP para realizar tareas como redirigir a los usuarios sin autenticar a páginas de inicio de sesión, o crear y entregar páginas web estáticas desde el borde. Para obtener más información, consulte Utilización de funciones de Lambda para generar respuestas HTTP a solicitudes de origen y del visor en la Guía para desarrolladores de Amazon CloudFront.

Para obtener más información sobre cómo utilizar Lambda@Edge, consulte Uso de CloudFront con Lambda@Edge.