开始使用 AWS

构建无服务器 Web 应用程序

(利用 AWS Lambda、Amazon API Gateway、AWS Amplify、Amazon DynamoDB 和 Amazon Cognito)

构建无服务器 Web 应用程序

简介:构建无服务器 Web 应用程序

按照分步说明创建一个简单的无服务器 Web 应用程序,以使用户能够向 Wild Rydes 实例集请求运行 Unicorn

概览

在此教程中,您将创建一个简单的无服务器 Web 应用程序,以使用户能够向 Wild Rydes 实例集请求运行 Unicorn。该应用程序会向用户呈现一个基于 HTML 的用户界面,用于指出他们想要开始乘坐的位置,还会与一项 RESTful Web 服务进行后端连接,以提交请求并派遣附近的 unicorn 车辆。此外,该应用程序还会为用户提供工具,用于在请求乘坐前注册该项服务并登录。

应用程序架构

应用程序架构采用了 AWS LambdaAmazon API GatewayAmazon DynamoDBAmazon CognitoAWS Amplify Console。Amazon Amplify Console 可以提供静态 Web 资源的持续部署和托管,包括用户浏览器中加载的 HTML、CSS、JavaScript 及图像文件。浏览器中执行的 JavaScript 可发送数据,也可从使用 Lambda 和 API Gateway 构建的公共后端 API 接收数据。Amazon Cognito 可以提供用户管理和身份验证功能,以便保护后端 API。最后,DynamoDB 可以提供一个持久层,而数据可以通过 API 的 Lambda 函数存储在该层中。

Serverless_Architecture
Serverless_Web_App_LP_assets-18

静态 Web 托管

AWS Amplify 可托管静态 Web 资源,包括用户浏览器中加载的 HTML、CSS、JavaScript 及图像文件。

Serverless_Web_App_LP_assets-19

用户管理

Amazon Cognito 可提供用户管理和身份验证功能,以确保后端 API 的安全。

Serverless_Web_App_LP_assets-20

无服务器后端

Amazon DynamoDB 可提供一个持久层,数据可以通过 API 的 Lambda 函数存储在该层。

Serverless_Web_App_LP_assets-21

RESTful API

浏览器中执行的 JavaScript 可发送数据,也可从使用 Lambda 和 API Gateway 构建的公共后端 API 接收数据。

 AWS 使用经验

新手

 完成时间

2 小时

 所需费用

本架构中使用的每项服务均涵盖在 AWS Free Tier 内。如果超出 Free Tier 的使用量限制,您最多只需支付 0.25 美元*即可完成本教程。

 教程先决条件

使用的技术:


*此估算值假定您在整个教程中遵循建议的配置,并在 24 小时内终止所有资源。
**过去 24 小时内创建的账户可能尚不具有访问此教程所需资源的权限。

模块

本研讨会分为五个模块。每个模块介绍我们将要构建的方案以及分步指导,以帮助您实施架构和验证您的工作。 

  1. 托管静态网站(15 分钟):配置 AWS Amplify,以通过内置的持续部署托管 Web 应用程序的静态资源
  2. 管理用户(30 分钟):创建一个 Amazon Cognito 用户群体来管理您的用户账户
  3. 构建无服务器后端(30 分钟):构建一个后端进程,用于处理 Web 应用程序的请求
  4. 部署 RESTful API(15 分钟):使用 Amazon API Gateway 将您在上一模块中构建的 Lambda 函数公开为 RESTful API
  5. 终止资源(10 分钟):终止您在本教程中创建的所有资源

托管静态网站