Nakonec jsem udělal 2 změny, aby to fungovalo. První změna je jasný požadavek, který jsem postrádal. Zatím si nejsem jistý, zda je druhá změna nezbytně nutná.
1)Musel jsem vytvořit nový cluster GCP a v něm byl ve výchozím nastavení povolen nativní VPC (povolit alias IP). V mém starém clusteru bylo toto nastavení zakázáno a nemohl jsem ho změnit pro běžící cluster. Toto nastavení je určitě potřeba zapnout, aby se problém vyřešil.
2) Přestože používám ovladač Mongo Java 3.11.1, provedl jsem pár nslookup
příkazy a usoudili jsme, že je bezpečnější použít řetězec URI připojení ve stylu staršího ovladače (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
), od nslookup
ve skutečnosti dal skutečnou IP adresu pro starý styl, ale ne pro nový.
nslookup
příkazy, které pomohly:
>> 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