演示层 - 带有 Amazon API Gateway 和 AWS Lambda 的 AWS 无服务器多层架构

本白皮书仅供历史参考。有些内容可能已过时,有些链接可能不可用。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

演示层

演示层负责通过互联网公开的 API Gateway REST 端点与逻辑层进行交互。任何支持 HTTPS 的客户端或设备都可以与这些端点通信,从而使您的演示层可以灵活地采用多种形式(桌面应用程序、移动应用程序、网页、物联网设备等)。根据您的要求,您的演示层可以使用以下 AWS 无服务器产品:

  • Amazon Cognito-一项无服务器用户身份和数据同步服务,可让您快速高效地将用户注册、登录和访问控制添加到您的 Web 和移动应用程序。Amazon Cognito 可扩展到数百万用户,支持通过 Facebook、Google 和亚马逊等社交身份提供商以及通过 SAML 2.0 登录企业身份提供商。

  • Amazon S3 with CloudFront-使您能够直接从 S3 存储桶提供静态网站,例如单页应用程序,而无需配置 Web 服务器。您可以 CloudFront 用作托管内容分发网络 (CDN),以提高性能并启用 SSL/TL 托管或自定义证书。

AWS Amplify是一组工具和服务,可以一起使用或单独使用,用于帮助前端 Web 和移动开发人员构建可扩展的全栈应用程序,由 AWS... 提供支持。Amplify 提供完全托管的服务,用于在全球部署和托管静态 Web 应用程序,由 Amazon 的可靠内容分发网络提供服务,在全球拥有数百个接入点,内置 CI/CD 工作流程可加快您的应用程序发布周期。Amplify 支持流行的网络框架 JavaScript,包括 React、Angular、Vue、Next.js,以及包括安卓、iOS、React Native、Ionic 和 Flutter 在内的移动平台。根据您的网络配置和应用程序要求,您可能需要使您的 API Gateway APIs 符合跨域资源共享 (CORS) 标准。CORS 合规性允许 Web 浏览器直接 APIs 从静态网页中调用您的。

当您使用部署网站时 CloudFront,系统会为您提供一个用于访问您的应用程序的 CloudFront 域名(例如,d2d47p2vcczkh2.cloudfront.net)。您可以使用 Amazon Route 53 注册域名并将其定向到您的 CloudFront 分配,或者将已拥有的域名指向您的 CloudFront 分配。这使用户能够使用熟悉的域名访问您的网站。请注意,您还可以使用 Route 53 将自定义域名分配给 API Gateway 分配,这样用户就 APIs 可以使用熟悉的域名进行调用。