【问题标题】:How to open mongo port in amazon aws vpc private subnet如何在亚马逊 aws vpc 私有子网中打开 mongo 端口
【发布时间】:2012-09-21 02:24:54
【问题描述】:

我按照此处所述设置 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 

条目。

我错过了什么?

【问题讨论】:

    标签: amazon-web-services amazon-vpc


    【解决方案1】:

    三个因素会影响 Amazon VPC 上的网络连接。

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

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

    【讨论】:

      【解决方案2】:

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

      在 mongodb.conf 中:

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

      其中@bind_ip@port 是您的服务器在客户端节点上的IP 和端口。

      【讨论】:

        猜你喜欢
        • 2013-10-20
        • 2011-06-27
        • 2011-05-02
        • 1970-01-01
        • 2012-08-11
        • 2021-06-22
        • 2013-12-28
        • 2014-03-04
        • 1970-01-01
        相关资源
        最近更新 更多