AWS MongoDB实例无法从Web服务器实例中访问

问题描述:

我有2个EC2实例,第一个是节点js应用服务器,第二个是mongo数据库服务器。我无法从应用程序服务器或任何其他地方访问数据库服务器。AWS MongoDB实例无法从Web服务器实例中访问

我可以从mongodb服务器ping应用服务器(私有和公共ip地址),但不能ping应用服务器上的mongodb服务器(私有和公共ip地址)。我可以同时参与。

MongoDB服务器与作为网络领域的mongod的配置文件:

network 
    bind: [0.0.0.0, private_ip_of_instance] 

无论如何,我认为,不能是问题。我可以从实例中访问我的mongo数据库并查询它。 mongodb服务器上的mongod服务的状态是活动的。

蒙戈DB实例的输出日志说,应用程序服务器上

Waiting for connections on port 27017 

我的NodeJS环境具有指向蒙戈DB服务器实例的端口27017的private_ip与数据库名称以及相应的配置文件。

的MongoDB实例的UFW防火墙具有以下状态

22       ALLOW  Anywhere 
27017      ALLOW  public_ip_address 
27017      ALLOW  private_ip_address 
80/tcp      ALLOW  Anywhere 
22 (v6)     ALLOW  Anywhere (v6) 
80/tcp (v6)    ALLOW  Anywhere (v6) 

,所以我不认为它是阻止连接MongoDB服务器防火墙。

mongodb实例的安全组被配置为允许从80端口的任何地方访问。我试图从我的本地机器上寻找mongdb实例的公共ip,但是所有的数据包都丢失了,我可以ping公共ip应用程序服务器并没有丢失数据包。

它奇怪的原因一切工作之前。应用服务器正在与Mongodb服务器通话并获取数据并返回到今天。

+0

您是否没有在分配给MongoDB服务器的安全组中打开端口“27017”?您只提到'80'端口由于某种原因打开。 –

+0

@Mark B ....哦,我的....不能想象我删除它的一个非常愚蠢的原因....谢谢....只是再次添加它。请添加您的答案 –

您需要在分配给MongoDB服务器的安全组中打开端口27017