需要有關 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 並學習新事物。 :)

如果它對某人有幫助,那就太好了。如果有人對上述內容有意見,我很想聽聽看!

乾杯!

相關內容