AutoScaling 和 distinctInstance 时需要负载均衡器吗?
Load Balancer Needed When AutoScalling and distinctInstance?
问题:
我有一个容器需要大量 CPU 资源才能在规定的时间内完成,并且比 FARGATE
提供的资源还要多。该过程将 运行 作为从 S3
存储桶中检索文件的批处理作业。我注意到,在使用 ECS\EC2
时,我可以 select 具有所需数量 CPU 资源的实例类型。此外,我希望在任务未 运行ning 时没有 EC2 实例 运行ning 并在需要时启动所需的数量,因此需要自动缩放。目前我将手动启动任务,并且可能需要同时启动多个任务。每个任务都会 运行 在它自己的实例上,因此 distinctInstance
放置约束。
问题:
在这种类型的设置中,是否需要负载平衡器?
这真的取决于您的应用程序在做什么。如果它正在服务流量(例如 Web 服务),那么您需要一个 LB 来拥有单一入口点并在不同任务之间分配负载。这假设所有任务都服务于相同的目的(例如,一个单一的网络服务)。您的陈述“需要大量 CPU 资源才能在规定时间内完成的容器”让我认为这更像是批处理作业,而不是服务请求(在这种情况下可能不需要 LB ).
从 EC2 实例和 ECS 任务扩展的角度来看,您可能会对 this article 感兴趣,开始思考它是如何工作的。
问题:
我有一个容器需要大量 CPU 资源才能在规定的时间内完成,并且比 FARGATE
提供的资源还要多。该过程将 运行 作为从 S3
存储桶中检索文件的批处理作业。我注意到,在使用 ECS\EC2
时,我可以 select 具有所需数量 CPU 资源的实例类型。此外,我希望在任务未 运行ning 时没有 EC2 实例 运行ning 并在需要时启动所需的数量,因此需要自动缩放。目前我将手动启动任务,并且可能需要同时启动多个任务。每个任务都会 运行 在它自己的实例上,因此 distinctInstance
放置约束。
问题: 在这种类型的设置中,是否需要负载平衡器?
这真的取决于您的应用程序在做什么。如果它正在服务流量(例如 Web 服务),那么您需要一个 LB 来拥有单一入口点并在不同任务之间分配负载。这假设所有任务都服务于相同的目的(例如,一个单一的网络服务)。您的陈述“需要大量 CPU 资源才能在规定时间内完成的容器”让我认为这更像是批处理作业,而不是服务请求(在这种情况下可能不需要 LB ).
从 EC2 实例和 ECS 任务扩展的角度来看,您可能会对 this article 感兴趣,开始思考它是如何工作的。