MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Cara Mudah Menyebarkan Cluster MySQL Galera di AWS

ClusterControl 1.7.3 hadir dengan peningkatan penting dalam integrasi cloud. Dimungkinkan untuk menyebarkan kluster replikasi MySQL dan PostgreSQL ke cloud, serta meluncurkan instance cloud secara otomatis dan memperbesar kluster database Anda dengan menambahkan node database baru.

Postingan blog ini menunjukkan cara menyebarkan Galera Cluster dengan mudah menggunakan ClusterControl di AWS. Fitur baru ini merupakan bagian dari ClusterControl Community Edition, yang hadir dengan fitur penyebaran dan pemantauan gratis. Artinya, Anda dapat memanfaatkan fitur ini tanpa biaya!

Arsitektur Cluster Database ClusterControl

Diagram berikut merangkum arsitektur cluster database kami secara keseluruhan.

Server ClusterControl terletak di luar infrastruktur AWS, memungkinkan visibilitas yang adil ke klaster basis data kami (terletak di Frankfurt:eu-central-1). Server ClusterControl HARUS memiliki alamat IP publik khusus. Ini karena alamat IP akan diberikan oleh ClusterControl pada server database dan grup keamanan AWS. Versi database Galera yang akan kita gunakan adalah MariaDB Cluster 10.3, menggunakan ClusterControl 1.7.3.

Menyiapkan Lingkungan AWS

ClusterControl mampu menerapkan cluster database pada platform cloud yang didukung, yaitu AWS, Google Cloud Platform (GCP), dan Microsoft Azure. Hal pertama yang harus kita konfigurasikan adalah mendapatkan kunci akses AWS untuk memungkinkan ClusterControl melakukan permintaan terprogram ke layanan AWS. Anda dapat menggunakan kunci akses akun root, tetapi ini bukan cara yang disarankan. Sebaiknya buat pengguna Identity and Access Management (IAM) khusus hanya untuk tujuan ini.

Masuk ke Konsol AWS Anda -> Kredensial Keamanan Saya -> Pengguna -> Tambah Pengguna . Tentukan pengguna dan pilih "Akses Terprogram" sebagai Jenis Akses:

Pada halaman berikutnya, buat grup pengguna baru dengan mengklik tombol "Buat grup" dan beri nama grup "DatabaseAutomation". Tetapkan jenis akses berikut:

  • AmazonEC2Akses Penuh
  • AmazonVPCFullAccess
  • AmazonS3FullAccess (hanya jika Anda berencana untuk menyimpan cadangan database di AWS S3)

Centang kotak DatabaseAutomation dan klik "Tambahkan pengguna ke grup":

Secara opsional, Anda dapat menetapkan tag di halaman berikutnya. Jika tidak, lanjutkan untuk membuat pengguna. Anda harus mendapatkan dua hal terpenting, Access key ID dan Secret access key.

Unduh file CSV dan simpan di tempat yang aman. Sekarang kami dapat mengotomatiskan penerapan di cloud.

Instal ClusterControl di server masing-masing:

$ whoami

root

$ wget http://severalnines.com/downloads/cmon/install-cc

$ chmod 755 install-cc

$ ./install-cc

Ikuti petunjuk penginstalan dan buka http://192.168.0.11/clustercontrol dan buat pengguna dan kata sandi admin super.

Untuk memungkinkan ClusterControl melakukan penerapan otomatis di cloud, seseorang harus membuat kredensial cloud untuk wilayah yang dipilih dengan ID kunci dan rahasia AWS yang valid. Buka Bilah Sisi -> Integrasi -> Penyedia Cloud -> Tambahkan Kredensial Cloud pertama Anda -> Layanan Web Amazon dan masukkan detail yang diperlukan dan pilih Frankfurt sebagai wilayah default:

Kredensial ini akan digunakan oleh ClusterControl untuk mengotomatiskan penerapan dan pengelolaan cluster. Pada titik ini, kami siap untuk men-deploy cluster pertama kami.

Penerapan Cluster Basis Data

Buka Deploy -> Deploy di Cloud -> MySQL Galera -> MariaDB 10.3 -> Konfigurasi Cluster untuk melanjutkan ke halaman berikutnya.

Di bawah bagian Configure Cluster, pastikan jumlah node adalah 3 dan berikan nama cluster dan kata sandi root MySQL:

Di bawah Select Credential, pilih credential yang disebut "AWS Frankfurt" dan lanjutkan ke halaman berikutnya dengan mengklik "Select Virtual Machine". Pilih sistem operasi dan ukuran instans yang diinginkan. Disarankan untuk menjalankan infrastruktur kami di dalam cloud pribadi sehingga kami bisa mendapatkan alamat IP internal khusus untuk instans cloud kami dan host tidak secara langsung terpapar ke jaringan publik. Klik tombol "Tambah Baru" di sebelah bidang Virtual Private Cloud (VPC) dan berikan subnet 10.10.0.0/16 ke jaringan ini:

