AWS ECS 容器服务何时更改状态?

Posted

技术标签:

【中文标题】AWS ECS 容器服务何时更改状态?【英文标题】:When AWS ECS Container service changed state? 【发布时间】:2019-04-28 04:51:05 【问题描述】:

我使用 CodeBuild 将容器部署到 AWS ECS 集群。 在 CodeBuild 中,我使用“aws ecs register-task-definition”和“aws ecs update-service”来注册任务定义并使用新任务定义更新服务。我订阅了更改 ECS 集群状态的 SNS,并按以下顺序收到状态通知:

    “等待运行” “跑到跑” “运行到停止” “停止到停止”

关于AWS documentation 我理解 PENDING to RUNNING 和 RUNNING to STOPPED 的状态意味着 ECS Agent 接收到新的任务开始。

我的问题是其他状态是什么意思?

【问题讨论】:

【参考方案1】:

ECS 任务有两种状态。 lastStatus 表示当前任务状态。 desiredStatus 表示目标状态。

在任务启动和停止期间,会省略4个事件:

    (lastStatus: PENDING)-> (desiredStatus: RUNNING):任务计划运行 (lastStatus: RUNNING)-> (desiredStatus: RUNNING):任务已启动。事件中会有更多的数据,例如网络信息,只有在任务开始后才可用。 (lastStatus: RUNNING)-> (desiredStatus: STOPPED): 任务计划停止 (lastStatus: STOPPED)-> (desiredStatus: STOPPED): 任务已停止

【讨论】:

以上是关于AWS ECS 容器服务何时更改状态?的主要内容,如果未能解决你的问题,请参考以下文章

spring boot 微服务在部署在 ecs aws 的容器中消耗大量内存

使用 AWS ECS 容器计算成本

AWS Elastic Beanstalk 与 EC2 容器服务 (ECS) - Docker

具有 Auto Scaling 与弹性容器服务 (ECS) 的 AWS EC2 - Docker

在 AWS ECS 中将带有卷参数的 docker 容器作为任务定义或服务运行

Spring Cloud 微服务(五) 部署到AWS ECS