2012-09-21 19 views
1

我設置的VPC如下所述:http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html如何在亞馬遜AWS VPC專用子網打開蒙戈端口

而且我必須在專用子網的盒子,我想作爲一個蒙戈框中使用。私有IP是10.0.1.51。

我可以連接到mongod的情況下在本地主機,但不超過私有IP:

[email protected]:~$ mongo localhost 
connecting to: localhost 
> this works 

> ^[email protected]:~$ 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 
[email protected]:~$ 

安全組允許傳入和傳出端口27017

路由表中有

10.0.0.0/16 local 

條目。

我錯過了什麼?

回答

2

問題實際上是在MongoDB配置中,而不是路由表。像MySQL一樣,MongoDB需要允許來自特定主機的連接。

在mongodb.conf:

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

@bind_ip@port是您的服務器的IP和端口,因爲它出現在客戶端節點。

2

有三件事會影響Amazon VPC上的網絡連接。

  1. 路由表 - 缺省值應該足夠。
  2. 安全組 - 雙重檢查不會傷害。
  3. 網絡ACL - 雖然我不記得默認規則,但它可能是DENY。這些可以在AWS控制檯的VPC選項卡下修改。亞馬遜表示,這些規則取消了安全組的鏈接,「網絡ACL是無狀態的,這意味着對於任何您想要處理的請求,您都必須在兩個方向上創建規則。」

我的猜測是,這是您的ACL,因爲您在原始文章中沒有提及它們。

+0

其實,問題是在MongoDB的配置,而不是路由表... –