Crea tu propia Fábrica de Reconocimiento de Imágenes con Amazon Rekognition

En este artículo aprenderemos a darle vision artificial a nuestra aplicación, en donde integraremos Amazon S3 para el almacenamiento, IAM Roles para la seguridad, AWS Lambda para la lógica Serverless y Amazon CloudWatch para el monitoreo en tiempo real.
Como programador sin duda alguna buscamos tener algun factor que nos haga ser mas competitivos y en tiempos de IA, la ventaja no está en quién programa el algoritmo más complejo, sino en quién sabe orquestar las herramientas que ya existen para resolver problemas reales.
Es por ello que esta pequeña guía, veremos como integrar Amazon Rekognition en un flujo totalmente automatizado, es decir, nos olvidaremos de configurar GPUs o entrenar modelos por semanas; vamos a conectar piezas de ingeniería para que nuestras fotos(imágenes) se conviertan en datos accionables en milisegundos. El objetivo es simple: subir una foto a la nube y, automáticamente, la IA nos dice qué hay en ella.
Asi que si estás listo para pasar de la teoría a una arquitectura que escala a millones de imágenes por el precio de un café, sigue leyendo.
De la Ciencia Ficción a tu Stack de Desarrollo
La barrera de entrada para la IA ha caído. Lo que antes era un privilegio de laboratorios con presupuestos astronómicos, hoy es una pieza de LEGO en nuestro stack.
- Ayer: Necesitabas PhDs, inversión masiva en GPUs y meses de entrenamiento para modelos que solían ser inalcanzables.
- Hoy: Tenemos accesos a modelos pre-entrenados de clase mundial en milisegundos.
Es decir, ahora nuestro valor real está en la orquestación: conectar estas capacidades para resolver problemas de negocio con agilidad y escala.
La era Serverless
En el mundo del desarrollo moderno, existe una distinción fundamental que todo arquitecto debe comprender para dominar la nube:
- El Mito: “No hay servidores”.
- La Realidad: Hay servidores, pero no son tu problema.
Al adoptar este enfoque, dejas de gestionar máquinas para centrarte en la orquestación de servicios.
Los beneficios son:
- Escalabilidad automática: Tu sistema crece de forma fluida para procesar desde una hasta un millón de peticiones sin intervención manual.
- Modelo de pago por uso: La infraestructura es eficiente financieramente; si nadie usa tu aplicación, el costo es de $0.
- Foco total en el valor de negocio: Te olvidas por completo del parcheo de sistemas operativos y la gestión de parches para dedicar el 100% de tu tiempo a tu lógica.
El “Dream Team” de AWS que usaremos
Para que esto funcione, necesitamos conectar varias piezas. Tal y como lo comente anteriormente, veamoslo como si armaramos una figura de LEGO:
- Amazon S3: Nuestro almacén. Aquí es donde caerán las fotos.
- IAM Roles: El guardia de seguridad. Le daremos a nuestra función los permisos justos para trabajar.
- AWS Lambda: El cerebro. Una función en Python que se activa solo cuando llega (cargat) una foto/imagen.
- Amazon Rekognition: El experto en visión. La IA que hace el trabajo pesado de análisis.
- Amazon CloudWatch: Nuestra bitácora. Aquí veremos los resultados que la IA nos devuelva.
Arquitectura
Como bien lo han de saber, una buena solución no solamente se basa en elegir los servicios correctos, sino en cómo estos se orquestan para trabajar de forma armónica. A continuación, muestro el mapa de arquitectura nivel 100 que guía nuestra “fábrica” de reconocimiento: un flujo totalmente desacoplado y orientado a eventos que nos permite escalar sin intervención manual.

Paso 1: El Almacén de Datos (S3)
Y bueno, tal como lo podemos ver en la imagen anterior, lo primero que debemos de tener, es el lugar donde se guardaran/almacenaran las imágenes, para ello sigamos lo siguiente:
- Entremos a la consola de AWS, naveguemos a S3 y demos clic en Crear bucket.
- Elijamos un nombre único (yo usaré
fabric-ai-cloud-2026). - Dejemos las opciones por defecto y demos clic en Crear bucket.

