View a markdown version of this page

Configurazione di un cluster attivo-attivo con nuove istanze database - 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à.

Configurazione di un cluster attivo-attivo con nuove istanze database

Per configurare un cluster attivo-attivo utilizzando nuove istanze database di Amazon RDS per MySQL, esegui queste operazioni.

Se configuri un cluster attivo-attivo con istanze database in più di un cloud privato virtuale, verifica che i prerequisiti in Preparazione per un cluster attivo-attivo tra VPC siano soddisfatti.

Fase 1: impostare i parametri del cluster attivo-attivo in uno o più gruppi di parametri personalizzati

Le istanze database RDS per MySQL in un cluster attivo-attivo devono essere associate a un gruppo di parametri personalizzato con l’impostazione corretta per i parametri richiesti. Per ulteriori informazioni sui parametri e la relativa impostazione per ciascuno, consulta Impostazioni dei parametri richieste per i cluster attivi-attivi.

È possibile impostare i parametri in nuovi gruppi di parametri o in gruppi di parametri esistenti. Tuttavia, per evitare di influire accidentalmente sulle istanze database che non fanno parte del cluster attivo-attivo, si consiglia di creare un nuovo gruppo di parametri personalizzato. Le istanze database di un cluster attivo-attivo possono essere associate allo stesso gruppo di parametri di database oppure a gruppi di parametri di database diversi.

È possibile utilizzare Console di gestione AWS o il AWS CLI per creare un nuovo gruppo di parametri personalizzato. Per ulteriori informazioni, consulta Creazione di un gruppo di parametri database in Amazon RDS. L'esempio seguente esegue il AWS CLI comando create-db-parameter-group per creare un gruppo di parametri DB personalizzato denominato RDS for myactivepg MySQL 8.0:

Per Linux, macOS o 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"

Per 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 Console di gestione AWS o the per impostare i parametri nel gruppo di parametri personalizzato AWS CLI . Per ulteriori informazioni, consulta Modifica dei parametri in un gruppo di parametri database in Amazon RDS.

L'esempio seguente esegue il AWS CLI comando modify-db-parameter-group per impostare i parametri per RDS for MySQL 8.0. Per utilizzare questo esempio con RDS per MySQL 8.4, modificare slave_preserve_commit_order in replica_preserve_commit_order.

Per Linux, macOS o 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"

Per 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: creare nuove istanze database RDS per MySQL per il cluster attivo-attivo

Active-active i cluster sono supportati per le seguenti versioni di RDS for MySQL DB:

  • Tutte le versioni di MySQL 8.4

  • MySQL versione 8.0.35 e versioni secondarie successive

È possibile creare fino a nove nuove istanze database per il cluster.

È possibile utilizzare Console di gestione AWS o the per creare nuove istanze DB AWS CLI . Per ulteriori informazioni sulla creazione di un'istanza database, consulta Creazione di un'istanza database Amazon RDS. Quando crei l’istanza database, associala a un gruppo di parametri di database creato o modificato nella fase precedente.

Fase 3: specificare le istanze database nel cluster attivo-attivo

Nel gruppo di parametri di database associato a ciascuna istanza database, imposta il parametro group_replication_group_seeds sugli endpoint delle istanze database da includere nel cluster.

È possibile utilizzare Console di gestione AWS o the AWS CLI per impostare il parametro. Dopo aver impostato il parametro, non è necessario riavviare l’istanza database. Per informazioni sull’impostazione dei parametri, consulta Modifica dei parametri in un gruppo di parametri database in Amazon RDS.

L’esempio seguente utilizza il comando modify-db-parameter-group della AWS CLI per impostare i parametri:

Per Linux, macOS o 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"

Per 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"
Suggerimento

Assicurati di impostare il parametro group_replication_group_seeds in ogni gruppo di parametri di database associato a un’istanza database nel cluster attivo-attivo.

Fase 4: inizializzare il gruppo su un’istanza database e avviare la replica

È possibile scegliere qualsiasi nuovo database per inizializzare il gruppo e avviare la replica. Per fare ciò, completa la seguente procedura:

  1. Scegli un’istanza database nel cluster attivo-attivo e connettiti a tale istanza utilizzando un client SQL. Per ulteriori informazioni sulla connessione a un’istanza database RDS per MySQL, consulta Connessione all’istanza database MySQL.

  2. Nel client SQL, esegui le seguenti stored procedure e group_replication_user_password sostituiscile con la password dell'rdsgrprepladminutente. In un cluster attivo-attivo, l’utente rdsgrprepladmin è riservato alle connessioni di replica di gruppo. La password di tale utente deve essere la stessa su tutte le istanze database di un cluster attivo-attivo.

    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 valore binlog retention hours su 168 in modo che i file di log binari vengano mantenuti per sette giorni nell’istanza database. È possibile modificare questo valore per soddisfare i requisiti specifici.

    Questo esempio specifica 1 nella stored procedure mysql.rds_group_replication_start per inizializzare un nuovo gruppo con l’istanza database corrente.

    Per ulteriori informazioni sulle stored procedure chiamate nell’esempio, consulta Gestione di cluster attivi-attivi.

Fase 5: avviare la replica sulle altre istanze database nel cluster attivo-attivo

Per ciascuna istanza database del cluster attivo-attivo, utilizza un client SQL per connetterti all’istanza ed esegui queste stored procedure. Sostituire group_replication_user_password con la password dell'rdsgrprepladminutente.

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 valore binlog retention hours su 168 in modo che i file di log binari vengano mantenuti per sette giorni in ciascuna istanza database. È possibile modificare questo valore per soddisfare i requisiti specifici.

L’esempio specifica 0 nella stored procedure mysql.rds_group_replication_start per unire l’istanza database corrente a un gruppo esistente.

Suggerimento

Assicurati di eseguire queste stored procedure su tutte le altre istanze database del cluster attivo-attivo.

Fase 6 (consigliata): verificare lo stato del cluster attivo-attivo

Per verificare che ogni membro del cluster sia configurato correttamente, connettiti a un’istanza database del cluster attivo-attivo ed esegui questo comando SQL per controllare lo stato del cluster:

SELECT * FROM performance_schema.replication_group_members;

L’output deve essere ONLINE per l’elemento MEMBER_STATE di ogni istanza database, come nell’output di esempio seguente:

+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | 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 possibili valori MEMBER_STATE, consulta Group Replication Server States nella documentazione MySQL.

Fase 7 (facoltativa): importare i dati in un’istanza database del cluster attivo-attivo

È possibile importare dati da un database MySQL in un’istanza database nel cluster attivo-attivo. Dopo l’importazione, la replica di gruppo replica i dati nelle altre istanze database del cluster.

Per informazioni sull’importazione di dati, consulta Importazione dei dati in un database Amazon RDS per MySQL con tempo di inattività ridotto.