Conversione di un'istanza DB esistente in un cluster attivo-attivo - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Conversione di un'istanza DB esistente in un cluster attivo-attivo

La versione del motore DB dell'istanza Amazon RDS for My SQL DB che desideri migrare in un cluster attivo-attivo deve essere My SQL 8.0.35 o superiore. Se devi aggiornare la versione del motore, consulta. Aggiornamenti del motore RDS for My SQL DB

Se stai configurando un cluster active-active con istanze DB in più di unoVPC, assicurati di completare i prerequisiti in. Preparazione per un cluster VPC cross-active-active

Completa i seguenti passaggi per migrare un'istanza DB esistente in un cluster attivo-attivo per for My. RDS SQL

Passaggio 1: imposta i parametri del cluster active-active in uno o più gruppi di parametri personalizzati

Le istanze RDS for My SQL DB in un cluster attivo-attivo devono essere associate a un gruppo di parametri personalizzato con l'impostazione corretta per i parametri richiesti. Per informazioni sui parametri e sull'impostazione richiesta per ciascuno di essi, vedere. Impostazioni dei parametri obbligatorie per i cluster attivi-attivi

È possibile impostare questi parametri in nuovi gruppi di parametri o in gruppi di parametri esistenti. Tuttavia, per evitare di influire accidentalmente sulle istanze DB che non fanno parte del cluster active-active, ti consigliamo vivamente di creare un nuovo gruppo di parametri personalizzato. Le istanze DB in un cluster attivo-attivo possono essere associate allo stesso gruppo di parametri DB o a gruppi di parametri DB diversi.

È possibile utilizzare AWS Management Console o the AWS CLI per creare un nuovo gruppo di parametri personalizzato. Per ulteriori informazioni, consulta Creazione di un gruppo di parametri DB in Amazon RDS. L'esempio seguente esegue il create-db-parameter-group AWS CLI comando per creare un gruppo di parametri DB personalizzato denominatomyactivepg:

In Linux, macOS, oppure 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"

In 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"

È inoltre possibile utilizzare il AWS Management Console o AWS CLI per impostare i parametri nel gruppo di parametri personalizzato. Per ulteriori informazioni, consulta Modifica dei parametri in un gruppo di parametri DB in Amazon RDS .

L'esempio seguente esegue il modify-db-parameter-group AWS CLI comando per impostare i parametri:

In Linux, macOS, oppure 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"

In 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"

Fase 2: Associare l'istanza DB a un gruppo di parametri DB con i parametri di replica di gruppo richiesti impostati

Associate l'istanza DB a un gruppo di parametri creato o modificato nel passaggio precedente. Per istruzioni, consulta Associazione di un gruppo di parametri DB a un'istanza DB in Amazon RDS .

Riavvia l'istanza DB per rendere effettive le nuove impostazioni dei parametri. Per istruzioni, consulta Riavvio di un'istanza database.

Fase 3: Creare il cluster active-active

Nel gruppo di parametri DB associato all'istanza DB, imposta il group_replication_group_seeds parametro sull'endpoint dell'istanza DB che stai convertendo.

È possibile utilizzare AWS Management Console o the AWS CLI per impostare il parametro. Non è necessario riavviare l'istanza DB dopo aver impostato questo parametro. Per informazioni sull'estensione dei parametri consulta Modifica dei parametri in un gruppo di parametri DB in Amazon RDS .

L'esempio seguente esegue il modify-db-parameter-group AWS CLI comando per impostare i parametri:

In Linux, macOS, oppure 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',ApplyMethod=immediate"

In 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',ApplyMethod=immediate"

Fase 4: Creare ulteriori istanze RDS for My SQL DB per il cluster active-active

Per creare istanze DB aggiuntive per il cluster active-active, esegui il point-in-time ripristino sull'istanza DB che stai convertendo. Per istruzioni, consulta Aggiungere un'istanza DB a un cluster attivo-attivo utilizzando il ripristino point-in-time.

Un cluster attivo-attivo può avere fino a nove istanze DB. Esegui il point-in-time ripristino sull'istanza DB fino a ottenere il numero di istanze DB che desideri per il cluster. Quando esegui point-in-recovery, assicurati di associare l'istanza DB che stai aggiungendo a un gruppo di parametri DB rds.group_replication_enabled impostato 1 su. In caso contrario, la replica di gruppo non verrà avviata sull'istanza DB appena aggiunta.

Passaggio 5: inizializza il gruppo sull'istanza DB che stai convertendo

Inizializza il gruppo e avvia la replica:

  1. Connect all'istanza DB che stai convertendo in un SQL client. Per ulteriori informazioni sulla connessione a un'istanza RDS for My SQL DB, consultaConnessione a un'istanza DB che esegue il motore di SQL database My.

  2. Nel SQL client, esegui le seguenti stored procedure e sostituiscile group_replication_user_password con la password per l'rdsgrprepladminutente. L'rdsgrprepladminutente è riservato alle connessioni di replica di gruppo in un cluster attivo-attivo. La password per questo utente deve essere la stessa su tutte le istanze DB di un cluster active-active.

    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);

    Questo esempio imposta il binlog retention hours valore su168, il che significa che i file di log binari vengono conservati per sette giorni sull'istanza DB. È possibile modificare questo valore in base alle proprie esigenze.

    Questo esempio specifica 1 nella mysql.rds_group_replication_start stored procedure l'inizializzazione di un nuovo gruppo con l'istanza DB corrente.

    Per ulteriori informazioni sulle stored procedure richiamate nell'esempio, vedere. Gestione di cluster attivi-attivi

Fase 6: Avviare la replica sulle altre istanze DB nel cluster active-active

Per ciascuna istanza DB del cluster active-active, utilizza un SQL client per connetterti all'istanza ed esegui le seguenti stored procedure. Replace (Sostituisci) group_replication_user_password con la password per l'utente. rdsgrprepladmin

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);

Questo esempio imposta il binlog retention hours valore su168, il che significa che i file di log binari vengono conservati per sette giorni su ogni istanza DB. È possibile modificare questo valore in base alle proprie esigenze.

Questo esempio specifica 0 nella mysql.rds_group_replication_start stored procedure di aggiungere l'istanza DB corrente a un gruppo esistente.

Suggerimento

Assicurati di eseguire queste stored procedure su tutte le altre istanze DB del cluster active-active.

Passaggio 7: (consigliato) Verifica dello stato del cluster attivo-attivo

Per assicurarti che ogni membro del cluster sia configurato correttamente, controlla lo stato del cluster connettendoti a un'istanza DB nel cluster active-active ed eseguendo il seguente comando: SQL

SELECT * FROM performance_schema.replication_group_members;

L'output dovrebbe essere visualizzato ONLINE per ogni istanza DB, come nell'output di esempio seguente: MEMBER_STATE

+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | 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)

Per informazioni sui MEMBER_STATE valori possibili, consulta Group Replication Server States nella SQL documentazione personale.