需要有关 AWS 设置的建议

需要有关 AWS 设置的建议

对于我的下一个项目,我将尝试 AWS 和无服务器,但我不确定如何推理不同的 AWS 服务。所以希望这里有人对此有很好的了解。

该项目目前由三个不同的前端应用程序组成,每个应用程序托管在单独的子域上:

  • 根域名 + [www]:主网页,主要包含“销售”内容
  • [管理]:我们的管理系统的前端应用程序
  • [用户]:用户体验的前端应用程序

然后,目前有一个后端应用程序为所有前端应用程序提供服务。此后端必须至少由 [administration] 和 [user] 子域反向代理(即 user.domain.com/service/backend)。我的后端服务目前作为 docker 容器运行,并且它在某些部分使用 WebSockets,因此必须支持它。

我一直在寻找一些前端选项,AWS Amplify 或 S3+Cloudfront。但是,我不确定这两个是否是我想要的。

我的后端也是如此。我一直在研究 AWS Fargate、AWS API Gateway 和可能的 AWS AppSync(因为我的大部分后端都是 GraphQL 应用程序)。

但我有点迷茫。有人能给我指明正确的方向吗?希望我已经提供了足够清晰的信息,否则,我很乐意扩展!:)

谢谢!

答案1

对于那些好奇的人来说,我所采用的设置类似于这里描述的:https://aws.amazon.com/blogs/networking-and-content-delivery/dynamic-whole-site-delivery-with-amazon-cloudfront/

我通过 Cloudfront 路由所有内容,然后使用“行为”将流量路由到不同的服务。例如,/service/user 和 /service/schedule 被路由到我的 ALB 实例,而其他所有内容则被路由到作为静态网页的 S3 存储桶。

使用一些 Lambda @ Edge 魔法,我可以重写转发到我的 ALB 实例的请求,然后该实例可以匹配传入的请求并将它们进一步转发到正确的底层容器(我目前正在 Fargate 中使用集群)。

这对于我的用例来说非常有效,即使它可能不是“最佳实践”。所以我肯定会继续探索 AWS 并学习新东西。:)

如果这对某人有帮助,那就太好了。如果有人对以上内容有意见,我很乐意听听!

干杯!

相关内容