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