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