Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Memigrasikan MySQL dari Amazon EC2 ke Pusat Data Lokal Anda Tanpa Waktu Henti

Sejak awal, terjadi peningkatan jumlah migrasi ke lingkungan berbasis cloud. Bagaimanapun, komputasi awan dapat memberikan banyak manfaat bagi bisnis, terutama yang bekerja dengan data besar.

Namun, seiring pertumbuhan permintaan, demikian pula biayanya, dan Anda mungkin mendapati diri Anda berada dalam situasi di mana pengeluaran bulanan awan menjadi terlalu tinggi, dan dampak negatifnya segera melebihi manfaat pengoperasian di awan. Atau mungkin Anda memiliki persyaratan keamanan atau kepatuhan yang meminta Anda untuk memiliki kontrol lebih langsung terhadap sistem Anda. Hal ini pada akhirnya dapat menjadi alasan bagi Anda untuk bermigrasi kembali ke lingkungan lokal.

AWS memang menyediakan alat pemantauan dan manajemen untuk menjalankan sistem kami di cloud sambil memiliki visibilitas dan kontrol untuk pengoptimalan. Namun, ketika kami menemukan diri kami siap untuk solusi lokal, mungkin sulit untuk memigrasikan data kami dan membuat ulang semua alat untuk mengelola sistem kami dengan benar.

Dalam blog ini, kita akan membahas bagaimana Anda dapat memigrasikan sistem Anda dari AWS ke pusat data lokal dan bagaimana ClusterControl dapat membantu merampingkan proses.

Konsep

Sebelum kita masuk, mari kita bahas beberapa konsep dasar tentang Amazon Cloud dan ClusterControl.

AWS

Amazon Web Services (AWS) adalah platform Infrastruktur sebagai Layanan yang terdiri dari sejumlah besar layanan independen dan semi-independen. Tujuan dari platform Infrastruktur sebagai Layanan adalah untuk menawarkan, berdasarkan komoditas, layanan yang sebelumnya memerlukan pembelian komponen infrastruktur padat modal seperti server kelas atas, router jaringan, dan sakelar, dan untuk perusahaan besar, bahkan mereka pusat data sendiri.

RDS

Amazon Relational Database Service (RDS) memudahkan penyiapan, pengoperasian, dan penskalaan database relasional di cloud. Ini memberikan kapasitas yang hemat biaya dan dapat diubah ukurannya sambil mengotomatiskan tugas administrasi yang memakan waktu seperti penyediaan perangkat keras, penyiapan basis data, patching, dan pencadangan.

Amazon RDS tersedia di beberapa jenis instans database dan memberi Anda enam sistem manajemen database yang sudah dikenal untuk dipilih, termasuk Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, dan SQL Server.

EC2

Amazon Elastic Compute Cloud (EC2) adalah layanan yang menyediakan kapasitas komputasi yang aman dan dapat diubah ukurannya di cloud. Ini dirancang untuk membuat komputasi awan skala web lebih mudah bagi pengembang.

Antarmuka web sederhana Amazon EC2 memungkinkan Anda memperoleh dan mengonfigurasi kapasitas dengan gesekan minimal. Ini memberi Anda kendali penuh atas sumber daya komputasi Anda dan memungkinkan Anda berjalan di lingkungan komputasi Amazon yang telah terbukti.

ClusterControl

ClusterControl adalah sistem manajemen komprehensif untuk database open source yang mengotomatiskan penerapan, fungsi manajemen, dan pemantauan kesehatan dan kinerja dari satu panel kaca.

ClusterControl mendukung penerapan, pengelolaan, pemantauan, dan penskalaan untuk berbagai teknologi database di lingkungan apa pun.

Mengapa Bermigrasi ke On-Prem?

Seperti yang kami sebutkan sebelumnya, alasan paling umum untuk bermigrasi dari AWS ke lingkungan lokal adalah biaya, keamanan, kepatuhan, atau menjalankan aplikasi lokal. Di AWS, Anda tidak tahu apa yang terjadi di balik kap infrastruktur. Anda hanya tahu apakah semuanya bekerja. Jika Anda mengalami kinerja atau anomali yang buruk, satu-satunya solusi adalah menghubungi dukungan Amazon.

