MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Über VPC-Peering vom GCP-Cluster kann keine Verbindung zu Mongo Atlas hergestellt werden

Am Ende habe ich 2 Änderungen vorgenommen, damit es funktioniert. Die erste Änderung ist eine definitive Anforderung, die mir gefehlt hat. Ich bin mir noch nicht sicher, ob ein zweiter Wechsel unbedingt erforderlich ist.

1) Ich musste einen neuen GCP-Cluster erstellen, und darin war die VPC-native (IP-Alias ​​aktivieren) standardmäßig aktiviert. In meinem alten Cluster war diese Einstellung deaktiviert und ich konnte sie für einen laufenden Cluster nicht ändern. Diese Einstellung muss unbedingt aktiviert werden, um das Problem zu beheben.

2)Obwohl ich Mongo Java-Treiber 3.11.1 verwende, habe ich nslookup gekoppelt Befehle und dachte, dass es sicherer ist, die Verbindungs-URI-Zeichenfolge im Stil älterer Treiber zu verwenden (d. h. mongodb://<username>:<password>@<cluster_name>-shard-00-00-pri.crum0.gcp.mongodb.net:27017,<cluster_name>-shard-00-01-pri.crum0.gcp.mongodb.net:27017,<cluster_name>-shard-00-02-pri.crum0.gcp.mongodb.net:27017/itls?ssl=true&replicaSet=<cluster_name>-shard-0&authSource=admin&retryWrites=true&w=majority ), seit nslookup gab tatsächlich eine echte IP-Adresse für den alten Stil, aber nicht für den neuen.

nslookup Befehle, die geholfen haben:

>> nslookup <cluster_name>-shard-00-00-pri.crum0.gcp.mongodb.net
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   <cluster_name>-shard-00-00-pri.crum0.gcp.mongodb.net
Address: 192.168.248.2
>> nslookup <cluster_name>-pri.crum0.gcp.mongodb.net
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
*** Can't find <cluster_name>-pri.crum0.gcp.mongodb.net: No answer