Bagaimana Anda terhubung ke MongoDB Atlas dari Google Cloud Run saat menggunakan VPC dan jaringan peer?
Saya mencoba menghubungkan dari Google Cloud Run ke MongoDB menggunakan VPC dan jaringan peer, tetapi sepertinya saya tidak dapat membuat koneksi. Sasarannya adalah untuk dapat terhubung dari Cloud Run ke Atlas sambil hanya mengizinkan rentang IP tertentu.
Pengaturan saya adalah:
- MongoDB Atlas berjalan di Google Cloud.
- Container Google Cloud Run yang menjalankan server NodeJS di region yang sama dengan atlas MongoDB (meskipun sejauh yang saya tahu itu tidak masalah).
Saya telah mengambil langkah-langkah berikut:
Buat VPC di sisi Google Cloud dengan mengikuti petunjuk dari https://cloud.google.com/vpc/docs/using-vpc.
Siapkan peering jaringan antara VPC saya dan MongoDB Atlas VPC: https://docs.atlas.mongodb.com/security-vpc-peering/
Siapkan akses VPC tanpa server menggunakan konektor: https://cloud.google.com/vpc/docs/configure-serverless-vpc-access
Menerapkan kembali container cloud run menggunakan konektor di atas: https://cloud.google.com/run/docs/configuring/connecting-vpc
Menambahkan rentang CIDR dari langkah 3 ke daftar putih di atlas MongoDB dan menghapus rentang terbuka sebelumnya 0.0.0.0/0.
Semua langkah berhasil (titik hijau dll) tetapi ketika saya mencoba menghubungkan setelah langkah 5 koneksi gagal. Apa yang saya lewatkan?
Jawaban
Memecahkan ini jadi menjawab pertanyaan saya sendiri. Ternyata pendekatan yang diuraikan dalam pertanyaan itu berhasil. Saya kehilangan dua hal:
Anda perlu mengubah string koneksi MongoDB menjadi string koneksi pribadi. Anda dapat mengambil ini dengan mengklik "Hubungkan" di bawah "Clusters" di dasbor MongoDB. Sejauh yang saya lihat tidak didokumentasikan di mana pun di panduan jaringan peer MongoDB.
Izinkan rentang CIDR dari VPC itu sendiri (langkah 1) dan rentang CIDR dari konektor tanpa server (langkah 3) di setelan jaringan MongoDB Atlas.