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.
Einrichten eines Aktiv/Aktiv-Clusters mit neuen DB-Instances
Führen Sie die folgenden Schritte aus, um einen Aktiv/Aktiv-Cluster einzurichten, der die neuen DB-Instances von Amazon RDS für MySQL verwendet.
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 angegebenen Voraussetzungen erfüllt sind.
Themen
Schritt 2: Erstellen der neuen DB-Instances von RDS für MySQL für den Aktiv/Aktiv-Cluster
Schritt 3: Festlegen der DB-Instances im Aktiv/Aktiv-Cluster
Schritt 4: Initialisieren der Gruppe für eine DB-Instance und Starten der Replikation
Schritt 5: Starten der Replikation auf den anderen DB-Instances im Aktiv/Aktiv-Cluster
Schritt 6: Überprüfen des Status des Aktiv/Aktiv-Clusters (empfohlen)
Schritt 7: Importieren von Daten in eine DB-Instance im Aktiv/Aktiv-Cluster (optional)
Schritt 1: Festlegen des Parameters für den Aktiv/Aktiv-Cluster in einer oder mehreren benutzerdefinierten Parametergruppen
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.
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 Management Console oder das verwenden AWS CLI , um eine neue benutzerdefinierte Parametergruppe zu erstellen. Weitere Informationen finden Sie unter Erstellen einer DB-Parametergruppe in Amazon RDS. Im folgenden Beispiel wird der create-db-parameter-group AWS CLI Befehl ausgeführt, um eine benutzerdefinierte DB-Parametergruppe mit dem Namen RDS for MySQL 8.0 zu erstellen:myactivepg
Für Linux, macOS oder Unix:
aws rds create-db-parameter-group \ --db-parameter-group-namemyactivepg\ --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-namemyactivepg^ --db-parameter-group-family mysql8.0 ^ --description "Parameter group for active-active clusters"
Sie können auch das AWS Management Console 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.
Im folgenden Beispiel wird der modify-db-parameter-group 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-namemyactivepg\ --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: Erstellen der neuen DB-Instances von RDS für MySQL für den Aktiv/Aktiv-Cluster
Aktiv/Aktiv-Cluster werden für die DB-Instances mit den folgenden Versionen von RDS für MySQL unterstützt:
-
Alle MySQL 8.4-Versionen
-
MySQL Version 8.0.35 und höhere Unterversionen
Sie können bis zu neun neue DB-Instances für den Cluster erstellen.
Sie können das AWS Management Console oder das verwenden AWS CLI , um neue DB-Instances zu erstellen. Weitere Informationen zum Erstellen einer DB-Instance finden Sie unter Erstellen einer Amazon-RDS-DB-Instance. Wenn Sie die DB-Instance erstellen, ordnen Sie sie einer DB-Parametergruppe zu, die Sie im vorherigen Schritt erstellt oder geändert haben.
Schritt 3: Festlegen der DB-Instances im Aktiv/Aktiv-Cluster
Legen Sie den Parameter group_replication_group_seeds in der DB-Parametergruppe, die mit der jeweiligen DB-Instance verknüpft ist, auf die Endpunkte der DB-Instances fest, die Sie in den Cluster aufnehmen möchten.
Sie können das AWS Management Console 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.
Im folgenden Beispiel wird der modify-db-parameter-group AWS CLI Befehl ausgeführt, um die Parameter festzulegen:
Für Linux, macOS oder Unix:
aws rds modify-db-parameter-group \ --db-parameter-group-namemyactivepg\ --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"
Für Windows:
aws rds modify-db-parameter-group ^ --db-parameter-group-namemyactivepg^ --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"
Tipp
Achten Sie darauf, den Parameter group_replication_group_seeds in der jeweiligen DB-Parametergruppe zu ändern, die einer DB-Instance im Aktiv/Aktiv-Cluster zugeordnet ist.
Schritt 4: Initialisieren der Gruppe für eine DB-Instance und Starten der Replikation
Sie können eine beliebige neue DB-Instance auswählen, um die Gruppe zu initialisieren und die Replikation zu starten. Führen Sie dazu die folgenden Schritte aus:
-
Wählen Sie eine DB-Instance im Aktiv/Aktiv-Cluster aus und stellen Sie eine Verbindung mit dieser DB-Instance in einem SQL-Client 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.
-
Führen Sie im SQL-Client die folgenden gespeicherten Prozeduren aus und
group_replication_user_passwordersetzen Sie sie durch das Kennwort für denrdsgrprepladminBenutzer. Der Benutzerrdsgrprepladminist 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 hoursauf168festgelegt, 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
1in der gespeicherten Prozedurmysql.rds_group_replication_startfestgelegt, 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.
Schritt 5: Starten der Replikation auf den anderen DB-Instances im Aktiv/Aktiv-Cluster
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_replication_user_passwordErsetzen 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 6: Überprüfen des Status des Aktiv/Aktiv-Clusters (empfohlen)
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
Schritt 7: Importieren von Daten in eine DB-Instance im Aktiv/Aktiv-Cluster (optional)
Sie können Daten von einer MySQL-Datenbank in eine DB-Instance im Aktiv/Aktiv-Cluster importieren. Nach dem Import der Daten werden sie von der Gruppenreplikation auf die anderen DB-Instances im Cluster repliziert.
Weitere Informationen zum Importieren von Daten finden Sie unter Importieren von Daten in eine Datenbank von Amazon RDS für MySQL mit reduzierter Ausfallzeit.