MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mengotomatiskan dan Mengelola MongoDB di Cloud

Manajemen basis data secara tradisional rumit dan memakan waktu. Penerapan, dengan masalah keamanan, jaringan yang kompleks, perencanaan dan implementasi pencadangan, serta pemantauan, telah membuat pusing. Menskalakan klaster basis data Anda telah menjadi tugas besar. Dan di dunia di mana ketersediaan 24/7 dan pemulihan bencana yang cepat diharapkan, mengelola bahkan satu cluster database dapat menjadi pekerjaan penuh waktu.

ClusterControl dari Somenines adalah penerapan basis data dan sistem manajemen yang membahas hal-hal di atas, memfasilitasi penyebaran cepat klaster atau node basis data yang redundan dan aman, termasuk fungsi pencadangan dan pemantauan lanjutan - baik di lokasi maupun di cloud. Dengan plugin yang mendukung antara lain Nagios, PagerDuty, dan Zabbix, ClusterControl terintegrasi dengan baik dengan infrastruktur dan alat yang ada untuk membantu Anda mengelola server database dengan percaya diri.

MongoDB adalah server database NoSQL terkemuka di dunia saat ini. Menggunakan ClusterControl, yang dengannya Anda dapat menerapkan dan mengelola Server MongoDB atau Percona resmi untuk MongoDB, penawaran bersaing Percona yang menggabungkan fitur-fitur MongoDB Enterprise, kita akan membahas penerapan Kumpulan Replika MongoDB dengan tiga node data, dan melihat beberapa fitur dari aplikasi ClusterControl.

Kami akan menjalankan beberapa fitur utama ClusterControl, terutama yang berkaitan dengan MongoDB, menggunakan Amazon Web Services. Amazon Web Services (atau AWS) adalah Infrastruktur sebagai penyedia layanan cloud terbesar secara global, menampung jutaan pengguna di seluruh dunia. Ini terdiri dari banyak layanan untuk semua kasus penggunaan dari penyimpanan objek yang hampir tidak terbatas dengan S3 dan infrastruktur mesin virtual yang sangat skalabel menggunakan EC2 sampai ke pergudangan database perusahaan dengan Redshift dan bahkan Machine Learning.

Setelah Anda membaca blog ini, Anda mungkin juga ingin membaca Buku Putih Database Cloud DIY kami di Amazon Web Services, yang membahas pertimbangan konfigurasi dan kinerja untuk server database di AWS Cloud secara lebih rinci. Selain itu, kami telah Menjadi DBA MongoDB, whitepaper dengan detail spesifik MongoDB yang lebih mendalam.

Untuk memulai, pertama-tama Anda perlu menerapkan empat instans AWS. Untuk platform produksi, jenis instans harus dipilih dengan cermat berdasarkan pedoman yang telah kita bahas sebelumnya, tetapi untuk tujuan kita, instans dengan 2 CPU virtual dan RAM 4GB sudah cukup. Salah satu node ini akan menjadi host ClusterControl, yang lain akan digunakan untuk menyebarkan tiga node database.

Mulailah dengan membuat grup keamanan node database Anda, mengizinkan lalu lintas masuk pada port 27017. Tidak perlu membatasi lalu lintas keluar, tetapi jika Anda ingin melakukannya, izinkan lalu lintas keluar pada port 1024-65535 untuk memfasilitasi komunikasi keluar dari server database .

Selanjutnya buat grup keamanan untuk node ClusterControl Anda. Izinkan lalu lintas masuk pada port 22, dan 80. Tambahkan ID grup keamanan ini ke grup keamanan node database Anda, dan izinkan komunikasi TCP tak terbatas. Ini akan memfasilitasi komunikasi antara dua grup keamanan, tanpa mengizinkan akses ssh ke node database dari klien eksternal.

Luncurkan instance ke grup keamanan masing-masing, pilih untuk setiap instance KeyPair yang kunci ssh Anda miliki. Untuk tujuan tugas ini, gunakan KeyPair yang sama untuk semua instans. Jika Anda kehilangan kunci ssh untuk KeyPair Anda, Anda harus membuat KeyPair baru. Saat meluncurkan instans, jangan pilih image Amazon Linux default, alih-alih pilih AMI berdasarkan sistem operasi yang didukung yang tercantum di sini. Karena saya menggunakan wilayah AWS EU-CENTRAL-1, saya akan menggunakan AMI komunitas ami-fa2df395, gambar CentOS 7.3, untuk tujuan ini.

Jika Anda telah menginstal alat baris perintah AWS, gunakan contoh deskripsi aws ec2 perintah yang dirinci sebelumnya untuk mengonfirmasi bahwa instans Anda sedang berjalan--jika tidak, lihat instans Anda di konsol web AWS--dan ketika dikonfirmasi, masuk ke instans ClusterControl melalui ssh.

Salin file kunci publik yang Anda unduh saat membuat KeyPair ke instance ClusterControl. Anda dapat menggunakan scp perintah untuk tujuan ini. Untuk saat ini, biarkan saja di direktori default /home/centos, direktori home dari pengguna centos. Saya telah menelepon s9s.pem milik saya. Anda perlu menginstal alat wget; instal menggunakan perintah berikut:

$ sudo yum -y install wget

Untuk menginstal ClusterControl, jalankan perintah berikut:

