Dav*_*d C 0 security amazon-ec2 mongodb amazon-web-services
我有一个带有 mongodb(称为 ec2-mongo)的 ec2 实例,其安全组为 sg-mongodb-server。我正在尝试通过另一个具有安全组 sg-connect 的 ec2 实例(称为 ec2-connect)连接到 mongodb。我想设置规则以允许两个安全组之间的流量,而无需参考特定的 IP 地址。我怎样才能做到这一点?
当我的安全组设置如下时,我可以连接到 mongo(所以据我所知,服务器没有任何问题)。出站设置为所有:
sg-mongodb-服务器:
Inbound:
Port Source
22 my_ip
27017 ip_of_ec2-connect
Run Code Online (Sandbox Code Playgroud)
SG连接:
Inbound:
Port Source
22 my_ip
27017 ip_of_ec2-mongo
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用安全组而不是 IP 地址时,我无法连接到 mongodb。
sg-mongodb-服务器:
Inbound:
Port Source
22 my_ip
27017 sg-connect
Run Code Online (Sandbox Code Playgroud)
SG连接:
Inbound:
Port Source
22 my_ip
27017 sg-mongodb-server
Run Code Online (Sandbox Code Playgroud)
尝试连接时的错误消息:
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
Run Code Online (Sandbox Code Playgroud)
为了使安全组引用起作用,您需要通过 MongoDB 服务器的私有IP 地址而不是公共 IP 地址从 EC2 实例连接到您的 MongoDB 。
如果您使用的是公网IP地址(或DNS名称解析为公网IP地址),那么连接会离开您的VPC并重新进入,因此看起来来自外部世界。
通过使用私有 IP 地址,它可以判断它来自您的安全组。
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |