Auto-Scaling删除ECS服务中的运行任务(FARGATE)

问题描述 投票:0回答:1

我在AWS上使用Fargate运行ecs服务。每个任务完成一个操作并死亡(从SQS队列获取消息并解码/编码视频文件)。现在我设计了一个如下所示的自动调节策略,

  1. 如果SQS队列大小超过5,则所需的增量计数为1(每60秒重复一次)。
  2. 如果SQS队列大小小于2,则将所需计数减少为1(每60秒重复一次)。

但AWS正在做的事情是当队列大小低于2时,它会杀死正在运行的任务,使相应的操作“损坏”。我不希望AWS终止正在运行的任务(因为它们会在命令完成时自动死亡),而只是将所需的计数设置为0,这样任务就不会“重生”。所以从字面上看,我希望我的任务在自动缩放过程中不可阻挡。

我如何在ECS服务和aws_ecs_autoscaling_target中实现这一目标。请注意,我使用terraform来提供服务。

提前致谢。

amazon-ecs autoscaling aws-fargate
1个回答
1
投票

我必须以不同的方法解决这个问题。我必须创建一个小型Lambda函数,该函数由cloudwatch警报触发,并使用StartTask启动Fargate任务。此工作流程非常适合此处,而不是使用自动缩放策略。

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