Acabei fazendo 2 alterações para que funcionasse. A primeira mudança é um requisito definitivo que estava faltando. Ainda não tenho certeza se a segunda mudança é absolutamente necessária.
1) Tive que criar um novo cluster do GCP e, nele, o nativo de VPC (habilitar alias de IP) estava habilitado por padrão. No meu cluster antigo, essa configuração estava desabilitada e não pude alterá-la para um cluster em execução. Essa configuração definitivamente precisa ser ativada para corrigir o problema.
2) Embora eu esteja usando o driver Mongo Java 3.11.1, eu fiz o par
nslookup
comandos e descobri que é mais seguro usar a string URI de conexão de estilo de driver mais antigo (ou seja, 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
), pois nslookup
realmente deu endereço IP real para o estilo antigo, mas não o novo. nslookup
comandos que ajudaram:>> 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