Personalización en el borde con Lambda@Edge - Amazon CloudFront

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Personalización en el borde con Lambda@Edge

Lambda@Edge es una extensión de AWS Lambda. Lambda @Edge es un servicio de cómputo que permite ejecutar funciones que personalizan el contenido que CloudFront se entrega. Puede crear funciones en Node.js o Python en una región, Este de EE. UU. (Norte de Virginia,) y ejecutarlas en cualquier ubicación de AWS del mundo que esté más cerca de lector sin necesidad de aprovisionar ni administrar servidores. Lambda@Edge se escala automáticamente, desde unas pocas solicitudes al día a miles de solicitudes por segundo. Procesar solicitudes en ubicaciones de AWS más cercanas al espectador en lugar de en servidores de origen reduce significativamente la latencia y mejora la experiencia del usuario.

Al asociar una CloudFront distribución a una función Lambda @Edge, CloudFront intercepta las solicitudes y respuestas en CloudFront las ubicaciones de borde. Puede ejecutar funciones Lambda cuando se produzcan los siguientes CloudFront eventos:

  • Cuando CloudFront recibe una solicitud de un espectador (solicitud del espectador)

  • Antes CloudFront de reenviar una solicitud al origen (solicitud de origen)

  • Cuándo CloudFront recibe una respuesta del origen (respuesta de origen)

  • Antes CloudFront devuelve la respuesta al espectador (respuesta del espectador)

Existe una gran variedad de usos para el procesamiento con Lambda@Edge. Por ejemplo:

  • Una función de Lambda puede inspeccionar las cookies y reescribir URL, a fin de que los usuarios vean distintas versiones de un sitio para pruebas A/B.

  • CloudFront puede devolver diferentes objetos a los espectadores en función del dispositivo que estén utilizando consultando el User-Agent encabezado, que incluye información sobre los dispositivos. Por ejemplo, CloudFront pueden devolver diferentes imágenes en función del tamaño de la pantalla del dispositivo. Del mismo modo, la función podría considerar el valor del Referer encabezado y hacer CloudFront que devuelvan las imágenes a los bots que tengan la resolución más baja disponible.

  • O bien, podría comprobar las cookies para otros criterios. Por ejemplo, en un sitio web minorista que vende ropa, si utiliza cookies para indicar el color que eligió un usuario para una chaqueta, una función de Lambda puede cambiar la solicitud para que CloudFront devuelva la imagen de una chaqueta en el color seleccionado.

  • Una función Lambda puede generar respuestas HTTP cuando se producen eventos de solicitud del CloudFront espectador o solicitud de origen.

  • Una función puede inspeccionar los encabezados o los identificadores de autorización e insertar un encabezado para controlar el acceso al contenido antes de reenviar la CloudFront solicitud a su origen.

  • Una función de Lambda también puede realizar llamadas de red a recursos externos para confirmar credenciales de usuarios o buscar contenido adicional para personalizar una respuesta.

Para el código de muestra y otros ejemplos, consulte Funciones de ejemplo de Lambda@Edge.