Menyiapkan klaster aktif-aktif dengan instans basis data baru - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyiapkan klaster aktif-aktif dengan instans basis data baru

Selesaikan langkah-langkah berikut untuk menyiapkan klaster aktif-aktif menggunakan Amazon baru RDS untuk instans SQL DB Saya.

Jika Anda menyiapkan cluster aktif-aktif dengan instans DB di lebih dari satuVPC, pastikan Anda menyelesaikan prasyarat di. Mempersiapkan klaster VPC aktif silang

Langkah 1: Atur parameter klaster aktif-aktif dalam satu atau beberapa grup parameter kustom

Instance RDS for My SQL DB di cluster aktif-aktif harus dikaitkan dengan grup parameter khusus yang memiliki pengaturan yang benar untuk parameter yang diperlukan. Lihat informasi tentang parameter-parameter dan setelan yang diperlukan untuk masing-masing parameter di Setelan parameter yang diperlukan untuk klaster aktif-aktif.

Anda dapat mengatur semua parameter ini di grup parameter baru atau di grup parameter yang ada. Namun, untuk menghindari memengaruhi tanpa sengaja instans basis data yang bukan bagian dari klaster aktif-aktif, kami sangat menyarankan supaya Anda membuat grup parameter kustom baru. Instans basis data dalam klaster aktif-aktif dapat dikaitkan dengan grup parameter basis data yang sama atau berbeda.

Anda dapat menggunakan AWS Management Console atau AWS CLI untuk membuat grup parameter kustom baru. Untuk informasi selengkapnya, lihat Membuat grup parameter DB di Amazon RDS Amazon. Contoh berikut menjalankan create-db-parameter-group AWS CLI perintah untuk membuat grup parameter DB kustom bernamamyactivepg:

Untuk Linux, macOS, atau Unix:

aws rds create-db-parameter-group \ --db-parameter-group-name myactivepg \ --db-parameter-group-family mysql8.0 \ --description "Parameter group for active-active clusters"

Untuk Windows:

aws rds create-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --db-parameter-group-family mysql8.0 ^ --description "Parameter group for active-active clusters"

Anda juga dapat menggunakan AWS Management Console atau AWS CLI untuk mengatur parameter dalam grup parameter kustom. Untuk informasi selengkapnya, lihat Memodifikasi parameter dalam grup parameter DB di Amazon RDS Aurora.

Contoh berikut menjalankan modify-db-parameter-group AWS CLI perintah untuk mengatur parameter:

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

Langkah 2: Buat yang baru RDS untuk instans SQL DB Saya untuk cluster aktif-aktif

Cluster aktif-aktif didukung untuk versi 8.0.35 dan yang lebih tinggi RDS untuk instans My DB. SQL Anda dapat membuat hingga sembilan instans basis data baru untuk klaster.

Anda dapat menggunakan AWS Management Console atau AWS CLI untuk membuat instance DB baru. Lihat informasi yang lebih lengkap tentang cara membuat instans basis data di Membuat instans Amazon RDS DB. Saat Anda membuat instans basis data, kaitkan dengan grup parameter basis data yang Anda buat atau ubah dalam langkah sebelumnya.

Langkah 3: Tentukan instance DB di cluster aktif-aktif

Dalam grup parameter basis data yang terkait dengan setiap instans basis data, atur parameter group_replication_group_seeds ke titik akhir instans basis data yang ingin Anda sertakan dalam klaster.

Anda dapat menggunakan AWS Management Console atau AWS CLI untuk mengatur parameter. Anda tidak perlu mem-boot ulang instans basis data setelah mengatur parameter ini. Lihat informasi yang lebih lengkap tentang pengaturan parameter di Memodifikasi parameter dalam grup parameter DB di Amazon RDS Aurora.

Contoh berikut menjalankan modify-db-parameter-group AWS CLI perintah untuk mengatur parameter:

Untuk Linux, macOS, atau Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"

Untuk Windows:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"
Tip

Pastikan untuk mengatur parameter group_replication_group_seeds di setiap grup parameter basis data yang terkait dengan instans basis data di klaster aktif-aktif.

Langkah 4: Inisialisasi grup pada instance DB dan mulai replikasi

Anda dapat memilih basis data baru untuk menginisialisasikan grup dan memulai replikasi. Untuk melakukannya, selesaikan langkah-langkah berikut:

  1. Pilih instans DB di cluster aktif-aktif, dan sambungkan ke instans DB itu di klien. SQL Untuk informasi selengkapnya tentang menghubungkan ke instans RDS for My SQL DB, lihatMenghubungkan ke instans DB yang menjalankan mesin SQL database Saya.

  2. Di SQL klien, jalankan prosedur tersimpan berikut dan ganti group_replication_user_password dengan kata sandi untuk rdsgrprepladmin pengguna. Pengguna rdsgrprepladmin dicadangkan untuk koneksi Group Replication dalam klaster aktif-aktif. Kata sandi untuk pengguna ini harus sama pada semua instans basis data di klaster aktif-aktif.

    call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(1);

    Contoh ini menetapkan nilai binlog retention hours ke 168, yang berarti bahwa file log biner dipertahankan selama tujuh hari pada instans basis data. Anda dapat menyesuaikan nilai ini untuk memenuhi kebutuhan Anda.

    Contoh-contoh ini menentukan 1 dalam prosedur tersimpan mysql.rds_group_replication_start untuk menginisialisasikan grup baru dengan instans basis data saat ini.

    Lihat informasi yang lebih lengkap tentang prosedur tersimpan yang dipanggil dalam contoh ini di Mengelola klaster aktif-aktif.

Langkah 5: Mulai replikasi pada instans DB lainnya di cluster aktif-aktif

Untuk setiap instans DB di cluster aktif-aktif, gunakan SQL klien untuk terhubung ke instance, dan jalankan prosedur tersimpan berikut. Ganti group_replication_user_password dengan kata sandi untuk rdsgrprepladmin pengguna.

call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(0);

Contoh ini menetapkan nilai binlog retention hours ke 168, yang berarti bahwa file log biner dipertahankan selama tujuh hari pada setiap instans basis data. Anda dapat menyesuaikan nilai ini untuk memenuhi kebutuhan Anda.

Contoh ini menentukan 0 dalam prosedur tersimpan mysql.rds_group_replication_start untuk menggabungkan instans basis data saat ini dengan grup yang ada.

Tip

Pastikan untuk menjalankan prosedur tersimpan ini pada semua instans basis data yang lain di klaster aktif-aktif.

Langkah 6: (Disarankan) Periksa status cluster aktif-aktif

Untuk memastikan setiap anggota cluster dikonfigurasi dengan benar, periksa status cluster dengan menghubungkan ke instans DB di cluster aktif-aktif, dan jalankan perintah berikut: SQL

SELECT * FROM performance_schema.replication_group_members;

Output Anda semestinya menampilkan ONLINE untuk MEMBER_STATE setiap instans basis data, seperti pada output sampel berikut:

+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ 3 rows in set (0.00 sec)

Untuk informasi tentang MEMBER_STATE nilai yang mungkin, lihat Status Server Replikasi Grup dalam SQL dokumentasi Saya.

Langkah 7: (Opsional) Impor data ke instans DB di cluster aktif-aktif

Anda dapat mengimpor data dari SQL database Saya ke instans DB di cluster aktif-aktif. Setelah data diimpor, Group Replication mereplikasi data ke instans basis data lain di klaster.

Lihat informasi tentang cara mengimpor data di Mengimpor data ke basis data Amazon RDS MariaDB atau MySQL dengan lebih sedikit waktu henti.