Paso 2: Seguridad ante todo (IAM)
Lo siguiente segun lo indica la arquitectura es brindar los permisos necesarios para que nuestra Lambda pueda “leer” lo que se encuentra en nuestro S3 y asi poder llamar a la API de Rekognition.
- En el servicio de IAM, creemos un nuevo Role.
- Seleccionemos Lambda como el servicio que usará este rol.
- Busquemos y agreguemos las siguientes políticas:
AmazonS3ReadOnlyAccessAmazonRekognitionReadOnlyAccessAWSLambdaBasicExecutionRole(para que pueda escribir logs).
- Asignemosle un nombre claro, como
FabricRekognitionRole. - Demos clic en Crear rol

Paso 3: El Cerebro (AWS Lambda)
Una vez creado lo anterior, procederemos a crear la Lambda, en donde ocurre la magia de la orquestación.
- Vayamos a Lambda y demos clic en Crear función.
- Asignemosle un nombre unico, en mi caso será
FabricRekognitionLambda. - Elijamos Python 3.14 como versión ejecutable (lenguaje en la que se escribirá la función).
- En la sección de “Configuración adicional”, habilitemos la opción de rol de ejecución personalizada y seleccionemos el rol que acabamos de crear en el paso anterior.
- Demos clic en Crear función

Una vez creada la función, peguemos el siguiente código que comparto a continuacion:
import boto3
import json
def lambda_handler(event, context):
rekognition = boto3.client('rekognition')
# Obtenemos el bucket y el nombre del archivo del evento
bucket = event['Records'][0]['s3']['bucket']['name']
key = event['Records'][0]['s3']['object']['key']
print(f"Analizando imagen: {key} en el bucket: {bucket}")
# Llamamos a Rekognition
response = rekognition.detect_labels(
Image={'S3Object': {'Bucket': bucket, 'Name': key}},
MaxLabels=5,
MinConfidence=80
)
print("--- RESULTADOS FABRIC-CLOUD ---")
for label in response['Labels']:
print(f"Detectado: {label['Name']} ({label['Confidence']:.2f}%)")
return response
Por últmo para “guardar los cambios”, hagamos clic en Deploy

Y bueno, antes de avanzar, solo quiero compartir un poco sobre Amazon Rekognition, puesto que en el código anterior lo mandamos llamar. Este es un servicio de inteligencia artificial de AWS que permite analizar imágenes y videos para identificar objetos, rostros, texto, actividades y contenido inapropiado. Sus casos de uso van mas centrados para ambitos de seguridad, automatización y análisis visual, sin necesidad de desarrollar modelos desde cero.
Paso 4: Conectando los puntos (Trigger)
Ahora necesitamos que la función sepa cuándo actuar. Por ello…
- Dentro de la configuración de la Lambda, hagamos clic en + Agregar desencadenador.
- Seleccionemos S3 y elijamos el bucket que creamos al inicio.
- En tipo de evento, dejemos “Todos los eventos de creación de objetos”.

Demos clic en Agregar

Paso 5: ¡Hora de la verdad! (CloudWatch)
Llego el momento esperado, procedamos a subir cualquier imagen al bucket de S3.

Posteriormente se haya realizado esto, vayamos a la pestaña Monitorear en nuestra Lambda demos clic en Ver registros de CloudWatch.

Busquemos el último stream de log y ¡ahí debe de aparecer! Se mostrará una lista de objetos que la IA detectó en milisegundos.

🎤 Sesión en Vivo:
Cabe destacar que este mismo contenido tuve el honor de brindarlo en el AWS User Group Cúcuta el pasado 30 de abril. A continuación, comparto la grabación de la transmisión y el material utilizado en la sesión para que puedan seguir el taller a tu propio ritmo.

Video - Sesión para AWS UG Cúcuta
Material - PPT
Conclusión
Como pudimos observar, el construir soluciones inteligentes hoy en día es más una cuestión de arquitectura y conexión de servicios que de programación compleja. Esta misma estructura que acabamos de montar es capaz de escalar de 1 a un millón de imágenes sin que tengamos que preocuparnos por la infraestructura.
Espero que esta guía les haya servido para visualizar como implemetarlo en sus propios proyectos. Ya por último, si tienen dudas o logran implementar algo loco con esto, ¡etiquétenme y cuéntenme!
¡A seguir construyendo en la nube!
P.D
Por último, si estas interesado en aprender más sobre los servicios de AWS y te encuentras en la Ciudad de México, te invito a que asistas a los Meetups del User Group Ajolotes en la Nube, en donde constantemente se brindan charlas técnicas y se dan a conocer más eventos de la comunidad de AWS.
¡Happy Coding!
Más información: