MongoDB容器的AWS ELB运行状况检查失败

时间:2016-07-22 19:09:18

标签: mongodb amazon-web-services amazon-ecs

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

我做了什么:

  1. 仔细检查了我的所有安全组,以确保所有内容都可以访问端口27017
  2. 负载均衡器的运行状况检查设置为TCP:27017
  3. 我的ECS服务已设置为识别ELB,并且似乎已正确映射到contianerName和端口。
  4. 每次都失败了。我甚至无法弄清楚如何调试此问题。当我在本地运行容器时,我可以nc localhost 27017并且“似乎”连接(好吧,我得到一个空白行,我没有得到任何其他端口)

    我如何健康检查我的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
    

1 个答案:

答案 0 :(得分:2)

这只是您的配置问题。

如果ELB是公开的,那么您需要确保实例的安全组允许它公开与之对话。

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

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

您的安全组是什么样的?你的配置是什么样的?这些实例是私有的吗?上市? ELB是私有的吗?公共?