我有一个mongodb服务器托管在我的VPC之外。我可以直接从本地系统通过互联网访问它。无法从私有子网中的实例接入。我有一个NAT实例,允许来自我的私有网络cidr的所有TCP。我在路由中使用此NAT实例,目的地为0.0.0.0/0,此NAT实例为目标。子网网络ACL允许所有入站和出站流量。在私有实例中,我尝试了ping google.com和wget www.google.com,两者都正常工作,因此可以访问internet。只有连接mongodb失败,连接超时。
connection attempt failed: SocketException: Error connecting to <mongo endpoint> :: caused by :: Connection timed out
在atlas上还有另一台mongodb服务器。这也可以通过互联网提供给任何IP。我再次可以从本地系统和默认VPC中的实例进行连接,但尝试从内网中的实例访问时同样会发生连接超时。内网实例的安全组如下
Inbound
ALL TCP - source (vpc cidr)
Outbound
All traffic - desstination 0.0.0.0/0
发布于 2020-05-22 02:24:36
MongoDB连接需要两部分:
当使用副本集或分片集群时,RS/SC配置中提到的所有主机名(包括MongoDB节点之间的流量)也必须解析为您在第一步中测试的IP地址并正常工作。
发布于 2020-05-23 07:37:30
您可以参考以下文档来设置VPC对等。
-VPC与图集对等- (https://docs.atlas.mongodb.com/security-vpc-peering/) -VPC对等博客帖子-(https://www.mongodb.com/blog/post/introducing-vpc-peering-for-mongodb-atlas) MongoDB图集的-CIDR子网选择-(https://www.mongodb.com/blog/post/cidr-subnet-selection-for-mongodb-atlas)
但是,如果您在设置VPC时仍遇到问题,请提供您的AWS VPC CIDR范围、子网范围、路由表和任何NACL规则的屏幕截图。然后,还要提供来自您尝试设置VPC对等的主机的ping和nslookup输出。
https://stackoverflow.com/questions/61939670
复制相似问题