MongoDB 容器的 AWS ELB 健康检查失败
AWS ELB Health Check for MongoDB container fails
我正在尝试在 Amazon ECS 上使用 mongoDB 容器,我想设置一个负载均衡器,其中包含 ping 端口 27017 的运行状况检查
我做了什么:
- 仔细检查我所有的安全组以确保所有内容都可以访问端口 27017
- 负载均衡器的健康检查设置为 TCP:27017
- 我的 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?
我正在尝试在 Amazon ECS 上使用 mongoDB 容器,我想设置一个负载均衡器,其中包含 ping 端口 27017 的运行状况检查
我做了什么:
- 仔细检查我所有的安全组以确保所有内容都可以访问端口 27017
- 负载均衡器的健康检查设置为 TCP:27017
- 我的 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?