Contoh Skenario Migrasi

Di AWS, Anda memiliki dua produk berbeda yang terkait dengan blog ini:EC2 dan RDS.

Perbedaan utama di antara keduanya adalah bahwa di EC2, Anda memiliki akses SSH ke server dan harus mengelola database sendiri. RDS adalah layanan database yang dihosting, dan Anda hanya memiliki akses ke instans database.

Di RDS, karena Anda tidak memiliki akses SSH, Anda perlu membuat dump dan mengimpornya ke server baru, atau mengonfigurasi replikasi dan mempromosikan replika ke server utama baru. Untuk kedua opsi tersebut, prosesnya manual. Anda juga dapat menambahkan penyeimbang beban untuk meningkatkan proses ini. Kami membahas tugas ini di blog ini:Bagian 1 dan Bagian 2.

Jadi, mari kita fokus pada migrasi dari EC2.

Dalam contoh kita, mari kita lihat cara memigrasikan MySQL dari AWS EC2 ke pusat data lokal. Kami akan menggunakan lingkungan Replikasi MySQL, tetapi langkah-langkah ini harus bekerja untuk teknologi lain seperti PostgreSQL.

Kami akan menganggap bahwa Anda memiliki database MySQL utama yang berjalan pada instans EC2. Di pusat data lokal, kami juga akan menganggap Anda telah menginstal ClusterControl dan server database baru untuk bermigrasi.

Di konsol manajemen AWS, Anda harus memiliki sesuatu seperti ini di EC2 bagian instance:

Pertama, Anda harus mengimpor simpul utama saat ini yang berjalan di EC2 ke ClusterControl. Untuk proses impor ini, Anda perlu membuka port 3306 dengan mengedit Grup Keamanan yang terkait dengan instans EC2.

Setelah ini, dalam ClusterControl, buka bagian Impor:

Di sana, Anda dapat memilih teknologi database, dalam contoh ini Replikasi MySQL, dan Anda harus menentukan User, Key atau Password, dan port untuk terhubung ke server Anda melalui SSH. Anda juga harus memberikan nama cluster baru Anda.

 

Setelah menyiapkan informasi akses SSH, Anda harus menentukan beberapa informasi database seperti kredensial admin database, port, dan basedir. Selain itu, Anda dapat mengaktifkan fitur ClusterControl Node AutoRecovery, dan Cluster AutoRecovery untuk cluster baru.

Kemudian, Anda perlu menambahkan server Anda dengan menggunakan alamat IP atau nama host dan tekan Impor.

Setelah selesai, Anda dapat memantau status tugas impor dari Monitor aktivitas ClusterControl.

Setelah tugas selesai, Anda akan melihat node database Anda di utama Layar ClusterControl:

Pastikan untuk mengaktifkan pembuatan binlog di database master Anda saat ini.

Sekarang, Anda dapat menambahkan simpul utama baru di masa mendatang sebagai replika baru dari basis data utama Anda saat ini. Untuk ini, buka ClusterControl -> Pilih Cluster -> Cluster Actions -> Add Replication Slave.

Di sini, Anda perlu menambahkan nama host atau alamat IP replika baru server, dan jika Anda ingin ClusterControl menginstal perangkat lunak untuk Anda.

Pastikan Anda memiliki konektivitas dari AWS ke port 3306 dan 9999 di server lokal.

ClusterControl mementaskan replika dengan data dengan mengambil cadangan utama dari yang utama, mengalirkannya ke replika, dan memulihkannya di sana. Setelah dipulihkan, node replika terhubung ke node utama sehingga dapat mengikuti acara dan sinkron. Perhatikan bahwa untuk database besar yang berjalan dengan beberapa beban, Anda mungkin ingin menghindari beban tambahan dari operasi ini pada node utama. Dalam hal ini, node replika dapat dibuat terlebih dahulu dari cadangan yang ada, lalu menghubungkan replika, sehingga dapat mengejar node utama.

Setelah tugas ini, Anda seharusnya memiliki sesuatu seperti ini:

