Build RESTful Microservices with AWS Lambda and API Gateway
Amazon API Gateway allows you to design RESTful interfaces and connect them to your favorite backend. You can design your own resources structure, add dynamic routing parameters, and develop custom authorizations logic. Each API resource can be configured independently, while each stage can have specific cache, throttling, and logging configurations.
This approach is particularly useful when you consider that each request and response can be attached to a custom mapping template, in order to perform custom data manipulation or improve API backward compatibility.
In this Lab, you will see how to define a simple API and how to connect it to AWS Lambda. This provides a nice way to obtain a scalable backend for modern web applications or mobile apps. You will configure custom stages, protect resources with an API key, and explain how to best connect API Gateway stages with AWS Lambda versions and aliases. You will learn about AWS Lambda's basic configuration, monitoring, and versioning as you progress through the Lab.
Lab Objectives
Upon completion of this Lab, you will be able to:
- Understand the basics of RESTful APIs
- Implement REST APIs using Amazon API Gateway
- Enable desirable API features in API Gateway including caching, throttling, CORS, usage plans, and API key access
- Create serverless API backends using AWS Lambda functions
- Implement best practices for integrating Lambda backends in API Gateway
Lab Prerequisites
You should be familiar with:
- Serverless computing fundamentals, particularly AWS Lambda, is beneficial
- Prior experience using or implementing REST APIs is beneficial, but not required
Updates
February 28th, 2024 - Updated the instructions and screenshots to reflect the latest UI
October 24th, 2023 - Updated the instructions and screenshots to reflect the latest UI
August 9th, 2023 - Updated the instructions and screenshots to reflect the latest UI
May 2nd, 2022 - Updated the instructions and screenshots to reflect the latest UI
April 5th, 2022 - Updated instructions for clarity
March 31st, 2021 - Updated all Amazon API Gateway screenshots
March 9th, 2021 - Updated AWS Lambda lab step to reflect latest user interface changes
January 22nd, 2021 - Updated AWS Lambda lab step to reflect latest user interface changes
July 21st, 2020 - Updated lab security policy to prevent the appearance of a DescribeVpcEndpoints error pop-up while creating the REST API
January 10th, 2019 - Added a validation lab step to check the work you perform in the Lab
September 5, 2018 - Improved Lab instructions format and clarity. Updated instructions and screenshots to match the new API Gateway interface
Environment before
Environment after
Alex is an Italian Software Engineer with a great passion for web technologies and music.
He spent the last 5 years building web products and deepening his knowledge on full-stack web development and software design, with a main focus on frontend and UX.
Despite being a passionate coder, Alex worked hard on his software and sound engineering background, which provides him the tools to deal with multimedia, signal processing, machine learning, AI, and many interesting topics related to math and data science.
Indeed, he had the opportunity to study and live in a very young and motivating environment in Bologna and Milan, two of the biggest and oldest Italian Universities. These experiences lead him to work on several projects involving robotics, machine intelligence, music semantic analysis and modern web development.