【问题标题】:How to configure security groups when connecting to mongodb between AWS ec2 instances?AWS ec2实例之间连接mongodb时如何配置安全组?
【发布时间】:2016-06-01 10:59:40
【问题描述】:

我有一个带有 mongodb 的 ec2 实例(称为 ec2-mongo)和安全组 sg-mongodb-server。我正在尝试通过另一个 ec2 实例(称为 ec2-connect)与安全组 sg-connect 连接到 mongodb。我想设置规则以允许两个安全组之间的通信而不参考特定的 IP 地址。我该怎么做?

当我的安全组设置如下时,我可以连接到 mongo(所以据我所知,服务器没有任何问题)。出站设置为全部:

sg-mongodb-server

Inbound:
Port    Source
22      my_ip
27017   ip_of_ec2-connect

sg-connect

Inbound:
Port    Source
22      my_ip
27017   ip_of_ec2-mongo

但是当我尝试使用安全组而不是 IP 地址时,我无法连接到 mongodb。

sg-mongodb-server

Inbound:
Port    Source
22      my_ip
27017   sg-connect

sg-connect

Inbound:
Port    Source
22      my_ip
27017   sg-mongodb-server

尝试连接时出现错误消息:

MongoDB shell version: 3.2.3
connecting to: XXX.XXX.XXX.XXX/test
2016-02-19T18:24:09.245+0000 W NETWORK  [thread1] Failed to connect to XXX.XXX.XXX.XXX:27017 after 5000 milliseconds, giving up.
2016-02-19T18:24:09.245+0000 E QUERY    [thread1] Error: couldn't connect to server XXX.XXX.XXX.XXX:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:226:14
@(connect):1:6

exception: connect failed

【问题讨论】:

    标签: mongodb security amazon-web-services amazon-ec2


    【解决方案1】:

    为了使安全组引用起作用,您需要通过 MongoDB 服务器的 私有 IP 地址而不是公共 IP 地址从 EC2 实例连接到您的 MongoDB。

    如果您使用的是公有 IP 地址(或 DNS 名称解析为公有 IP 地址),则连接将离开您的 VPC 并重新进入,因此似乎来自外部世界。

    通过使用私有 IP 地址,它可以判断它来自您的安全组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 2013-12-09
      • 2016-09-22
      • 1970-01-01
      相关资源
      最近更新 更多