

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 database esistente in un cluster attivo-attivo
<a name="mysql-active-active-clusters-converting"></a>

La versione del motore di database dell’istanza database da migrare in cluster attivo-attivo deve essere una delle seguenti:
+ Tutte le versioni di MySQL 8.4
+ MySQL 8.0.35 e versioni secondarie successive

Se è necessario aggiornare la versione del motore, consulta [Aggiornamenti del motore di database RDS per MySQL](USER_UpgradeDBInstance.MySQL.md).

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](mysql-active-active-clusters-cross-vpc-prerequisites.md) siano soddisfatti.

Per migrare un’istanza database esistente in un cluster attivo-attivo per RDS per MySQL, esegui queste operazioni.

**Topics**
+ [Fase 1: impostare i parametri del cluster attivo-attivo in uno o più gruppi di parametri personalizzati](#mysql-active-active-clusters-converting-parameter-group)
+ [Fase 2: associare l’istanza database a un gruppo di parametri di database con i parametri di replica di gruppo richiesti impostati](#mysql-active-active-clusters-converting-associate-parameter-group)
+ [Fase 3: creare il cluster attivo-attivo](#mysql-active-active-clusters-converting-associate-parameter-groups)
+ [Fase 4: creare istanze database RDS per MySQL per il cluster attivo-attivo](#mysql-active-active-clusters-converting-add-db-instances)
+ [Fare 5: inizializzare il gruppo sull’istanza database in fase di conversione](#mysql-active-active-clusters-converting-start-replication-first)
+ [Fase 6: avviare la replica sulle altre istanze database nel cluster attivo-attivo](#mysql-active-active-clusters-converting-start-replication-other)
+ [Fase 7 (consigliata): verificare lo stato del cluster attivo-attivo](#mysql-active-active-clusters-converting-view)

## Fase 1: impostare i parametri del cluster attivo-attivo in uno o più gruppi di parametri personalizzati
<a name="mysql-active-active-clusters-converting-parameter-group"></a>

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](mysql-active-active-clusters-parameters.md).

È 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](USER_WorkingWithParamGroups.Creating.md). L'esempio seguente esegue il [create-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) AWS CLI comando per creare un gruppo di parametri DB personalizzato denominato RDS `myactivepg` for 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 AWS CLI per impostare i parametri nel gruppo di parametri personalizzato. Per ulteriori informazioni, consulta [Modifica dei parametri in un gruppo di parametri database in Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

L'esempio seguente esegue il [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) AWS CLI comando 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: associare l’istanza database a un gruppo di parametri di database con i parametri di replica di gruppo richiesti impostati
<a name="mysql-active-active-clusters-converting-associate-parameter-group"></a>

Associa l’istanza database a un gruppo di parametri di database creato o modificato nella fase precedente. Per istruzioni, consulta [Associazione di un gruppo di parametri database a un’istanza database in Amazon RDS](USER_WorkingWithParamGroups.Associating.md).

Affinché le nuove impostazioni del parametro abbiano effetto, riavvia l’istanza database. Per istruzioni, consulta [Riavvio di un'istanza DB DB](USER_RebootInstance.md).

## Fase 3: creare il cluster attivo-attivo
<a name="mysql-active-active-clusters-converting-associate-parameter-groups"></a>

Nel gruppo di parametri di database associato a ciascuna istanza database, imposta il parametro `group_replication_group_seeds` sull’endpoint delle istanze database in fase di conversione.

È possibile utilizzare Console di gestione AWS o the per impostare il parametro AWS CLI . 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](USER_WorkingWithParamGroups.Modifying.md).

L'esempio seguente esegue il [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) AWS CLI comando 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',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',ApplyMethod=immediate"
```

## Fase 4: creare istanze database RDS per MySQL per il cluster attivo-attivo
<a name="mysql-active-active-clusters-converting-add-db-instances"></a>

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 [Aggiunta di un’istanza database a un cluster attivo-attivo tramite il recupero point-in-time](mysql-active-active-clusters-adding.md#mysql-active-active-clusters-adding-pitr).

Nei cluster attivi-attivi possono essere presenti fino a nove istanze database. 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 database aggiunta.

## Fare 5: inizializzare il gruppo sull’istanza database in fase di conversione
<a name="mysql-active-active-clusters-converting-start-replication-first"></a>

Inizializza il gruppo e avvia la replica:

1. Connettiti all’istanza database in fase di conversione in un client SQL. Per ulteriori informazioni sulla connessione a un’istanza database RDS per MySQL, consulta [Connessione all’istanza database MySQL](USER_ConnectToInstance.md).

1. Nel client SQL, esegui le seguenti stored procedure e *group\$1replication\$1user\$1password* sostituiscile con la password dell'`rdsgrprepladmin`utente. 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](mysql-stored-proc-active-active-clusters.md).

## Fase 6: avviare la replica sulle altre istanze database nel cluster attivo-attivo
<a name="mysql-active-active-clusters-converting-start-replication-other"></a>

Per ciascuna istanza database del cluster attivo-attivo, utilizza un client SQL per connetterti all’istanza ed esegui queste stored procedure. Sostituire *group\$1replication\$1user\$1password* con la password dell'`rdsgrprepladmin`utente.

```
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 7 (consigliata): verificare lo stato del cluster attivo-attivo
<a name="mysql-active-active-clusters-converting-view"></a>

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](https://dev.mysql.com/doc/refman/8.0/en/group-replication-server-states.html) nella documentazione MySQL.