Entradas

Mostrando las entradas etiquetadas como Serverless

Lambda Conectando a RDS Privado: Configuración de VPC, Subnets y Security Groups

Una de las situaciones más frustrantes al empezar con Lambda es cuando la función simplemente no puede alcanzar la base de datos RDS que vive en una subnet privada. El timeout llega después de 30 segundos, no hay ningún mensaje de error claro en CloudWatch, y la pregunta inevitable es: ¿necesito configurar algo de VPC en mi Lambda? La respuesta corta es sí — pero la configuración incorrecta puede dejarte igual de bloqueado, o peor, con una Lambda que perdió acceso a internet sin que te des cuenta. TL;DR: Lambda Conectando a RDS Privado Componente Qué configurar Error típico si falta VPC en Lambda Misma VPC que RDS Timeout de conexión (no hay ruta) Subnets en Lambda Subnets privadas con ruta a RDS Timeout de conexión Security Group en Lambda SG que RDS acepta como origen Conexión rechazada o timeout Security Group en RDS Regla inbound desde SG de Lambda Conexión rechazada (puerto 5432/3306) Rol IAM de...

Errores CORS en API Gateway: Cómo habilitarlo y qué cabeceras debe devolver tu Lambda

Tu frontend hace una petición a API Gateway y el navegador la bloquea con un error CORS antes de que llegue ninguna respuesta útil. El problema casi nunca está en un solo lugar: API Gateway necesita responder al preflight OPTIONS , y tu función Lambda debe incluir las cabeceras correctas en cada respuesta. Si falla cualquiera de los dos lados, el navegador rechaza la llamada igualmente. TL;DR — Resumen rápido Capa Qué debes configurar Dónde API Gateway (REST) Habilitar CORS en el recurso, desplegar el stage Consola / CLI / SAM API Gateway (HTTP) Configurar CORS en la sección 'CORS' de la API Consola / CLI Lambda (ambos tipos) Incluir Access-Control-Allow-Origin y cabeceras relacionadas en la respuesta Código de la función Preflight OPTIONS Debe responder con 200 y las cabeceras correctas API Gateway o Lambda Cómo funciona CORS en API Gateway CORS (Cross-Origin Resource Sharing) es un meca...

Aumentar el Timeout de Lambda: Configuración, Límites y Diagnóstico en Producción

Tu función Lambda se detiene a los 3 segundos, pero el proceso que ejecuta necesita 10. No es un bug en tu código — es el timeout por defecto de Lambda actuando exactamente como fue diseñado. El problema es que ese valor predeterminado de 3 segundos sorprende a casi todos la primera vez, especialmente cuando la función funciona perfectamente en local pero falla en producción con un error Task timed out after 3.00 seconds . TL;DR — Aumentar el Timeout de Lambda Aspecto Detalle Timeout por defecto 3 segundos Timeout máximo 15 minutos (900 segundos) Dónde configurarlo Consola AWS, CLI, CloudFormation, SAM, Terraform Error observable Task timed out after X.XX seconds Coste asociado Mayor timeout = mayor ventana de facturación potencial Alternativa para tareas largas AWS Step Functions o procesamiento asíncrono Cómo Funciona el Timeout en AWS Lambda Lambda ejecuta tu función dentro de un entor...

Variables de Entorno en Lambda: Configuración y Cifrado con KMS

Hardcodear un endpoint de base de datos dentro del código de una función Lambda es uno de esos errores que parecen inofensivos hasta que necesitas rotar credenciales en producción a las 2 AM. Las variables de entorno de Lambda resuelven exactamente este problema: separan la configuración del código, y cuando se combinan con AWS KMS, también protegen valores sensibles en reposo. TL;DR: Variables de Entorno en Lambda Aspecto Detalle ¿Dónde se definen? En la configuración de la función Lambda, sección 'Environment variables' ¿Cómo se leen en código? A través de las variables de entorno del proceso (por ejemplo, os.environ en Python) Cifrado por defecto Lambda cifra las variables en reposo usando una clave KMS gestionada por AWS Cifrado con CMK propio Puedes especificar tu propia Customer Managed Key (CMK) de KM...