【发布时间】:2020-12-11 12:47:27
【问题描述】:
我在谷歌计算引擎上为 mongodb 创建了一个 3 节点副本集,出于测试目的,我为防火墙规则添加了 0.0.0.0/0,我可以从任何地方连接到单个节点,并且所有实例都可以在没有任何问题!但问题是当我尝试使用以下命令连接到副本集时
mongo "mongodb://username:password@public-ip-1:27017,public-ip-2:27017,public-ip-3:27017/production?replicaSet=rs0"
- 当我在同一个项目的另一个实例中尝试此代码时,它可以正常工作
- 当我从不同的项目实例或本地实例尝试时,它会抛出如下错误
2020-08-22T14:36:40.579+0530 I NETWORK [thread1] getaddrinfo("mongodb-1-servers-vm-0") 失败:提供节点名或服务名,或未知 2020-08-22T14:36:40.582+0530 I NETWORK [thread1] getaddrinfo("mongodb-1-servers-vm-1") failed: nodename or servname provided, or not known 2020-08-22T14:36:40.582+0530 W NETWORK [thread1] 无法到达主集 rs0
从这些实例中,我可以分别连接到各个节点,因为
mongo "mongodb://username:passsword@public-ip-1:27017/production"
mongo "mongodb://username:passsword@public-ip-2:27017/production"
mongo "mongodb://username:passsword@public-ip-3:27017/production"
可能是什么问题?
第二个问题是,在防火墙上这些是添加应用引擎服务帐户的选项吗?所以如果我禁用0.0.0.0/0 公共访问并添加此规则,我可以从我的应用引擎连接到这些实例吗?
【问题讨论】:
标签: mongodb google-cloud-platform google-compute-engine