App
Next.js on ECS Fargate: server-rendered pages, database-backed sessions in Aurora, and background work handed to a worker service over SQS.
Web service
Long-running Fargate tasks behind an ALB and CloudFront. Containers stay warm, so SSR latency is query and render time only.
Worker service
A separate task definition in the same cluster, long-polling SQS and scaling independently of web traffic.
Aurora Serverless v2
Both services hold pooled connections directly. Scales down toward idle, up under load — no RDS Proxy in the path.