Deploy a Serverless API with AWS CDK and AWS Lambda
GitHub Repository
You can find the project source code on GitHub.
In this tutorial, we will implement a Serverless API using AWS Lambda and we will deploy it using AWS CDK. We will use Typescript as the CDK language. It will be a view counter where we keep the state in Redis.
What is AWS CDK?
AWS CDK is an interesting project which allows you to provision and deploy AWS infrastructure with code. Currently TypeScript, JavaScript, Python, Java, C#/.Net and Go are supported. You can compare AWS CDK with following technologies:
- AWS CloudFormation
- AWS SAM
- Serverless Framework
The above projects allows you to set up the infrastructure with configuration files (yaml, json) while with AWS CDK, you set up the resources with code. For more information about CDK see the related AWS Docs.
Prerequisites
- Complete all steps in Getting started with the AWS CDK
Project Setup
Create and navigate to a directory named counter-cdk
. The CDK CLI uses this directory name to name things in your CDK code, so if you decide to use a different name, don’t forget to make the appropriate changes when applying this tutorial.
Initialize a new CDK project.
Install @upstash/redis
.
Counter Function Setup
Create /api/counter.ts
.
Counter Stack Setup
Update /lib/counter-cdk-stack.ts
.
Database Setup
Create a Redis database using Upstash Console or Upstash CLI and export UPSTASH_REDIS_REST_URL
and UPSTASH_REDIS_REST_TOKEN
to your environment.
Deploy
Run in the top folder:
Visit the output URL.
Was this page helpful?