Moving an API Endpoint to AWS Lambda

30 minutes
  • 2 Learning Objectives

About this Hands-on Lab

Lambda is a great way to manage APIs in the cloud. In this lab, we will be transitioning an existing Node.js/Express API to AWS Lambda. This will allow you to get hands-on with the process of creating and configuring APIs in Lambda!

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Package the Application Code

Before starting the lab, ensure you download the ctaws-plant-shop code from the Github repository. There is already a Lambda-ready version of the code in that repository, in the directory api/lambda. You can use CloudShell to work with the code, and doing so will make it easy to deploy the code to the Lambda function later.

You will need to download the dependencies, then package the code and dependencies in a .zip file.

Create and Configure a Lambda Function

Create a Lambda function called PlantShopAPI. This function should be accessible via a public URL with no need for authentication. It should also be connected to the default VPC, subnets, and the security group with the description Plant Shop Security Group.

Deploy the packaged code to the function.

You will also need to supply the following environment variables to allow the function code to connect to the existing RDS database:

  • DB_HOST – Paste in the RDS database endpoint
  • DB_USERplantshop
  • DB_PASSpl4nt5!

Additional Resources

Welcome to the Plant Shop!

Our self-hosted online store has worked well up until lots of people started buying our plants. Now, we want a more reliable platform that we can use to innovate faster. We're moving to AWS!

We already moved the application's database to RDS. The next step is to move the API to AWS Lambda. Your task is to package the application code, then create a Lambda function, deploy the code to it, and configure it to serve our API.

The lab server associated with this lab represents the old "non-cloud" version of our app. You can access the app using the Plant Shop server's public IP address, on port 8081. The application's API is on port 8080.

You also have an AWS account that you can use to set up our API in AWS. Good luck!

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?