top of page

📖Capítulo 8: Lambda + S3 : Mover objetos-Parte 1 ⚡

  • 29 may
  • 3 min de lectura

Pues bien…

Este proyecto nace a partir de una idea que inicialmente compartí en LinkedIn sobre los eventos en Amazon S3 y cómo estos pueden integrarse con arquitecturas serverless para automatizar procesos en AWS.

Sin embargo, más allá de únicamente comprender cómo funcionan los eventos en S3, el verdadero objetivo del proyecto es llevar toda esa configuración visual de AWS hacia un enfoque completamente basado en Infrastructure as Code (IaC).

Y sinceramente…

este proyecto formará parte de una consolidación bastante importante dentro de toda la serie de aprendizaje sobre CloudFormation e Infraestructura como Código.

☁️ ¿Por qué los eventos en S3 son tan importantes?

Cuando muchas personas comienzan a utilizar Amazon S3, suelen verlo únicamente como un servicio de almacenamiento. Pero realmente:

Amazon S3 también puede actuar como un servicio orientado a eventos.

Cada vez que ocurre una acción sobre un objeto, por ejemplo:

  • subida de archivos,

  • eliminación,

  • restauración,

  • modificaciones,

S3 puede generar eventos que posteriormente se integran con otros servicios AWS como:

  • AWS Lambda

  • Amazon SNS

  • Amazon SQS

  • Amazon EventBridge

Y aquí es donde comienzan a aparecer arquitecturas mucho más desacopladas, automáticas y orientadas a eventos.

🚀 Objetivo del proyecto

Para este proyecto decidí trabajar con una integración entre:

  • Amazon S3

  • AWS Lambda

  • IAM

El objetivo es simple, pero extremadamente útil para comprender arquitecturas event-driven:

📌 Cada vez que se suba un archivo a un bucket origen, automáticamente se ejecutará una Lambda Function encargada de copiar dicho archivo hacia un bucket destino.

🧩 Arquitectura implementada

La arquitectura final estará compuesta por:

✔️ Un bucket S3 origen

✔️ Un bucket S3 destino

✔️ Una Lambda Function

✔️ Un rol IAM con permisos sobre ambos buckets

✔️ Eventos configurados desde S3 hacia Lambda

⚙️ Flujo del proyecto

El flujo implementado funciona de la siguiente manera:

  1. Un archivo es cargado al bucket origen.

  2. El evento PUT en S3 detecta la carga.

  3. Amazon S3 ejecuta automáticamente la Lambda Function.

  4. La función Lambda utiliza boto3 para copiar el archivo hacia el bucket destino.

  5. Opcionalmente, el archivo puede eliminarse del bucket origen para simular un movimiento completo.

🧠 De la consola AWS hacia Infrastructure as Code

Uno de los enfoques principales de este proyecto fue abstraer toda la configuración visual de AWS hacia Infrastructure as Code. Porque algo bastante común cuando comenzamos a aprender AWS es esto:

Creamos recursos desde la consola… Pero no comprendemos realmente cómo se relacionan internamente.

Y justamente ahí es donde IaC comienza a cambiar completamente la perspectiva. Antes de comenzar a construir templates, primero fue necesario analizar:

  • relaciones entre servicios,

  • dependencias,

  • permisos IAM,

  • integración entre S3 y Lambda,

  • triggers,

  • configuraciones obligatorias,

  • y recursos implícitos creados automáticamente por AWS.

Una vez comprendida toda la arquitectura:

👉 comenzó la transición hacia CloudFormation.

📘 Organización de los templates

Para este proyecto decidí utilizar nuevamente un enfoque basado en templates organizados por servicio. Algo bastante similar a lo trabajado anteriormente dentro de la serie de IaC.

IAM

Archivo:

template-iam.yml

Encargado de:

  • Roles IAM

  • Policies

  • Permisos para Lambda y S3

AWS Lambda

Archivo:

template-lambda.yml

Encargado de:

  • Lambda Function

  • Runtime

  • Variables necesarias

  • Configuración de ejecución

  • Asociación con IAM Role

Amazon S3

Archivo:

template-s3.yml

Encargado de:

  • Bucket origen

  • Bucket destino

  • Configuración de eventos

  • Integración con Lambda

🔥 Más que mover archivos…

Aunque visualmente el proyecto parezca sencillo, realmente introduce conceptos extremadamente importantes dentro de AWS:

  • arquitecturas serverless,

  • event-driven architectures,

  • automatización basada en eventos,

  • integración desacoplada entre servicios,

  • permisos IAM,

  • infraestructura reproducible mediante IaC.

Porque al final:

no solo estamos moviendo archivos.

Estamos construyendo sistemas capaces de reaccionar automáticamente a eventos en tiempo real ⚙️

🚀 Continuando la serie de IaC

Este proyecto representa también una evolución importante dentro de toda la serie de aprendizaje sobre Infrastructure as Code. Porque aquí ya no solo trabajamos con:

  • templates básicos,

  • stacks,

  • o despliegues simples.

Ahora comenzamos a construir:

  • automatización orientada a eventos,

  • arquitecturas desacopladas,

  • e integraciones serverless reales dentro de AWS.

Y sinceramente… mientras más avanzamos en cloud, más entendemos que IaC termina convirtiéndose en el punto central que conecta infraestructura, automatización y arquitectura.

Comentarios


IngenieriaDatos.jpg

Tomar decisiones sin datos es como navegar en la oscuridad...

En la era digital, los datos son el activo más valioso de las empresas; su correcta recopilación, análisis y aplicación estratégica son clave para impulsar la toma de decisiones informada, la innovación y el éxito empresarial

  • GitHub
  • LinkedIn
  • Youtube

Copyrights © 2026 Brayan Neciosup Bolaños All rights reserved.

bottom of page