Det slutade med att jag gjorde 2 ändringar för att få det att fungera. Första förändringen är ett klart krav som jag saknade. Inte säker än om den andra ändringen är absolut nödvändig.
1)Jag var tvungen att skapa ett nytt GCP-kluster, och i det var VPC-native (aktivera IP-alias) aktiverat som standard. I mitt gamla kluster var den här inställningen inaktiverad och jag kunde inte ändra den för ett körande kluster. Den här inställningen måste definitivt aktiveras för att åtgärda problemet.
2) Även om jag använder Mongo Java-drivrutin 3.11.1, har jag kopplat nslookup
kommandon och tänkte att det är säkrare att använda den äldre drivrutinsanslutnings-URI-strängen (dvs. 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
), eftersom nslookup
gav faktiskt riktig IP-adress för den gamla stilen men inte den nya.
nslookup
kommandon som hjälpte:
>> 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