如何安全地删除AWS中的活动任务?

时间:2019-01-21 00:37:28

标签: amazon-web-services amazon-s3 amazon-ec2 aws-lambda amazon-ecs

我有一个NodeJS + Angular 5应用程序,由Code Fresh构建,并部署在AWS平台S3,ECS,ECR,EC2和负载均衡器上。

我注意到,我的

中有很多活动任务

任务定义名称:api

我想清理一下我的AWS账户。

如果我除去68以外的其余任务,可以吗?

如何检查其余部分是否未使用?

2 个答案:

答案 0 :(得分:1)

是的,您可以安全地删除任务定义。

注销任务定义时,它会立即标记为INACTIVE。引用INACTIVE任务定义的现有任务和服务将继续运行而不会中断,并且引用INACTIVE任务定义的现有服务仍可以通过修改服务的所需计数来扩大或缩小。 Source

要检查正在使用的任务:

  1. 转到ECS群集。
  2. 选择您的集群。
  3. 在所选集群中,选择任务。
  4. 您可以查看所有正在运行的任务以及它们正在使用的相应任务定义。

ECS cluster

除了您在上述过程中看到的任务定义之外,您可以取消注册其余的任务定义。

要取消注册任务定义:

  1. 通过https://console.aws.amazon.com/ecs/打开Amazon ECS控制台。
  2. 从导航栏中,选择包含任务定义的区域。
  3. 在导航窗格中,选择“任务定义”。
  4. 在“任务定义”页面上,选择包含要注销的一个或多个修订的任务定义名称。
  5. 在“任务定义名称”页面上,选择要注销的每个任务定义修订版左侧的框。
  6. 选择操作,注销。

enter image description here

答案 1 :(得分:1)

我建议不要删除这些。它们不是您提到的“活动任务”,而是对单个任务定义的修订,该定义是服务如何运行任务的配置(定义容器详细信息,资源分配等)。

如果您熟悉Git,那么您正在查看的那些修订类似于'commits'甚至是'branches',但并非针对整个代码库,仅类似于100行JSON。您正在使用第三方部署自动化工具(CodeFresh),该工具可能取决于这些回滚过程的修订,或者至少希望它们存在。可能不是,但我会谨慎一点。

任务定义不消耗任何资源,几乎不占用任何存储空间(AWS甚至不为它们收费。如果您想查看 actual 'running task'

  1. 单击群集
  2. 选择任何具有超过零个“活动任务”的集群
  3. 然后,您将看到带有“所需”和“正在运行”任务数量的服务列表,我相信您可以通过单击来确定其余部分。

在此方面,请注意一些简短的故事,以方便我注意...前一天晚上,我在AWS账户上做了“清理”。我删除了未运行任何活动服务的ECS群集;我做过的第一个集群。

1分钟后,20个网站/应用程序崩溃,整个帐户基础架构崩溃。我几乎没有意识到我是通过“设置向导”创建该集群的,该向导使用CloudFormaton模板旋转了整个VCP,ELB和所有基础资源。在某个时候,我开始使用该VPC和相关资源作为新集群的主目录。

删除集群后,它回滚了我的CloudFormation Stack删除...足够好的基础网络资源来使所有内容崩溃。

任务定义是可以忽略不计的东西,但这就是我对空集群的看法。故事的寓意...

  1. 尽可能使用“删除部分”
  2. 如果没有制作(全部),请务必先进行研究,然后再删除。

如果您是我,请确保向CodeFresh支持/论坛提出问题。同时,这些“任务定义”不会花费您任何钱,您甚至几乎不需要输入要查看的UI /视图。