1

我按照此处所述设置 VPC:http: //docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html

我在私有子网中有一个盒子,我想将它用作 mongo 盒子。私有 IP 是 10.0.1.51。

我可以通过 localhost 连接到 mongod 实例,但不能通过私有 IP:

ubuntu@ip-10-0-1-51:~$ mongo localhost
connecting to: localhost
> this works

> ^Cubuntu@ip-10-0-1-51:~$ mongo 10.0.1.51
Fri Sep 21 02:23:18 Error: couldn't connect to server 10.0.1.51 shell/mongo.js:81
exception: connect failed
ubuntu@ip-10-0-1-51:~$ 

安全组允许传入和传出端口 27017。

路由表有

10.0.0.0/16 local 

入口。

我错过了什么?

4

2 回答 2

3

三件事会影响 Amazon VPC 上的网络连接。

  1. 路由表——默认的就足够了。
  2. 安全组 - 双重检查不会受到伤害。
  3. 网络 ACL - 虽然我不记得默认规则,但它可能是 DENY。这些可以在 AWS 控制台的 VPC 选项卡下进行修改。这些规则是取消链接安全组,亚马逊说,“网络 ACL 是无状态的,这意味着对于您想要处理的任何给定请求,您必须在两个方向上创建规则。”

我的猜测是这是您的 ACL,因为您在原始帖子中没有提到它们。

于 2013-01-26T04:55:23.303 回答
3

问题实际上出在 mongodb 配置中,而不是路由表中。MongoDB 和 MySQL 一样,需要允许来自特定主机的连接。

在 mongodb.conf 中:

bind_ip = <%= @bind_ip || '127.0.0.1' %>
port = <%= @port || '27017' %>

在客户端节点上显示的服务器的 IP 和端口在哪里@bind_ip以及在哪里。@port

于 2013-01-29T20:23:10.283 回答