首页 > 解决方案 > 如何在 Amazon ECS 中运行外部运行状况检查命令?

问题描述

是否可以从另一个容器或服务更改 ECS 任务的 HealthStatus,最好使用 AWS API(例如 boto3)?

我正在解决 DockerHEALTHCHECK和 AWS 任务healthCheck定义是必须在被检查容器内运行的命令的限制。就我而言,该任务正在运行不受信任的代码,因此最好不要curl在容器本身内安装玩具。我已经有另一个服务正在处理这些任务,如果这个服务一旦知道有问题就可以改变他们的健康状态会很方便。

如何healthStatus从容器外部设置任务?我大约 75% 确定我在某处看到了对此的描述,但现在我无法重现导致它的 Google 搜索字词!

标签: amazon-web-servicesboto3amazon-ecs

解决方案


我终于找到了我之前遇到的东西;这是在自动缩放的背景下。

看起来我无法设置任务的健康状况,但我可以设置实例的健康状况。不幸的是,这不是我想要的;多个任务将在单个实例上运行,并且其中许多任务将在一个失败时运行良好。

据我所知,没有办法为容器设置“外部”健康检查。最后,我求助于ecs.stop_task(...)另一个服务。


推荐阅读