无服务器 Web 应用程序架构

Joh*_*ett 5 serverless-framework serverless-architecture serverless

我目前正在使用无服务器设计一个简单的无服务器 Web 应用程序。

我目前的预期堆栈是;

  • API网关
  • 拉姆达
  • 动态数据库
  • 静态单页应用

我遵循了一些使用无服务器框架构建无服务器 API、Lambda 和 DynamoDB 的教程,并且我已经构建了我的单页应用程序,但是现在它们是 2 个独立的实体。

我现在要做的是将静态站点(nodejs)与我的 API、Lambda 和 DynamoDB 放在同一个项目中,并使用无服务器框架来控制部署,但是我正在努力寻找指导;

  1. 你如何在无服务器框架中表示静态网站部分
  2. 如何最好地托管该静态网站(例如 s3 静态站点托管或其他选项?)
  3. 如何最好地引用在部署发生的同时生成的 API 网关 URL(例如,通过无服务器框架)

任何人都可以提供有关它应该如何工作的任何见解,或者向我指出一些好的博客/资源的方向?

亲切的问候,约翰

Vje*_*udi 2

我已经完成了几乎相同的架构,并在 s3 上托管了单页应用程序。您可以做的是为 api 网关设置 cloudfront,然后将 api.yourDomain.com 指向该 cloudfront。您还需要在 api 上启用 cors。

该插件为您处理设置域和云前端:

https://github.com/amplify-education/serverless-domain-manager

我不确定您的项目要求,但如果您想更快地提供静态文件,设置domain->cloudfront->s3可能是一个明智的选择。