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服务器通话并获取数据并返回到今天。
答
您需要在分配给MongoDB服务器的安全组中打开端口27017
。
您是否没有在分配给MongoDB服务器的安全组中打开端口“27017”?您只提到'80'端口由于某种原因打开。 –
@Mark B ....哦,我的....不能想象我删除它的一个非常愚蠢的原因....谢谢....只是再次添加它。请添加您的答案 –