AWS ECS - 部署全栈项目的最佳方式(任务定义、集群和服务)
AWS ECS -Best way to deploy a full stack project(Task-Definitions, Clusters & Services)
您好,我想将我的全栈项目部署到 AWS ECS。如果我理解正确,在 ECS 中部署前端和后端有 3 种可能性:
前端和后端在同一个Task-Definition,同一个Cluster
和相同的服务(1 个任务定义、1 个集群、1 个服务)
前端和后端有自己的任务定义。他们在
相同的集群和 运行ning 在两个服务中(2 任务定义,1
群集,2 个服务)
Frontend 和 Backend 有自己的 Task-Definition,他们自己的
集群和自己的服务(2 个任务定义、2 个集群、2 个服务)
我已经尝试了第一个解决方案,效果很好。那么部署它的最佳解决方案是什么?每种解决方案的优缺点是什么?
我也想开发一个应用程序(将来使用相同的后端)所以我认为解决方案二比一个好。我想解决方案一更便宜,因为我 运行 任务少了?
没有理由将它们分成不同的集群。如果您在 Fargate 上是 运行 他们,那么单独的集群毫无意义。如果您 运行 他们在 EC2 上,那么单独的集群实际上会花费更多,并没有真正的好处。
同一集群中的单独服务(选项 2)通常是首选方法,因为您可以独立扩展每个服务。但是,如果您的整个前端仅提供一些 React 资源,您可以将其部署为 S3 上的静态站点。
您好,我想将我的全栈项目部署到 AWS ECS。如果我理解正确,在 ECS 中部署前端和后端有 3 种可能性:
前端和后端在同一个Task-Definition,同一个Cluster 和相同的服务(1 个任务定义、1 个集群、1 个服务)
前端和后端有自己的任务定义。他们在 相同的集群和 运行ning 在两个服务中(2 任务定义,1 群集,2 个服务)
Frontend 和 Backend 有自己的 Task-Definition,他们自己的 集群和自己的服务(2 个任务定义、2 个集群、2 个服务)
我已经尝试了第一个解决方案,效果很好。那么部署它的最佳解决方案是什么?每种解决方案的优缺点是什么?
我也想开发一个应用程序(将来使用相同的后端)所以我认为解决方案二比一个好。我想解决方案一更便宜,因为我 运行 任务少了?
没有理由将它们分成不同的集群。如果您在 Fargate 上是 运行 他们,那么单独的集群毫无意义。如果您 运行 他们在 EC2 上,那么单独的集群实际上会花费更多,并没有真正的好处。
同一集群中的单独服务(选项 2)通常是首选方法,因为您可以独立扩展每个服务。但是,如果您的整个前端仅提供一些 React 资源,您可以将其部署为 S3 上的静态站点。