MongoDB 容器的 AWS ELB 健康检查失败

AWS ELB Health Check for MongoDB container fails

我正在尝试在 Amazon ECS 上使用 mongoDB 容器,我想设置一个负载均衡器,其中包含 ping 端口 27017 的运行状况检查

我做了什么:

  1. 仔细检查我所有的安全组以确保所有内容都可以访问端口 27017
  2. 负载均衡器的健康检查设置为 TCP:27017
  3. 我的 ECS 服务设置为识别 ELB,并且似乎正确映射到 contianerName 和端口。

每次还是失败。我什至不知道如何调试这个问题。当我 运行 本地容器时,我可以 nc localhost 27017 和它 "seems" 连接(好吧,我得到一个空行,我没有得到任何其他端口)

如何检查我的 mongodb 健康状况?

更新 1:

netstat -tulpn | grep 27017

的输出
tcp        0      0 :::27017    :::*     LISTEN      2600/docker-proxy

更新 2:

我的健康检查设置如下:

Ping Target TCP:27017
Timeout 10 seconds
Interval    30 seconds
Unhealthy threshold 5
Healthy threshold   10

这只是您的配置问题。

如果 ELB 是 public,那么您需要确保您的实例的安全组允许它 publicly 与之通信。

如果 ELB 是内部的,那么您需要确保安全组允许它们相互通信,例如将它们放在同一个安全组中。

您还需要确保已将端口转发到 ECS 实例,以便它可以访问。确保您可以从不同的服务器(无论是在 AWS 上还是在您的笔记本电脑上)在 ecs 实例 上访问服务

您的安全组是什么样的?您的配置是什么样的?这些实例是私有的吗? public? ELB 是私有的吗? public?