Saya akhirnya membuat 2 perubahan untuk membuatnya berfungsi. Perubahan pertama adalah persyaratan pasti yang saya lewatkan. Belum yakin apakah perubahan kedua benar-benar diperlukan.
1)Saya harus membuat cluster GCP baru, dan di dalamnya, VPC-native (aktifkan IP alias) diaktifkan secara default. Di cluster lama saya, pengaturan ini dinonaktifkan, dan saya tidak dapat mengubahnya untuk cluster yang sedang berjalan. Pengaturan ini pasti perlu diaktifkan, untuk memperbaiki masalah.
2)Meskipun saya menggunakan driver Mongo Java 3.11.1, saya melakukan beberapa nslookup perintah dan menganggap lebih aman menggunakan string URI koneksi gaya driver yang lebih lama (yaitu 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 ), sejak nslookup sebenarnya memberikan alamat IP asli untuk gaya lama tetapi bukan yang baru.
nslookup perintah yang membantu:
>> 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