AWS NestJS with Redis
Creates a hit counter app with NestJS and Redis.
Also make sure you have Node 22.12. Or set the --experimental-require-module flag.
This’ll allow NestJS to import the SST SDK.
This deploys NestJS as a Fargate service to ECS and it’s linked to Redis.
new sst.aws.Service("MyService", { cluster, link: [redis], loadBalancer: { ports: [{ listen: "80/http", forward: "3000/http" }], }, dev: { command: "npm run start:dev", },});Since our Redis cluster is in a VPC, we’ll need a tunnel to connect to it from our local machine.
sudo npx sst tunnel installThis needs sudo to create a network interface on your machine. You’ll only need to do this once on your machine.
To start your app locally run.
npx sst devNow if you go to http://localhost:3000 you’ll see a counter update as you refresh the page.
Finally, you can deploy it using npx sst deploy --stage production using a Dockerfile
that’s included in the example.
const vpc = new sst.aws.Vpc('MyVpc', { bastion: true });const redis = new sst.aws.Redis('MyRedis', { vpc });const cluster = new sst.aws.Cluster('MyCluster', { vpc });
new sst.aws.Service('MyService', { cluster, link: [redis], loadBalancer: { ports: [{ listen: '80/http', forward: '3000/http' }], }, dev: { command: 'npm run start:dev', },});View the full example.