Amazon ECS 任务定义状态
当您创建、取消注册或删除任务定义时,其状态会发生变化。您可以在控制台中或使用 DescribeTaskDefinition
查看任务定义状态。
以下是任务定义可能的状态:
- ACTIVE
-
在向 Amazon ECS 注册之后,任务定义处于
ACTIVE
状态。您可以使用处于ACTIVE
状态的任务定义来运行任务或创建服务。 - INACTIVE (非活跃)
-
当您取消注册任务定义时,任务定义会从
ACTIVE
状态转换为INACTIVE
状态。您可以通过调用DescribeTaskDefinition
来检索INACTIVE
任务定义。您不能使用处于INACTIVE
状态的任务定义来运行新任务或创建新服务。这对现有服务或任务没有影响。 - DELETE_IN_PROGRESS
-
在您提交要删除的任务定义后,任务定义会从
INACTIVE
状态转换为DELETE_IN_PROGRESS
状态。任务定义处于DELETE_IN_PROGRESS
状态后,Amazon ECS 会定期验证目标任务定义是否未被任何活动任务或部署引用,然后永久删除该任务定义。您不能使用处于DELETE_IN_PROGRESS
状态的任务定义来运行新任务或创建新服务。您可以随时提交要删除的任务定义,而不会对现有任务和服务造成影响。您可以在控制台中查看处于
DELETE_IN_PROGRESS
状态的任务定义,也可以通过调用DescribeTaskDefinition
来检索任务定义。删除所有
INACTIVE
任务定义修订版时,任务定义名称不会显示在控制台中,也不会在 API 中返回。如果任务定义修订版处于DELETE_IN_PROGRESS
状态,任务定义名称会显示在控制台中,并且在 API 中返回。任务定义名称由 Amazon ECS 保留,并且在下次使用该名称创建任务定义时,修订版本会增加。
如果您使用 Amazon Config 管理任务定义,Amazon Config 会向您收取所有任务定义注册的费用。您只需为取消注册最新的 ACTIVE
任务定义付费。删除任务定义不收取任何费用。有关定价的更多信息,请参阅 Amazon Config 定价
可以阻止删除的 Amazon ECS 资源
当有任何依赖于任务定义修订的 Amazon ECS 资源时,将无法完成任务定义删除请求。以下资源可能会阻止任务定义被删除:
-
Amazon ECS 独立任务 – 需要任务定义才能使任务保持正常运行状态。
-
Amazon ECS 服务任务 – 需要任务定义才能使任务保持正常运行状态。
-
Amazon ECS 服务部署和任务集 – 在 Amazon ECS 部署或任务集启动扩展事件时,需要任务定义。
如果您的任务定义仍处于 DELETE_IN_PROGRESS
状态,则可以使用控制台或 Amazon CLI 来识别,然后停止阻止删除任务定义的资源。
移除被阻止的资源后删除任务定义
在您移除阻止删除任务定义的资源后,将适用以下规则:
-
Amazon ECS 任务 - 任务停止后,删除任务定义最多可能需要 1 小时才能完成。
-
Amazon ECS 服务部署和任务集 – 删除部署或任务集后,任务定义的删除最长可能需要 24 小时才能完成。