es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Flujo de ejecución de AWS Lambda@Edge/Cloudfront

Estoy refactorizando un proyecto de una empresa externa donde agregan dos funciones Lambda @ Edge diferentes que son activadas por CloudFront.

Básicamente, el flujo es el siguiente:
 1. Cuando los usuarios llaman al archivo S3 desde la aplicación web, CloudFront dispara un evento que llamará a Lambda @Edge.
 2. Hay dos Lambdas: una para contar las descargas por usuario y otra para restringir el acceso.

El problema es que la solución no está funcionando y falta una verificación de conteo de descargas.

¿Cuál es el flujo de ejecución para Lambda@Edge adjunto al mismo evento? Estoy pensando en colocar toda la lógica dentro de una sola Lambda ya que me preocupa que el conteo pueda ocurrir antes que el acceso denegado. Sin embargo, considerando que Lambda@Edge tiene limitaciones de tiempo de ejecución.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El flujo de ejecución para Lambda@Edge adjuntado al mismo evento en este escenario es el siguiente:

    1. La solicitud del usuario es recibida por CloudFront.
    2. CloudFront envía la solicitud al servidor de origen apropiado (en este caso, un bucket S3).
    3. Antes de que el contenido sea devuelto al usuario, CloudFront activa la primera función Lambda@Edge para contar la descarga por usuario.
    4. Si el acceso no está restringido, CloudFront activa la segunda función Lambda@Edge para restringir el acceso.
    5. Si el acceso sigue permitido después de la segunda función Lambda@Edge, CloudFront devuelve el contenido al usuario.

    Si la solución carece de una verificación de conteo de descargas, se recomienda refactorizar las Lambdas combinándolas en una sola función Lambda que maneje tanto la lógica de conteo como la restricción de acceso. Sin embargo, es importante tener en cuenta la limitación de tiempo de ejecución de Lambda@Edge y asegurarse de que la función Lambda combinada no la supere.

Comments are closed.