ECS 任务为啥不扩容?

Posted

技术标签:

【中文标题】ECS 任务为啥不扩容?【英文标题】:Why doesn't ECS task scale up?ECS 任务为什么不扩容? 【发布时间】:2020-01-08 00:54:32 【问题描述】:

我在 AWS ECS 中创建了一个服务,并将最大任务数配置为 30。所需的任务数为 2。我还将 CPUUtilization >= 75 配置为纵向扩展,将 CPUUtilization

我使用Artillery 每秒向我在 ECS 上的服务发送 200 个请求,我可以看到 CPU 使用率达到 100%。此测试持续 2 分钟,因此总共有 24000 个请求。

但是服务下的任务数始终是2。似乎服务从来没有根据CPU使用率进行扩展。我想知道我在配置中还漏掉了什么。

【问题讨论】:

检查您是否有“停止”的任务。可能是它试图扩大规模,但由于资源分配等其他一些限制,它无法在“停止”的任务下启动和稳定下来。 CPU 100 % 持续多长时间?应该是在触发警报之前的这段时间。 不到2分钟就达到100% cpu @LeoPrince 我检查了没有停止的任务 【参考方案1】:

在 CloudWatch > 警报中检查您的警报,您可以在那里查看警报是否真的触发了。您还将看到一个阈值描述,例如“CPUUtilization

我的猜测是您的阈值配置错误。 IE。您在太长的时间内检查了太多的数据点。从“1 分钟内 1 个数据点”之类的内容开始,然后从那里开始工作。

它还有助于检查 EC2 > Auto Scaling 组中的“活动历史记录”。与 CloudWatch 一起,这通常可以让您很好地了解已扩展(或未扩展)的内容以及原因。

【讨论】:

以上是关于ECS 任务为啥不扩容?的主要内容,如果未能解决你的问题,请参考以下文章

在 ECS 任务中重启单个退出的容器

Celery:AWS ECS Autoscale 缩减事件(如何不破坏长时间运行的任务?)

亚马逊 ecs 服务中任务的“期望计数”是多少?

如何在 ECS Fargate 任务定义中配置主机名

Amazon ECS:任务定义不支持 launch_type FARGATE

阿里云ECS磁盘扩容(系统盘在线扩容,不重启)