ECS服务自动缩放和自动缩放组

问题描述 投票:2回答:2

我决定开始使用AWS ECS服务,创建集群和一个服务我的问题是我想将它连接到AWS自动扩展组。我遵循了以下guide

该指南有效,我的问题是它完全浪费金钱。

指南说当我的服务预留的CPU单位总量超过75时,我需要添加机器,但实际上我的服务总是保留100%因为我不想浪费钱,所以放3个nodejs也没用2 cpu机器上的任务,无论如何都没有硬限制。

我现在已经打破了几天,我不知道如何使它们正常地协同工作

编辑:目前这是发生的事情:

  1. CPU达到75%以上,服务扩展在同一台服务器上创建了2个新任务,这意味着现在我有1个实例有4个任务
  2. 实例预留现在是100%,Auto Scaling Group正在创建新实例
  3. 创建新实例后,Service Scaling将从旧实例中删除2个任务,并向新实例添加2个新任务

它只是我或整个过程看起来像浪费时间?这是真的应该如何或(可能)我做错了什么?

amazon-web-services amazon-ec2 autoscaling amazon-ecs
2个回答
1
投票

我想你错过了一些见解。

要使ECS自动缩放正常工作,您还必须在ECS Service level上设置缩放。

然后,缩放流程将如下所示:

  1. ECS服务已达到100%使用的CPU并具有100%预留CPU
  2. ECS服务通过启动附加任务进行扩展,使预留的CPU总数达到200%
  3. 自动扩展组看到预留容量超过可用容量并启动新计算机。

此外,您可以在2 CPU机器上完美地运行多个nodejes任务。特别是在微服务环境中,这些nodejs服务可以非常小(例如128个CPU),并且在同一主机上仍然可以完美地运行。


1
投票

最终我想,我想做的事情是不可能的。不可能像在kubernetes中那样使用ECS创建资源优化的集群。 (当然,除非你用lambda写一些魔法)

服务自动缩放和自动缩放组不能一起工作,但你可以使它与fargate完美配合,但它的扩展性,主要问题是你没有触发群集预留超过100%

© www.soinside.com 2019 - 2024. All rights reserved.