Bedrock y Lambda comparten la misma filosofía de infraestructura: pagar por uso, cero servidores que parchar. Pero combinarlos bien exige resolver problemas concretos de timeouts, streaming y concurrencia.
Una arquitectura serverless de IA generativa típica en AWS conecta un cliente (web, móvil, integración B2B) a través de API Gateway con una función Lambda que orquesta la lógica de negocio y termina invocando Bedrock — ya sea `Converse`, `InvokeModel`, un Agent, o un Flow. Lambda encaja naturalmente porque comparte el mismo modelo de facturación por invocación que Bedrock: no hay infraestructura ociosa que pagar cuando no hay tráfico, y ambos escalan automáticamente con la demanda sin intervención manual.
El patrón mínimo viable es directo: API Gateway recibe la solicitud HTTP, invoca la Lambda de forma síncrona, la Lambda arma el prompt y llama a `bedrock-runtime`, y devuelve la respuesta al cliente en el mismo ciclo de solicitud-respuesta.
API Gateway REST tiene un límite de timeout de 29 segundos por solicitud síncrona — insuficiente para respuestas largas de modelos con razonamiento extendido. La solución no es aumentar el timeout (no se puede en REST API), sino cambiar el patrón de entrega: usar API Gateway WebSocket o una URL de función Lambda (Function URL) con streaming de respuesta, entregando tokens al cliente a medida que el modelo los genera vía `ConverseStream` o `InvokeModelWithResponseStream`.
Con Lambda Function URLs y `InvokeMode: RESPONSE_STREAM`, se puede lograr streaming HTTP directo sin necesidad de gestionar conexiones WebSocket, simplificando la arquitectura para clientes que soportan fetch con streaming.
El cold start de una Lambda con el SDK de boto3 y las dependencias necesarias suele añadir cientos de milisegundos a la primera invocación tras un período de inactividad — marginal comparado con la latencia de generación del modelo, pero relevante en flujos donde cada milisegundo cuenta (por ejemplo, clasificación de intención antes de mostrar una interfaz). Para mitigarlo, use Provisioned Concurrency en la función Lambda si el tráfico lo justifica económicamente, o mantenga el paquete de despliegue mínimo (evite importar el SDK completo de AWS si solo necesita `bedrock-runtime`).
El rol de ejecución de la Lambda debe limitarse estrictamente a las acciones y modelos que realmente necesita — nunca usar `bedrock:*` sobre `Resource: "*"` en producción. Una política bien acotada especifica tanto la acción como el ARN exacto del modelo o del recurso (Agent, Knowledge Base, Flow) que la función puede invocar.
Adicionalmente, considere restringir por VPC endpoint policy si la función corre dentro de una VPC con acceso a Bedrock vía PrivateLink, evitando que el tráfico de inferencia transite por la internet pública incluso si la política IAM fuera comprometida.
Las invocaciones a Bedrock pueden fallar por throttling (`ThrottlingException`, especialmente relevante bajo carga alta en cuentas sin Provisioned Throughput), por validación de contenido bloqueada por un guardrail, o por errores transitorios de servicio. Implemente reintentos con backoff exponencial específicamente para `ThrottlingException` y `ServiceUnavailableException`, pero no reintente automáticamente ante un bloqueo de guardrail — eso es una decisión de contenido, no un fallo transitorio, y reintentar con el mismo prompt producirá el mismo bloqueo.
Un patrón completo de producción combina API Gateway (autenticación vía un authorizer Lambda o Cognito), una función Lambda que recupera contexto de sesión desde DynamoDB, invoca Bedrock con ese contexto, persiste la respuesta de vuelta en DynamoDB para mantener el historial conversacional, y devuelve el resultado al cliente. Este patrón, con Provisioned Concurrency ajustada al tráfico esperado y alarmas de CloudWatch sobre latencia y tasa de error, es la base de la mayoría de los asistentes conversacionales empresariales corriendo hoy sobre AWS sin un solo servidor que administrar.
Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.
Contactar a Carlos Montiel