Curso Práctico de Cloud Computing con AWS

Configuración de funciones AWS Lambda desde cero

Curso Práctico de Cloud Computing con AWS

Contenido del curso

EC2

Configuración de funciones AWS Lambda desde cero

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.