Накрая направих 2 промени, за да работи. Първата промяна е определено изискване, което пропусках. Все още не съм сигурен дали втората промяна е абсолютно необходима.
1) Трябваше да създам нов GCP клъстер и в него VPC-native (разрешаване на IP псевдоним) беше активиран по подразбиране. В стария ми клъстер тази настройка беше деактивирана и не можах да я променя за работещ клъстер. Тази настройка определено трябва да бъде включена, за да се реши проблемът.
2)Въпреки че използвам Mongo Java драйвер 3.11.1, направих няколко nslookup
команди и сметна, че е по-безопасно да се използва URI низ за връзка в стил на по-стар драйвер (т.е. 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
), тъй като nslookup
всъщност даде реален IP адрес за стария стил, но не и за новия.
nslookup
команди, които помогнаха:
>> 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