Belldandy
Un blog? Que es esto, 2004? Mi nombre es Andrea, y hace muchos años que trabajo en sistemas.
AWS Certified: Solution Architect - Associate
AWS Certified: Developer - Associate
Logo

Crear una minimal API usando AWS Lambda

Publicado el 6 nov 2025, 05:42:47 —  Categorias: AWS, Backend, .NET

Ya se que el tema serverless no tiene muchos adeptos, y casi todo el mundo te dice "Comprate un server VPS por 5 dolares". Pero suponete que necesitas una API para algo chiquito, algo rapido, o como yo, que tengo hosteado el blog. En este articulo, te voy a enseñar como hacer para correr una Minimal API de .NET en AWS Lambda de forma REALMENTE facil.

  1. Crear la API, nada muy loco
dotnet new webapi -n LambdaAPI
cd LambdaAPI
  1. Agregamos la libreria que permite que Lambda ejecute directamente los endpoints desde .NET
Install-Package Amazon.Lambda.AspNetCoreServer.Hosting
  1. Agregamos una llamada en nuestro Program.cs
var builder = WebApplication.CreateBuilder(args);

// La linea que hace la magia
builder.Services.AddAWSLambdaHosting(LambdaEventSource.HttpApi);

var app = builder.Build();

app.MapGet("/", () => "Holis!");

app.Run();
  1. La corremos localmente, anda sin problemas, tanto en Linux como en Windows o MacOs (obvio tienen que tener instalado el Framework)

Pero como hacemos ahora para hostearla en AWS? Facilisimo!

  1. Instalamos las AWS Lambda Tools
dotnet tool install -g Amazon.Lambda.Tools
  1. Le damos al comando deploy. Nos va a preguntar un par de cosas (region, profile, etc etc)
dotnet lambda deploy-function

Y listo! Vas a verlo en la consola, con una URL del estilo https://[abc123xyz].lambda-url.[region-name].on.aws/. Obviamente esta API es publica, no tiene ningun tipo de seguridad, asi que tengan cuidado lo que hostean.

El free tier de AWS permite 10 millones de ejecuciones de Lambdas por mes y 400,000 GB-seconds de compute time. Creo que si exceden eso, obviamente van a tener que buscar alternativas, pero para cosas chiquitas, esta MAS que bien.

Tambien consideren el cold start (el tiempo que tarda la funcion Lambda en arrancar). Si necesitan mucha velocidad, serverless tal vez no sea lo mas adecuado, pero ha mejorado muchisimo con el tiempo; pueden ver Lambda Cold Starts benchmark para comparar cuanto tarda cada framework/lenguaje.

Y tambien siempre pongan algun rate-limitter, para que si algun gracioso con ganas de hacerles gastar guita se pone a jugar contra su API, que no les termine saliendo 1 millon de dolares.

Ah, y recuerden, nunca llamen recursivamente a una funcion lambda dentro de otra.

Yo soy #teamserverless. Y uds?

Volver

Comentarios Recientes

No hay comentarios, porque no dejás alguno?

¡Comentario agregado con éxito!
Angel

Deja un comentario

(no se publica)