我正在使用AWS上的Fargate运行ecs服务。那里的每个任务都完成一个操作并结束(从SQS队列中获取消息并解码/编码视频文件)。现在,我设计了如下的自动缩放策略,
但是AWS所要做的是,当队列大小降到2以下时,它会杀死正在运行的任务,而使相应的操作“中断”。我不希望AWS终止正在运行的任务(因为它们会在命令完成后的某个时间自动消失),而只是将所需的计数设置为0,以使任务不会“重生”。因此,从字面上看,我希望我的任务在自动缩放过程中无法停止。
如何在ECS服务和aws_ecs_autoscaling_target中实现此目标。请注意,我正在使用terraform来提供服务。
谢谢。
答案 0 :(得分:1)
我不得不用另一种方法解决这个问题。我必须创建一个小的Lambda函数,该函数由cloudwatch警报触发,并使用StartTask启动Fargate任务。此工作流程非常适合此处,而不是使用自动缩放策略。