Mongo 连接到私有 EC2 实例失败

Mongo Connection To Private EC2 Instance Failed

我在同一 VPC 的不同子网上的 AWS 中有两个实例。其中一个是私有的,而另一个是 public。我在 public 实例中设置了我的节点应用程序。私有实例只能从 public 实例访问,因为它们位于同一 VPC 中。我尝试使用以下命令从 public 实例连接到私有实例的 mongodb:

sudo ./mongo <private ip>:27017 -u <username> -p <password> --authenticationDatabase myDatabase

下面是我的 mongodb 配置:

fork = true
bind_ip = 0.0.0.0
port = 27017
quiet = true
dbpath = /var/lib/mongodb
logpath = /var/log/mongodb/mongo.log
logappend = true
journal = true

但是这个命令在一段时间后超时并给出如下错误:

2016-01-18T12:17:57.513+0000 E QUERY    [thread1] Error: couldn't connect to server <my private ip>:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:226:14
@(connect):1:6

exception: connect failed

我想在 public 实例中使用来自节点 js 应用程序的 mongo 连接。实例无法从 public 实例连接的原因是什么?

MongoDB 个实例的安全组需要允许来自 Node.js 个实例的安全组的入站端口 27017。

您还可以使用源 Node.js 个实例的 IP 地址允许从 Node.js 到 MongoDB 的通信,但最好只允许从它们的入口进入安全组。例如,当 Auto Scaling 添加新实例时,或者如果您的 Node.js 服务器终止然后使用新 IP 地址重新启动时,这会有所帮助。