Skończyło się na wprowadzeniu 2 zmian, aby to działało. Pierwsza zmiana to definitywny wymóg, którego mi brakowało. Nie jestem jeszcze pewien, czy druga zmiana jest absolutnie konieczna.
1) Musiałem utworzyć nowy klaster GCP, w którym natywny VPC (włącz alias IP) był domyślnie włączony. W moim starym klastrze to ustawienie było wyłączone i nie mogłem go zmienić dla działającego klastra. To ustawienie zdecydowanie musi być włączone, aby rozwiązać problem.
2)Chociaż używam sterownika Mongo Java 3.11.1, zrobiłem kilka nslookup
polecenia i doszli do wniosku, że bezpieczniej jest użyć ciągu identyfikatora URI połączenia w stylu starszego sterownika (tj. 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
), ponieważ nslookup
faktycznie podał prawdziwy adres IP dla starego stylu, ale nie dla nowego.
nslookup
polecenia, które pomogły:
>> 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