为什么健康检查无法到达 AWS ECS 中的目标组?

为什么健康检查无法到达 AWS ECS 中的目标组?

这是我的目标组中的目标。它们对应于我的 ecs 服务中运行的 docker 进程。

在此处输入图片描述

如您所见,所有进程都标记为drainingunhealthy

这是我的定义Health checks

在此处输入图片描述

我已经在本地 docker 进程上尝试了健康检查 url,并且该 url 工作正常。

在此处输入图片描述

在云监控日志中找不到相同的日志消息。我推测健康检查网址根本没有被调用。

这是我的任务中的容器定义

在此处输入图片描述

正如您在上面的屏幕截图中看到的,我已将端口 0 映射到 8090。我相信这是如何启用动态映射。

我还将网络模式设置为“桥接”

如何使健康检查正常工作?我认为目前这是我无法访问底层 docker 进程的原因。

答案1

我创建ecs集群时默认安全组似乎有问题

默认 SG 是

在此处输入图片描述

因此基本上没有流量可以到达托管docker进程的ec2实例。

我添加了一个非常宽松的安全组,它正在运行,我可以访问健康检查网址

答案2

就我的情况而言,健康检查存在问题。我添加了成功代码 200,但我的服务是安全的,健康检查返回 401。

我添加了 200,401,404 作为健康检查成功代码。

相关内容