Tutorial Akses AWS DocumentDB menggunakan DataGrip
Amazon DocumentDB (dengan kompatibilitas MongoDB) adalah layanan basis data terkelola penuh yang cepat dan andal. Menurut saya, meski tidak sepenuhnya benar, Amazon DocumentDB adalah basis data versi AWS untuk MongoDB. Kita dapat memperlakukan Amazon DocumentDB sama dengan MongoDB (dalam akses dan struktur data).
Saya butuh sebuah tampilan untuk melihat kondisi basis data di AWS DocumentDB. Saya menggunakan Jetbrains DataGrip. Saya sendiri merasa nyaman dengan produk Jetbrains karena sudah terbiasa menggunakan Intellij IDEA dan Android Studio. Namun ini adalah pendapat saya. Insya Allah ke depan, saya akan membahas tentang akses ke AWS DocumentDB menggunakan Visual Studio Code.
Berikut ini adalah langkah yang dilakukan untuk terhubung ke AWS DocumentDB menggunakan Jetbrains DataGrip:
1. Silakan unduh dan pasang Jetbrains DataGrip di https://www.jetbrains.com/datagrip/.
2. Silakan pasang MongoDB pada komputer lokal Anda untuk keperluan pengujian akses ke komputer lokal.
3. Pastikan bahwa Anda memiliki akun AWS dan sudah membuat AWSDocumentDB. Saya bahas detil pembuatannya pada artikel ini.
Uji Akses ke MongoDB Lokal
Saya butuh menguji apakah DataGrip benar-benar bisa dipakai untuk terhubung ke MongoDB. Saya telah memasang DataGrip di komputer saya, hasil pemasangan diberikan pada Gambar 1. Saya juga telah memasang MongoDB di komputer saya. Gambar 2 memberikan pilihan yang harus Anda ambil. Benar, silakan pilih MongoDB pada bagian data source.
Detail koneksi ke MongoDB lokal, diberikan pada Gambar 3. Saya tidak memberikan username dan password untuk terhubung. Cukup koneksi ke port 27017. Konfigurasi yang saya gunakan mungkin berbeda dengan yang Anda gunakan. Klik test connection untuk mengetahui apakah konfigurasi yang Anda lakukan berhasil. Saya sudah melakukan hal tersebut dan Alhamdulillah, konfigurasi saya berhasil. Pilihan basis data dan skema diberikan pada Gambar 4.





Saya sudah membuat koleksi basis data lokal yang bernama first. Gambar 5 menunjukkan bahwa data yang telah saya simpan pada koleksi tersebut, berhasil ditampilkan. Saya mendapatkan data tersebut dari https://gist.github.com/netj/8836201. Okay, pengujian yang kita lakukan di komputer lokal sudah berhasil, mari lanjut ke bagian AWS.
Persiapan AWS DocumentDB
Amazon DocumentDB berjalan dalam sebuah klaster. Informasi yang wajib diberikan pada saat membuat klaster adalah username dan password untuk autentifikasi. Atribut yang lain, bisa Anda atur sendiri atau kita pakai pengaturan bawaan saja. Selain username dan password, saya menggunakan pengaturan bawaan. Gambar 6 adalah tangkapan layar ketika belum ada klaster. Gambar 7 adalah konfigurasi klaster bawaan yang saya gunakan. Gambar 8 merupakan tangkapan layar saat klaster sedang dibuat. Gambar 9 merupakan tangkapan layar saat klaster tersebut sudah berhasil dibuat dan berjalan normal.




AWSDocumentDB berjalan dalam sebuah VPC (virtual private cloud). Saya butuh sebuah komputer dalam satu VPC yang sama. Komputer ini kita gunakan sebagai bastion host. DataGrip akan terhubung dengan bastion host, kemudian bastion host akan menghubungkan DataGrip yang ada di komputer lokal saya dengan AWS DocumentDB.
Ada dua hal penting yang harus disiapkan pada EC2 bastion host:
1. Konektivitas EC2 dengan AWS DocumentDB.
2. Security group EC2.
Konektivitas EC2 dengan AWS DocumentDB
Saya memilih EC2 dengan sistem operasi Ubuntu. Saya pasang mongoDB pada EC2 saya. Jika saya tidak memasang mongoDB pada EC2, maka saya tidak bisa menguji konektivitas antara EC2 dan mongoDB. Saya berhasil terhubung ke AWS DocumentDB dari EC2 sebagaimana diberikan pada Gambar 10. Perintah yang saya gunakan dalam mengatur mongoDB, saya berikan dalam repositori github saya, pada akhir artikel ini.

Security Group EC2
Security group adalah firewall pada EC2. Saya mengizinkan port 22 terbuka untuk seluruh dunia. Namun, yang bisa terhubung dengan EC2 saya hanya orang yang memiliki EC2 key pair yang sesuai, yaitu saya. Gambar 11 adalah tangkapan layar untuk security group pada EC2 yang saya gunakan.

Konektivitas Jetbrains DataGrip ke AWS DocumentDB
Buka DataGrip dan buat koneksi baru mongoDB sebagaimana diberikan pada Gambar 2. Pilih tab SSH/SSL. Centang SSH tunnel. Anda kemudian diminta untuk mengisi detail konfigurasi koneksi ke bastion host (kita menggunakan EC2). Isi host, port, username dan key pair yang sesuai. Tekan tombol test connection. Pastikan koneksinya berhasil. Langkah ini diberikan oleh Gambar 12 dan Gambar 13. Jika koneksi tidak berhasil, periksa sekali lagi apakah EC2 security group sudah diatur dengan benar. Periksa apakah port 22 dibuka atau belum.


Buka tab General. Isi host, port, username dan password untuk AWS DocumentDB. Ingat, ini adalah kredensial untuk AWS DocumentDB, bukan untuk EC2. Kredensial EC2, sudah Anda berikan tadi di tab SSH/SSL. Klik test connection, pastikan koneksinya berhasil seperti ilustrasi Gambar 3. Selamat, sekarang Anda sudah terhubung dengan AWS DocumentDB menggunakan DataGrip.


Saya membuat basis data dengan nama demo. Saya membuat koleksi dengan nama coba, di dalam basis data demo. Isi dari koleksi tersebut adalah kosong.
Berkas .sh yang saya gunakan untuk memasang mongoDB di EC2 dapat Anda buka pada tautan https://github.com/herley-shaori/DataGrip-ke-DocumentDB.git.