AWS 容器运行状况检查

Posted

技术标签:

【中文标题】AWS 容器运行状况检查【英文标题】:AWS Container Healthcheck 【发布时间】:2019-04-25 22:10:46 【问题描述】:

我有一个运行大量容器的 AWS 服务。我想知道是否可以制作一个检查容器健康状况的 python 脚本。

我知道我可以运行运行状况检查命令,所以理论上我可以运行退出 sys.exit(0) 或 1 的 python 脚本,具体取决于运行状况检查,这有意义吗?

是否可以为健康检查制作一个 python 脚本?我只需要调用运行状况检查任务的脚本吗?

感谢您提供任何信息!

【问题讨论】:

您使用的是哪种 AWS 服务? ECS 服务,我对aws 不是很熟悉,所以我希望这是正确的答案? xD 如果已经有 ECS 用于运行任务,为什么还要编写自定义健康检查? 我需要一个脚本来检查我的代码中检查的特定内容。 您可以使用boto3 列出和描述容器。 【参考方案1】:

您需要使用 python 创建自定义 ECS 健康检查命令并通过 Shell 执行它。下面的示例在容器中运行 curl 命令,您需要运行 python 脚本而不是 curl 脚本。

[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]

https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html

您需要确保您的 python 脚本返回成功执行的 0 部分。如果您尝试过类似 python 的方法,请分享您遇到的困难的详细信息。

【讨论】:

以上是关于AWS 容器运行状况检查的主要内容,如果未能解决你的问题,请参考以下文章

ECS 服务的 AWS 网络负载均衡器运行状况检查失败

AWS 负载均衡器运行状况检查:运行状况检查失败,代码如下:[301]

AWS Beanstalk 应用程序运行状况检查

AWS Elastic Beanstalk 运行状况检查偶尔失败

Terraform AWS LB 运行状况检查失败

如何解决 AWS Elastic Beanstalk Django 运行状况检查问题