Anda juga dapat memverifikasi topologi Anda di bagian Topologi ClusterControl.

Kemudian, Anda perlu mempromosikan replika ke primer (ClusterControl -> Pilih Cluster -> Tindakan Node -> Promosikan Budak) dan ubah titik akhir di aplikasi Anda.

Untuk meningkatkan topologi ini, Anda dapat menambahkan penyeimbang beban untuk mengatur lalu lintas dari server aplikasi ke database. Saat menggunakan penyeimbang beban, Anda tidak perlu mengubah titik akhir dari aplikasi Anda selama migrasi; penyeimbang beban akan mengubah simpul utama secara transparan.

Ada banyak cara untuk melakukan tugas ini, dan Anda harus dapat mengadopsi strategi seperti ini ke lingkungan Anda, bergantung pada infrastruktur, keamanan, dll.

Untuk alasan keamanan, Anda harus mempertimbangkan untuk menggunakan VPN antara AWS dan lingkungan lokal.

Dalam kasus topologi multi-master seperti Galera Cluster, Anda hanya perlu menambahkan node yang Anda inginkan secara lokal, tetapi berhati-hatilah dengan latensinya. Anda dapat menggunakan, misalnya, segmen Galera yang berbeda untuk mengurangi penggunaan jaringan.

Pertimbangan untuk Migrasi

Terakhir, berikut adalah beberapa pertimbangan untuk dipertimbangkan jika Anda ingin meninggalkan AWS dan mulai menggunakan lingkungan Anda sendiri:

  • Pemantauan:Jangan lupa untuk menggunakan sistem pemantauan. Anda perlu tahu apa yang terjadi di sistem Anda sepanjang waktu!
  • Strategi Pemulihan Bencana:Anda harus mempertimbangkan DRP yang baik. Secara umum, Anda harus memiliki informasi di tiga tempat fisik yang berbeda:Utama, Replika, dan cadangan.
  • Ketersediaan Tinggi:Saat ini, ketersediaan tinggi adalah suatu keharusan di sebagian besar lingkungan produksi, jadi Anda perlu memikirkan solusi ketersediaan tinggi terbaik bergantung pada infrastruktur Anda.
  • Penskalaan:Anda harus dapat menskalakan jika diperlukan di masa mendatang atau untuk acara tertentu.
  • Rollback:Jika Anda ingin bermigrasi dari AWS ke lingkungan lokal, ingatlah bahwa ada yang tidak beres (seperti dalam semua jenis migrasi), jadi Anda harus memiliki rencana rollback.
  • Misalkan Anda mencari semacam lingkungan hibrid, dengan instans yang berjalan di AWS dan lokal. Dalam hal ini, ClusterControl sangat cocok untuk pemantauan, pengelolaan ketersediaan, pencadangan, penskalaan, dan banyak lagi. Cobalah!

Menutup

Terkadang, beroperasi di cloud bukanlah pilihan terbaik, dan Anda mungkin perlu bermigrasi kembali ke solusi lokal. Kami berharap blog ini memberi Anda beberapa informasi bermanfaat tentang memigrasikan data berbasis MySQL ke pusat data lokal Anda dari AWS dan bagaimana ClusterControl memberikan alat yang Anda butuhkan untuk mengelola sistem Anda dengan benar.

Setelah Anda berhasil menyelesaikan migrasi, tingkatkan sistem pemantauan Anda dengan strategi proaktif seperti peringatan prediktif. Lihat postingan terbaru kami tentang Pemantauan Database dengan ClusterControl untuk mempelajari lebih lanjut.

Untuk pembaruan lebih lanjut tentang kiat manajemen basis data dan praktik terbaik, pastikan untuk berlangganan blog kami, umpan RSS, dan ikuti kami di LinkedIn dan Twitter.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara membuat file bahasa Codeigniter dari database?

  2. Tentukan file konfigurasi MySQL mana yang digunakan

  3. Buat pengguna baru di MySQL dan berikan akses penuh ke satu database

  4. Bagaimana cara melihat file log di MySQL?

  5. DO dan DONT untuk Indeks