VPC yang kami buat adalah private cloud dan tidak memiliki konektivitas internet. Agar ClusterControl dapat menerapkan dan mengelola host dari luar jaringan AWS, kita harus mengizinkan konektivitas internet ke VPC ini. Untuk melakukan ini, kita harus melakukan hal berikut:

  1. Buat gerbang internet
  2. Tambahkan perutean eksternal ke tabel rute
  3. Mengaitkan subnet ke tabel rute

Untuk membuat gateway internet, login ke AWS Management Console -> VPC -> Internet Gateways -> Buat gateway internet -> tetapkan nama untuk gerbang ini . Kemudian pilih gateway yang dibuat dari daftar dan buka Tindakan -> Lampirkan ke VPC -> pilih VPC untuk daftar tarik-turun -> Lampirkan . Kami sekarang telah melampirkan gateway internet ke cloud pribadi. Namun, kita perlu mengkonfigurasi jaringan untuk meneruskan semua permintaan eksternal melalui gateway internet ini. Oleh karena itu, kita harus menambahkan rute default ke tabel rute. Buka VPC -> Tabel Rute -> pilih tabel rute -> Edit Rute dan tentukan jaringan tujuan, 0.0.0.0/0 dan target (ID gateway internet yang dibuat) seperti di bawah ini:

Kemudian, kita harus mengasosiasikan subnet DB ke jaringan ini sehingga memberikan semua instance yang dibuat di dalam jaringan ini ke rute default yang telah kita buat sebelumnya, pilih tabel rute -> Edit Subnet Association -> tetapkan subnet DB , seperti yang ditunjukkan di bawah ini:

VPC sekarang siap digunakan oleh ClusterControl untuk penerapan.

Setelah dibuat, pilih VPC yang dibuat dari dropdown. Untuk SSH Key, kami akan meminta ClusterControl untuk membuatnya secara otomatis:

Kunci SSH yang dihasilkan akan ditempatkan di dalam server ClusterControl di bawah direktori /var/lib/cmon/autogenerated_ssh_keys/s9s/.

Klik "Ringkasan Penerapan". Di halaman ini, kita harus menetapkan subnet dari VPC ke cluster database. Karena ini adalah VPC baru, ia tidak memiliki subnet dan kami harus membuat yang baru. Klik tombol "Add New Subnet" dan tetapkan 10.10.1.0/24 sebagai jaringan untuk cluster database kami:

Terakhir, pilih buat subnet di kotak teks dan klik "Deploy Cluster":

Anda dapat memantau kemajuan pekerjaan di bawah Aktivitas -> Pekerjaan -> Buat Gugus . ClusterControl akan melakukan langkah-langkah pra-pemasangan yang diperlukan seperti membuat instance cloud, grup keamanan, membuat kunci SSH, dan sebagainya, sebelum langkah penginstalan yang sebenarnya dimulai.

Setelah cluster siap, Anda akan melihat cluster berikut di dasbor ClusterControl:

Penyebaran cluster kami sekarang selesai.

Poskan Penerapan Basis Data AWS

Kami dapat mulai memuat data kami ke dalam cluster atau membuat database baru untuk penggunaan aplikasi Anda. Untuk terhubung, cukup instruksikan aplikasi atau klien Anda untuk terhubung ke alamat IP pribadi atau publik dari salah satu server database. Anda bisa mendapatkan informasi ini dengan membuka halaman Nodes, seperti yang ditunjukkan pada tangkapan layar berikut:

Jika Anda ingin mengakses node database secara langsung, Anda dapat menggunakan modul web-SSH ClusterControl di Node Actions -> SSH Console , yang memberi Anda pengalaman serupa seperti terhubung melalui klien SSH.

Untuk meningkatkan skala cluster dengan menambahkan node database, Anda cukup pergi Cluster Actions (ikon tumpukan server) -> Add Node -> Tambahkan node DB pada instance cloud baru dan Anda akan disajikan dengan dialog berikut:

Cukup ikuti wizard penerapan dan konfigurasikan instance baru Anda sesuai dengan itu. Setelah instance dibuat, ClusterControl akan menginstal, mengonfigurasi, dan menggabungkan node ke dalam cluster secara otomatis.

Itu saja untuk saat ini, teman-teman. Selamat mengelompokkan di awan!


  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 QUARTER() Bekerja di MariaDB

  2. 2 Cara Mengembalikan Kode ASCII untuk Karakter yang Diberikan di MariaDB

  3. Fungsi Tanggal &Waktu MariaDB (Daftar Lengkap)

  4. Pemantauan Replikasi MySQL yang Efektif Dengan Dasbor SCUMM:Bagian 2

  5. Bagaimana ADDTIME() Bekerja di MariaDB