我决定开始使用AWS ECS服务,并创建群集和一项服务我的问题是我想将其连接到AWS自动缩放组。 我遵循了以下guide。
指南有效,我的问题是它完全浪费钱。
指南说当我的服务预留的CPU单位总量超过75时,我需要添加机器,但实际上我的服务总是保留100% 因为我不想浪费钱,在3台cpu机器上放3个nodejs任务也没什么用,反正没有硬限制。
我现在突破了几天,我不知道如何让它们一起工作正确
修改 目前正是如此:
CPU达到75%以上,服务扩展在同一台服务器上创建2个新任务,这意味着现在我有1个实例,包含4个任务
实例预留现在是100%,Auto Scaling Group正在创建新实例
创建新实例后,Service Scaling将从旧实例中删除2个任务,并向新实例添加2个新任务
它只是我或整个过程看起来像浪费时间?这是真的应该如何或(可能)我做错了什么?
答案 0 :(得分:1)
我认为你错过了一些见解。
要使ECS自动缩放正常工作,您还必须在ECS Service level上设置缩放。
然后,缩放流程将如下所示:
此外,您可以在2 CPU机器上完美地运行多个nodejes任务。特别是在微服务环境中,这些nodejs服务可以非常小(例如128个CPU),并且在同一台主机上仍可以完美地运行。
答案 1 :(得分:1)
最终我想,我想做的事是不可能的。 像kubernetes一样,无法使用ECS创建资源优化的集群。 (当然,除非您用lambda编写一些魔术)
服务自动缩放和自动缩放组不能同时使用,但是您可以使其与Fargate完美配合,但它的扩展性很强,主要问题是您没有触发集群预订超过100%