我正在构建一个基本的Crud Web应用程序,我想将其部署到AWS。我只是从总体上了解了许多服务,但是在执行任何操作之前,我想知道以下计划是否可行并且至少在某种程度上有效:
- 将(反应)单页应用程序的静态内容部署到S3存储桶。我的计划是使用S3存储桶通过自定义域名提供此静态内容。
- 使用API Gateway和Lambda部署API(执行Crud操作)。该API将与DynamoDB进行交互以进行存储。该API仅应由我的单页应用程序使用,因此我的假设是我可以保护它并使其“非公开”。
我的理解是,以上是aws相对经济高效的体系结构(尽管我希望保留在免费版中)。
我的计划中是否有重大漏洞或被我忽略的东西?我知道我可以选择一百万种方法来做到这一点,包括Elastic Beanstalk,但我希望就可以实现此目标的任何不同方式提供任何建议,以及对我可以取舍的任何见解。
通常,这就是AWS无服务器架构的工作方式。可以使用许多其他服务(通常是Cognito,CloudFront,Step Functions)和针对特定用例实现的体系结构。
以下两个AWS白皮书是无服务器架构的良好起点和概述: