Configuración de funciones AWS Lambda desde cero

Clase 27 de 33Curso Práctico de Cloud Computing con AWS

Resumen

Configurar AWS Lambda puede ser simple y seguro si dominas lo esencial: crear la función desde cero, definir un role con permisos mínimos y exponerla por API gateway. Aquí verás el flujo recomendado, las decisiones clave y buenas prácticas para evitar riesgos en producción.

¿Cómo crear una función AWS Lambda desde cero?

Al entrar a la consola, el primer paso es seleccionar Lambda y usar «Crear una función». Puedes iniciarla de cero o partir de blueprints y del marketplace (repositorio) de funciones ya preparadas. La propuesta es crearla desde cero para entender cada elección.

  • Elige el runtime: por ejemplo, Node.js.
  • Nombra la función: ejemplo «From Platzi».
  • Crea un role específico para esta función.
  • Aplica el criterio de permisos mínimos desde el inicio.

La función se basa en un punto de entrada llamado handler: recibe un evento y un contexto, ejecuta un proceso y puede encadenar llamadas a otras funciones (muy común en Node.js). El resultado es una respuesta controlada y aislada.

¿Qué es un handler y cómo procesa eventos?

El handler es el método que recibe el evento y el contexto. Con eso decide qué ejecutar, cómo transformar datos y si debe llamar a otra función. Este patrón favorece la modularidad y el encadenamiento cuando necesitas separar tareas en pasos pequeños.

¿Qué son los blueprints y el repositorio de funciones?

Un blueprint funciona como un plano: un esquema reutilizable para iniciar con una estructura predefinida. Además, el repositorio de funciones (una especie de marketplace) ofrece ejemplos listos para muchas tareas. Úsalo para inspirarte y acelerar pruebas, sin perder de vista la seguridad.

¿Por qué usar roles y permisos mínimos en IAM?

Cada función requiere un role de IAM con políticas específicas. Al inicio, la función solo necesita lo básico: poder ejecutarse y responder. Luego, añade permisos puntuales según lo que deba hacer.

  • Otorga permisos para lo estrictamente necesario.
  • Evita dar «todos los permisos» para probar.
  • Reduce el impacto de errores o bugs accidentales.

Dar permisos excesivos puede permitir acciones no deseadas, como borrar recursos o leer datos sensibles. Si tu función solo escribe o lee en S3, no debe poder crear o eliminar máquinas. Por eso, la recomendación es empezar con políticas simples para un microservicio y ajustar de forma consciente.

¿Cómo crear un role para una Lambda en Node.js?

Crea un role dedicado (por ejemplo, Platzi) y adjunta políticas mínimas. La función «From Platzi», con configuración básica, podrá escribir en CloudWatch Logs y usar DynamoDB si así lo decides. El control fino lo dan las políticas que asignes más tarde, como leer de S3, enviar mensajes por SNS o conectarse a RDS cuando realmente lo necesite.

¿Cómo exponer la Lambda con API gateway y monitorear?

El punto de entrada recomendado es API gateway. Puedes crear un trigger nuevo con una API abierta y usar el stage por defecto (default). Recuerda: guarda los cambios para generar el endpoint y poder invocar la función.

  • Crea el trigger de API gateway con seguridad abierta si es para pruebas.
  • Habilita métricas y logging cuando necesites diagnóstico.
  • Guarda para publicar el endpoint e invocar.

Una vez publicado, podrás recibir una respuesta simple, como: «Hola desde Lambda». Además, activar métricas te ayuda a ver volumen de llamadas y cuellos de botella (por ejemplo, en la conexión a una base de datos). El registro en CloudWatch Logs facilita depurar errores y entender el comportamiento real.

Más opciones de invocación incluyen Alexa o el botón de IoT: al presionarlo, puede llamar la función y ejecutar una acción. Si prefieres automatizar, todo el flujo se puede configurar con la CLI de AWS.

¿Tienes dudas o quieres compartir cómo estructuras tus roles y triggers? Comenta qué permisos mínimos usas y cómo monitoreas tus funciones.