Diferencias entre CloudFront Functions y Lambda@Edge - Amazon CloudFront

Diferencias entre CloudFront Functions y Lambda@Edge

CloudFront Functions y Lambda@Edge proporcionan una forma de ejecutar código en respuesta a eventos de CloudFront.

CloudFront Functions es ideal para funciones ligeras y de corta duración para los siguientes casos de uso:

  • Normalización de la clave de caché: transforme los atributos de la solicitud HTTP (encabezados, cadenas de consulta, cookies o hasta la ruta de la URL) para crear una clave de caché óptima, lo que puede mejorar la tasa de aciertos de la caché.

  • Manipulación de encabezados: inserte, modifique o elimine encabezados HTTP en la solicitud o la respuesta. Por ejemplo, puede agregar un encabezado True-Client-IP a cada solicitud.

  • Redireccionamientos o reescrituras de URL: redirija a los lectores a otras páginas en función de la información de la solicitud o puede redirigir todas las solicitudes de una ruta a otra.

  • Autorización de solicitudes: valide los tokens de autorización con hash, como los tokens web JSON (JWT) mediante la inspección de los encabezados de autorización u otros metadatos de solicitud.

Para empezar a utilizar CloudFront Functions, consulte Personalización en la periferia con CloudFront Functions.

Lambda@Edge es ideal para los siguientes casos de uso:

  • Funciones que tardan varios milisegundos o más en completarse

  • Funciones que requieren CPU o memoria ajustable

  • Funciones que dependen de bibliotecas de terceros (incluido el SDK de AWS, para la integración con otros Servicios de AWS)

  • Funciones que requieren acceso a la red para utilizar servicios externos para el procesamiento

  • Funciones que requieren acceso al sistema de archivos o acceso al cuerpo de las solicitudes HTTP

Para comenzar con Lambda@Edge, consulte Personalización en la periferia con Lambda@Edge.

Para ayudarle a elegir la opción para su caso de uso, utilice la siguiente tabla con el fin de entender las diferencias entre CloudFront Functions y Lambda@Edge.

CloudFront Functions Lambda@Edge
Lenguajes de programación JavaScript (compatible con ECMAScript 5.1) Node.js y Python
Orígenes de eventos
  • Solicitud del lector

  • Respuesta del lector

  • Solicitud del lector

  • Respuesta del lector

  • Solicitud del origen

  • Respuesta del origen

Admite Amazon CloudFront KeyValueStore

CloudFront KeyValueStore solo admite JavaScript runtime 2.0

No

Escalado 10 000 000 de solicitudes por segundo o más Hasta 10 000 solicitudes por segundo por región
Duración de función Submilisegundo

Hasta 5 segundos (solicitud del lector y respuesta del lector)

Hasta 30 segundos (solicitud de origen y respuesta de origen)

Memoria máxima

Para obtener más información, consulte Cuotas de Lambda.

2 MB 128 MB – 10 240 MB (10 GB)
Tamaño máximo del código de función y bibliotecas incluidas 10 KB

1 MB (solicitud del lector y respuesta del lector)

50 MB (solicitud de origen y respuesta de origen)

Acceso a la red No
Acceso al sistema de archivos No
Acceso al cuerpo de solicitud No
Acceso a datos de geolocalización y dispositivos

No (solicitud del lector y respuesta del lector)

Sí (solicitud de origen y respuesta de origen)

Se puede compilar y probar completamente dentro de CloudFront No
Registro y métricas de funciones
Precios Capa gratuita disponible; se cobra por solicitud Sin capa gratuita; se cobra por solicitud y duración de la función