Ho finito per fare 2 modifiche per farlo funzionare. Il primo cambiamento è un requisito preciso che mi mancava. Non sono ancora sicuro se la seconda modifica sia assolutamente necessaria.
1)Ho dovuto creare un nuovo cluster GCP e in esso il VPC nativo (abilita alias IP) era abilitato per impostazione predefinita. Nel mio vecchio cluster, questa impostazione era disabilitata e non potevo cambiarla per un cluster in esecuzione. Questa impostazione deve assolutamente essere attivata per risolvere il problema.
2) Anche se sto usando il driver Mongo Java 3.11.1, ho accoppiato nslookup
comandi e ho pensato che sia più sicuro usare la stringa URI di connessione in stile driver precedente (cioè 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
), poiché nslookup
in realtà ha fornito un vero indirizzo IP per il vecchio stile ma non per il nuovo.
nslookup
comandi che hanno aiutato:
>> 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