如何简单地“回收/重启” AWS ECS中正在运行的任务,而无需更改映像/源代码?

我有一个简单的查询:在没有部署任何实际更改的情况下,使用AWS ECS控制台简单地回收/重启具有2个任务的服务的最佳方法是什么?

当前,我需要更新服务并将任务计数从2设置为0,然后等待任务耗尽。然后,我将任务计数设置为0到2,以进行显示。这就是服务的回收/重启2任务的方式。

有时由于内部应用程序错误而需要执行此操作,并且只想在不进行任何实际更改的情况下重新启动它们即可解决我的问题。

AWS提供了一个选项(“强制新部署”复选框),该选项无济于事,如果映像发生变化,它可以正常工作? 希望AWS可以提供​​一个选项“回收服务(任务)”,这将启动2个新任务并消耗2个现有任务。

使用AWS Console甚至AWS API / CLI进行最佳和最简单的方式是什么?

zhanghang921224 回答:如何简单地“回收/重启” AWS ECS中正在运行的任务,而无需更改映像/源代码?

如果停止任务,则ECS将启动新任务以满足所需数量。在ECS控制台中,这非常容易,只需在任务列表中选择任务,然后在“操作”下拉列表中选择“停止”即可。

使用aws CLI,您可以使用以下命令获得要杀死的任务的列表:

aws ecs list-tasks --service-name my-service

删除每个任务的用途:

aws ecs stop-task --task %1

其中%1是第一个命令提供的任务的ARN。

这是一个结合了以上两个命令的命令。它将杀死给定服务的所有任务:

SVC=your-service-name-here
aws ecs list-tasks --service-name $SVC --output text | cut -f2 | perl -ne 'system("aws ecs stop-task --task $_")'
本文链接:https://www.f2er.com/3145734.html

大家都在问