AWS 3 层架构问题
Posted
技术标签:
【中文标题】AWS 3 层架构问题【英文标题】:AWS 3-tier architecture issues 【发布时间】:2022-01-14 19:15:32 【问题描述】:伙计们,我正在尝试实现一个 3 层架构来在 aws 上托管一个 Web 应用程序。 给我的要求如下。
该应用将利用 3 层架构:
-
将在 S3 上运行的 Web 服务器
在 Fargate 上的 ECS 集群或带有 ASG(您的选择)的 EC2 队列上运行的应用层
在 RDS Aurora PostgreSQL 最新支持版本上运行的数据层
我完全理解应用程序和数据库层的第 2 条和第 3 条指令该怎么做。 我没有得到的是 “在 s3 上运行的网络服务器” 。是否可以在 S3 上拥有 Web 服务器?
据我所知,我可以在 EC2 上运行 Web 服务器。
拜托,我需要在这里解释一下。
【问题讨论】:
您可以将静态网站部署到 S3,这意味着与中间层的交互需要通过 javascript aws.amazon.com/getting-started/hands-on/host-static-website 【参考方案1】:是也不是,S3 是一个静态文件宿主,这意味着您拥有这些 html、CSS 和 JS 文件,您要做的就是将这些文件发送到浏览器,那么绝对是的。 S3可以作为文件服务服务,https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html
但是,当您的网站正在执行一些实时 HTML 生成时,例如 s-s-r(服务器端渲染),S3 将无法解决。 S3 不以任何方式处理代码,仅直接将文件按原样发送到前端。在这种情况下,您需要在 EC2/ECS/EKS 上使用更传统的服务器。
【讨论】:
所以这绝对意味着可以在S3上运行Web服务器 如果您通过网络服务器将其定义为只是将文件发送到您的浏览器,而不是无服务器处理。是的,是的,您可以将其用作 Web 服务器。以上是关于AWS 3 层架构问题的主要内容,如果未能解决你的问题,请参考以下文章
AWS征文带你使用 AWS 无服务器架构一步步打造个性化 API 接口