Amazon ec2 如果我可以使用EC2自动缩放组部署多服务docker容器,为什么要使用AWS ECS?

Amazon ec2 如果我可以使用EC2自动缩放组部署多服务docker容器,为什么要使用AWS ECS?,amazon-ec2,docker-compose,amazon-ecs,aws-application-load-balancer,aws-auto-scaling,Amazon Ec2,Docker Compose,Amazon Ecs,Aws Application Load Balancer,Aws Auto Scaling,我在docker compose文件中使用了三个服务:Django API、芹菜和Redis。我可以使用AWS ECS运行此功能,为此我必须创建3个服务(每个服务一个)每个创建的服务至少有三个任务,与AWS EC2实例相比,这似乎比较昂贵。在AWS EC2实例中,我可以通过运行docker compose命令部署3个服务,还可以通过创建实例的映像并将负载平衡器连接到自动缩放组以进行水平缩放 我不明白为什么要使用ECS,它主要用于自动伸缩多服务停靠应用程序,而我可以对简单的EC2自动伸缩组执行相同

我在docker compose文件中使用了三个服务:Django API、芹菜和Redis。我可以使用AWS ECS运行此功能,为此我必须创建3个服务(每个服务一个)每个创建的服务至少有三个任务,与AWS EC2实例相比,这似乎比较昂贵。在AWS EC2实例中,我可以通过运行docker compose命令部署3个服务,还可以通过创建实例的映像并将负载平衡器连接到自动缩放组以进行水平缩放

我不明白为什么要使用ECS,它主要用于自动伸缩多服务停靠应用程序,而我可以对简单的EC2自动伸缩组执行相同的操作。我遗漏了什么吗?

一个“为什么要使用ECS”的核心问题是“为什么要使用抽象”。为了回答这个问题,ECS将自己称为“完全管理的容器编排服务”,并在EC2实例集群上提供一个抽象(由您或AWS运行和管理,具体取决于您的选择)。在选择使用(或不选择)ECS之前,你会考虑这些选择:

  • 您是希望自己将容器映射到EC2实例,还是希望容器编排引擎为您处理它

  • 您是否希望了解底层EC2实例,从而负责运行和修补它们,还是希望容器编排引擎为您处理这些实例

  • 您是想单独在所有EC2实例上重新部署新构建和测试的容器,还是想让容器编排引擎和相关的计算平台(如Fargate)为您解决这个问题


  • 在第三点中,通过使用AWS代码管道(由Github分支触发)附加自动缩放组(ASG),我可以将docker应用程序自动部署到所有ASG实例。使用ECS创建多个服务docker容器几乎是不可能的&成本也很高,而在EC2中,您可以使用docker compose cmd轻松部署它。我尝试了服务发现和ECS-CLI,但无法使所有服务协同工作。因此,我用Lambda和SQS代替芹菜和Redis,用于异步进程&在ECS中只使用一个Django容器。您认为在EC2 ASG中部署它经济高效且更容易吗?