

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Konvertieren einer vorhandenen DB-Instance in einen Aktiv/Aktiv-Cluster
<a name="mysql-active-active-clusters-converting"></a>

Die DB-Engine-Version der DB-Instance, die Sie zu einem Aktiv/Aktiv-Cluster migrieren möchten, muss eine der folgenden Versionen sein:
+ Alle MySQL 8.4-Versionen
+ MySQL 8.0.35 und höhere Unterversionen

Informationen zum Upgrade der Engine-Version finden Sie unter [Upgrades der DB-Engine von RDS für MySQL](USER_UpgradeDBInstance.MySQL.md).

Wenn Sie einen Aktiv/Aktiv-Cluster mit DB-Instances in mehr als einer VPC einrichten, vergewissern Sie sich, dass die unter [Vorbereitungen für einen VPC-übergreifenden Aktiv/Aktiv-Cluster](mysql-active-active-clusters-cross-vpc-prerequisites.md) angegebenen Voraussetzungen erfüllt sind.

Führen Sie die folgenden Schritte aus, um eine vorhandene DB-Instance zu einem Aktiv/Aktiv-Cluster von RDS für MySQL zu migrieren.

**Topics**
+ [Schritt 1: Festlegen des Parameters für den Aktiv/Aktiv-Cluster in einer oder mehreren benutzerdefinierten Parametergruppen](#mysql-active-active-clusters-converting-parameter-group)
+ [Schritt 2: Zuordnen der DB-Instance zu einer DB-Parametergruppe, für die die erforderlichen Gruppenreplikationsparameter festgelegt wurden](#mysql-active-active-clusters-converting-associate-parameter-group)
+ [Schritt 3: Erstellen des Aktiv/Aktiv-Clusters](#mysql-active-active-clusters-converting-associate-parameter-groups)
+ [Schritt 4: Erstellen von zusätzlichen DB-Instances von RDS für MySQL für den Aktiv/Aktiv-Cluster](#mysql-active-active-clusters-converting-add-db-instances)
+ [Schritt 5: Initialisieren der Gruppe auf der konvertierten DB-Instance](#mysql-active-active-clusters-converting-start-replication-first)
+ [Schritt 6: Starten der Replikation auf den anderen DB-Instances im Aktiv/Aktiv-Cluster](#mysql-active-active-clusters-converting-start-replication-other)
+ [Schritt 7: Überprüfen des Status des Aktiv/Aktiv-Clusters (empfohlen)](#mysql-active-active-clusters-converting-view)

## Schritt 1: Festlegen des Parameters für den Aktiv/Aktiv-Cluster in einer oder mehreren benutzerdefinierten Parametergruppen
<a name="mysql-active-active-clusters-converting-parameter-group"></a>

Die DB-Instances von RDS für MySQL in einem Aktiv/Aktiv-Cluster müssen einer benutzerdefinierten Parametergruppe zugeordnet werden, die über die entsprechende Einstellung für die erforderlichen Parameter verfügt. Informationen zu den Parametern und ihren jeweiligen erforderlichen Einstellungen finden Sie unter [Erforderliche Parametereinstellungen für Aktiv/Aktiv-Cluster](mysql-active-active-clusters-parameters.md).

Sie können diese Parameter in neuen oder vorhandenen Parametergruppen festlegen. Um jedoch zu verhindern, dass hierdurch versehentlich DB-Instances beeinträchtigt werden, die nicht zum Aktiv/Aktiv-Cluster gehören, empfehlen wir dringend, eine neue benutzerdefinierte Parametergruppe zu erstellen. Die DB-Instances in einem Aktiv/Aktiv-Cluster können derselben DB-Parametergruppe oder unterschiedlichen DB-Parametergruppen zugeordnet werden.

Sie können das AWS-Managementkonsole oder das verwenden AWS CLI , um eine neue benutzerdefinierte Parametergruppe zu erstellen. Weitere Informationen finden Sie unter [Erstellen einer DB-Parametergruppe in Amazon RDS](USER_WorkingWithParamGroups.Creating.md). Im folgenden Beispiel wird der [create-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) AWS CLI Befehl ausgeführt, um eine benutzerdefinierte DB-Parametergruppe mit dem Namen RDS `myactivepg` for MySQL 8.0 zu erstellen:

Für Linux, macOS oder 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"
```

Für 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"
```

Sie können auch das AWS-Managementkonsole oder das verwenden AWS CLI , um die Parameter in der benutzerdefinierten Parametergruppe festzulegen. Weitere Informationen finden Sie unter [Ändern von Parametern in einer DB-Parametergruppe in Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

Im folgenden Beispiel wird der [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) AWS CLI Befehl ausgeführt, um die Parameter für RDS for MySQL 8.0 festzulegen. Um dieses Beispiel mit RDS für MySQL 8.4 zu verwenden, ändern Sie `slave_preserve_commit_order` in `replica_preserve_commit_order`.

Für Linux, macOS oder 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"
```

Für 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"
```

## Schritt 2: Zuordnen der DB-Instance zu einer DB-Parametergruppe, für die die erforderlichen Gruppenreplikationsparameter festgelegt wurden
<a name="mysql-active-active-clusters-converting-associate-parameter-group"></a>

Ordnen Sie die DB-Instance einer Parametergruppe zu, die Sie im vorherigen Schritt erstellt oder geändert haben. Detaillierte Anweisungen finden Sie unter [Verknüpfen einer DB-Parametergruppe mit einer DB-Instance in Amazon RDS](USER_WorkingWithParamGroups.Associating.md).

Starten Sie die DB-Instance neu, damit die neuen Parametereinstellungen wirksam werden. Detaillierte Anweisungen finden Sie unter [Eine DB-Instance DB-Cluster neu starten](USER_RebootInstance.md).

## Schritt 3: Erstellen des Aktiv/Aktiv-Clusters
<a name="mysql-active-active-clusters-converting-associate-parameter-groups"></a>

Legen Sie den Parameter `group_replication_group_seeds` in der DB-Parametergruppe, die mit der DB-Instance verknüpft ist, auf den Endpunkt der konvertierten DB-Instance fest.

Sie können das AWS-Managementkonsole oder das verwenden AWS CLI , um den Parameter festzulegen. Sie müssen die DB-Instance nicht neu starten, nachdem Sie diesen Parameter festgelegt haben. Informationen zum Festlegen von Parametern finden Sie unter [Ändern von Parametern in einer DB-Parametergruppe in Amazon RDS](USER_WorkingWithParamGroups.Modifying.md).

Im folgenden Beispiel wird der [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) AWS CLI Befehl ausgeführt, um die Parameter festzulegen:

Für Linux, macOS oder 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"
```

Für 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"
```

## Schritt 4: Erstellen von zusätzlichen DB-Instances von RDS für MySQL für den Aktiv/Aktiv-Cluster
<a name="mysql-active-active-clusters-converting-add-db-instances"></a>

Um zusätzliche DB-Instances für den Active-Active-Cluster zu erstellen, führen Sie eine point-in-time Wiederherstellung auf der DB-Instance durch, die Sie konvertieren. Detaillierte Anweisungen finden Sie unter [Hinzufügen einer DB-Instance zu einem Aktiv/Aktiv-Cluster mithilfe von zeitpunktbezogener Wiederherstellung](mysql-active-active-clusters-adding.md#mysql-active-active-clusters-adding-pitr).

Ein Aktiv/Aktiv-Cluster kann bis zu neun DB-Instances enthalten. Führen Sie die point-in-time Wiederherstellung auf der DB-Instance durch, bis Sie die Anzahl der DB-Instances haben, die Sie für den Cluster benötigen. Stellen Sie bei der Ausführung sicher point-in-recovery, dass Sie die DB-Instance, die Sie hinzufügen, einer DB-Parametergruppe zuordnen, für die der Wert auf `rds.group_replication_enabled` festgelegt ist`1`. Andernfalls wird die Gruppenreplikation auf der neu hinzugefügten DB-Instance nicht gestartet.

## Schritt 5: Initialisieren der Gruppe auf der konvertierten DB-Instance
<a name="mysql-active-active-clusters-converting-start-replication-first"></a>

Initialisieren Sie die Gruppe und starten Sie die Replikation:

1. Stellen Sie für einen SQL-Client eine Verbindung mit der konvertierten DB-Instance her. Weitere Informationen zum Herstellen einer Verbindung mit einer DB-Instance von RDS für MySQL finden Sie unter [Herstellen einer Verbindung mit Ihrer MySQL-DB-Instance](USER_ConnectToInstance.md).

1. Führen Sie im SQL-Client die folgenden gespeicherten Prozeduren aus und *group\$1replication\$1user\$1password* ersetzen Sie sie durch das Kennwort für den `rdsgrprepladmin` Benutzer. Der Benutzer `rdsgrprepladmin` ist für Gruppenreplikationsverbindungen in einem Aktiv/Aktiv-Cluster reserviert. Das Passwort für diesen Benutzer muss auf allen DB-Instances in einem Aktiv/Aktiv-Cluster identisch sein.

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

   In diesem Beispiel wird der Wert `binlog retention hours` auf `168` festgelegt, was bedeutet, dass Binärprotokolldateien sieben Tage lang auf der DB-Instance beibehalten werden. Sie können diesen Wert an Ihre Anforderungen anpassen.

   In diesem Beispiel wird `1` in der gespeicherten Prozedur `mysql.rds_group_replication_start` festgelegt, um eine neue Gruppe mit der aktuellen DB-Instance zu initialisieren.

   Weitere Informationen zu den im Beispiel aufgerufenen gespeicherten Prozeduren finden Sie unter [Verwalten von Aktiv/Aktiv-Clustern](mysql-stored-proc-active-active-clusters.md).

## Schritt 6: Starten der Replikation auf den anderen DB-Instances im Aktiv/Aktiv-Cluster
<a name="mysql-active-active-clusters-converting-start-replication-other"></a>

Verwenden Sie für alle DB-Instances im Aktiv/Aktiv-Cluster einen SQL-Client, um eine Verbindung mit der Instance herzustellen, und führen Sie die folgenden gespeicherten Prozeduren aus. *group\$1replication\$1user\$1password*Ersetzen Sie es durch das Passwort für den `rdsgrprepladmin` Benutzer.

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

In diesem Beispiel wird der Wert `binlog retention hours` auf `168` festgelegt, was bedeutet, dass Binärprotokolldateien sieben Tage lang auf der jeweiligen DB-Instance beibehalten werden. Sie können diesen Wert an Ihre Anforderungen anpassen.

In diesem Beispiel wird `0` in der gespeicherten Prozedur `mysql.rds_group_replication_start` festgelegt, um die aktuelle DB-Instance einer vorhandenen Gruppe hinzuzufügen.

**Tipp**  
Achten Sie darauf, dass Sie diese gespeicherten Prozeduren auf allen anderen DB-Instances im Aktiv/Aktiv-Cluster ausführen.

## Schritt 7: Überprüfen des Status des Aktiv/Aktiv-Clusters (empfohlen)
<a name="mysql-active-active-clusters-converting-view"></a>

Um sich zu vergewissern, dass jedes Mitglied des Clusters korrekt konfiguriert ist, überprüfen Sie den Status des Clusters, indem Sie eine Verbindung mit einer DB-Instance im Aktiv/Aktiv-Cluster herstellen und den folgenden SQL-Befehl ausführen:

```
SELECT * FROM performance_schema.replication_group_members;
```

Für die Ausgabe sollte `ONLINE` für `MEMBER_STATE` der jeweiligen DB-Instance wie in der folgenden Beispielausgabe angezeigt werden:

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

Informationen zu den möglichen `MEMBER_STATE`-Werten finden Sie unter [Gruppenreplikations-Serverstatus](https://dev.mysql.com/doc/refman/8.0/en/group-replication-server-states.html) in der MySQL-Dokumentation.