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 Hasta millones de solicitudes por segundo 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)

Tamaño de memoria de función máxima

2 MB

128 MB (solicitud del lector y respuesta del lector)

10 240 MB (10 GB) (solicitud de origen y respuesta de origen)

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

Tamaño máximo del código de función y bibliotecas incluidas 10 KB

50 MB (solicitud del espectador y respuesta del espectador)

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