$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ ./install-cc # as root or sudo user

Instalasi akan memandu Anda melalui beberapa pertanyaan awal, setelah itu akan memakan waktu beberapa menit untuk mengambil dan menginstal dependensi menggunakan manajer paket sistem operasi Anda.

Ketika instalasi selesai, arahkan browser web Anda ke http://

. Anda dapat menemukan alamat eksternal instans menggunakan deskripsikan-instance perintah, atau melalui konsol web AWS.

Setelah Anda berhasil masuk, Anda akan melihat layar berikut, dan dapat melanjutkan untuk menerapkan Kumpulan Replika MongoDB Anda.

Gambar 1:Selamat datang di ClusterControl!

Seperti yang Anda lihat, ClusterControl juga dapat mengimpor cluster database yang ada, memungkinkannya mengelola infrastruktur yang ada semudah penerapan baru.

Untuk tujuan kami, Anda akan mengklik Deploy Database Cluster . Pada layar berikutnya Anda akan melihat pilihan server database dan tipe cluster yang didukung ClusterControl. Klik tab berlabel MongoDB ReplicaSet . Di sini nilai yang Anda khawatirkan adalah Pengguna SSH , Jalur Kunci SSH , dan Nama Cluster . Port harus sudah 22, port ssh default, dan AMI yang kita gunakan tidak memerlukan Sudo Password .

Gambar 2:Menyebarkan Kumpulan Replika MongoDB

Pengguna ssh untuk CentOS 7 AMI adalah centos , dan Jalur Kunci SSH adalah /home/centos/s9s.pem , atau jalur yang sesuai tergantung pada nama file Key Anda sendiri. Mari gunakan MongoDB-RS0 sebagai Nama Cluster. Menerima opsi default, kami mengklik Lanjutkan .

Gambar 3:Mengonfigurasi penerapan Anda

Di sini kita dapat memilih antara build resmi MongoDB, dan build Percona. Pilih mana yang Anda inginkan, dan berikan pengguna admin dan kata sandi untuk mengkonfigurasi MongoDB dengan aman. Perhatikan bahwa ClusterControl tidak akan membiarkan Anda melanjutkan kecuali Anda memberikan detail ini. Catat kredensial yang Anda berikan, Anda akan memerlukannya untuk masuk ke database MongoDB yang digunakan, jika Anda ingin menggunakannya nanti. Sekarang pilih nama Replica Set, atau terima default. Kami akan menggunakan repositori vendor, tetapi perlu diketahui bahwa Anda dapat mengonfigurasi ClusterControl untuk menggunakan repositori Anda sendiri atau repositori pihak ketiga, jika Anda mau.

Tambahkan node database Anda, satu per satu. Anda dapat memilih untuk menggunakan alamat IP eksternal, tetapi jika Anda memberikan nama host, yang umumnya direkomendasikan, ClusterControl akan merekam semua antarmuka jaringan di host, dan Anda akan dapat memilih antarmuka yang ingin Anda gunakan. Setelah Anda menambahkan tiga node database, klik Deploy . ClusterControl sekarang akan menyebarkan Kumpulan Replika MongoDB Anda. Klik Rincian Pekerjaan Lengkap untuk mengamati saat melakukan konfigurasi cluster Anda. Setelah pekerjaan selesai, buka layar Database Clusters dan lihat cluster Anda.

Gambar 4:Pemulihan Otomatis

Melihat lebih dekat, Anda dapat melihat bahwa Pemulihan Otomatis diaktifkan di tingkat cluster dan node; jika terjadi kegagalan, ClusterControl akan mencoba memulihkan cluster Anda atau node individu yang mengalami masalah. Centang hijau di samping setiap node juga menampilkan status kesehatan cluster secara sekilas.

Gambar 5:Menjadwalkan Pencadangan

Fitur terakhir yang akan kita bahas di sini adalah Backup. ClusterControl menyediakan fitur pencadangan yang memungkinkan pencadangan penuh cluster yang konsisten, atau hanya mongodump standar cadangan jika Anda mau. Ini juga menyediakan fasilitas untuk membuat pencadangan terjadwal agar berjalan secara berkala sesuai jadwal yang Anda pilih. Retensi cadangan juga ditangani, dengan opsi untuk menyimpan cadangan untuk jangka waktu terbatas, menghindari masalah penyimpanan.

Di blog ini saya mencoba memberikan gambaran singkat tentang penggunaan ClusterControl dengan MongoDB, tetapi masih banyak lagi fitur yang didukung oleh ClusterControl. Penyebaran Cluster Sharded, dengan budak tersembunyi dan/atau tertunda, arbiter dan fitur lainnya semuanya tersedia. Informasi lebih lanjut tersedia di situs web kami, tempat Anda juga dapat menemukan webinar, whitepaper, tutorial, dan pelatihan, serta mencoba ClusterControl gratis.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ikhtisar MongoDB Atlas:Bagian Satu

  2. ScaleGrid Mengumumkan Hosting MongoDB Bersama di Amazon AWS

  3. Otomasi Penerapan Basis Data MongoDB

  4. Cara Menginstal MongoDB 4.2 pada sistem RedHat/ CentOS 7

  5. Bagaimana cara membuat tes junit menggunakan mongoDB yang disematkan dalam aplikasi springboot?