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.
Einrichtung eines Active-Active-Clusters mit neuen DB-Instances
Gehen Sie wie folgt vor, um einen Active-Active-Cluster mit neuen Amazon RDS for My SQL DB-Instances einzurichten.
Wenn Sie einen Active-Active-Cluster mit DB-Instances in mehr als einer einrichten, stellen Sie sicherVPC, dass Sie die Voraussetzungen unter erfüllen. Vorbereitung auf einen VPC aktivenübergreifenden aktiven Cluster
Themen
- Schritt 1: Legen Sie die Active-Active-Cluster-Parameter in einer oder mehreren benutzerdefinierten Parametergruppen fest
- Schritt 2: Erstellen Sie neue Instances RDS für My SQL DB für den Active-Active-Cluster
- Schritt 3: Geben Sie die DB-Instances im Active-Active-Cluster an
- Schritt 4: Initialisieren Sie die Gruppe auf einer DB-Instance und starten Sie die Replikation
- Schritt 5: Starten Sie die Replikation auf den anderen DB-Instances im Active-Active-Cluster
- Schritt 6: (Empfohlen) Überprüfen Sie den Status des Active-Active-Clusters
- Schritt 7: (Optional) Importieren Sie Daten in eine DB-Instance im Active-Active-Cluster
Schritt 1: Legen Sie die Active-Active-Cluster-Parameter in einer oder mehreren benutzerdefinierten Parametergruppen fest
Die RDS for My SQL DB-Instances in einem Active-Active-Cluster müssen einer benutzerdefinierten Parametergruppe zugeordnet werden, die die richtigen Einstellungen für die erforderlichen Parameter hat. Informationen zu den Parametern und den jeweils erforderlichen Einstellungen finden Sie unter. Erforderliche Parametereinstellungen für Active-Active-Cluster
Sie können diese Parameter in neuen Parametergruppen oder in vorhandenen Parametergruppen festlegen. Um jedoch zu verhindern, dass versehentlich DB-Instances beeinträchtigt werden, die nicht Teil des Active-Active-Clusters sind, empfehlen wir dringend, eine neue benutzerdefinierte Parametergruppe zu erstellen. Die DB-Instances in einem aktiv-aktiven Cluster können derselben DB-Parametergruppe oder unterschiedlichen DB-Parametergruppen zugeordnet werden.
Sie können das AWS Management Console oder 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 zu erstellen
:myactivepg
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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
"
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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 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 festzulegen:
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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"
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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 Sie neue Instances RDS für My SQL DB für den Active-Active-Cluster
Active-Active-Cluster werden für Version 8.0.35 und höher für My DB-Instances unterstützt. RDS SQL 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 Eine Amazon RDS DB-Instance erstellen. 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: Geben Sie die DB-Instances im Active-Active-Cluster an
Legen Sie in der DB-Parametergruppe, die jeder DB-Instance zugeordnet ist, den group_replication_group_seeds
Parameter 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 gesetzt 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:
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306
',ApplyMethod=immediate"
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. 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"
Tipp
Stellen Sie sicher, dass Sie den group_replication_group_seeds
Parameter in jeder DB-Parametergruppe festlegen, die einer DB-Instance im Active-Active-Cluster zugeordnet ist.
Schritt 4: Initialisieren Sie die Gruppe auf einer DB-Instance und starten Sie die Replikation
Sie können eine beliebige neue Datenbank 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 Active-Active-Cluster aus und stellen Sie eine Verbindung zu dieser DB-Instance auf einem Client her. SQL Weitere Informationen zum Herstellen einer Verbindung zu einer RDS For My SQL DB-Instance finden Sie unter. Verbindung zu einer DB-Instance herstellen, auf der die My SQL Database-Engine ausgeführt wird
-
Führen Sie auf dem SQL Client die folgenden gespeicherten Prozeduren aus und ersetzen Sie
group_replication_user_password
mit dem Passwort für denrdsgrprepladmin
Benutzer. Derrdsgrprepladmin
Benutzer ist für Gruppenreplikationsverbindungen in einem Active-Active-Cluster reserviert. Das Passwort für diesen Benutzer muss auf allen DB-Instances in einem Active-Active-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
binlog retention hours
Wert auf festgelegt168
, was bedeutet, dass binäre Protokolldateien sieben Tage lang auf der DB-Instance aufbewahrt werden. Sie können diesen Wert an Ihre Anforderungen anpassen.In diesem Beispiel wird
1
in dermysql.rds_group_replication_start
gespeicherten Prozedur angegeben, dass eine neue Gruppe mit der aktuellen DB-Instance initialisiert werden soll.Weitere Hinweise zu den im Beispiel aufgerufenen gespeicherten Prozeduren finden Sie unterVerwalten von Aktiv-Aktiv-Clustern.
Schritt 5: Starten Sie die Replikation auf den anderen DB-Instances im Active-Active-Cluster
Verwenden Sie für jede DB-Instance im Active-Active-Cluster einen SQL Client, um eine Verbindung mit der Instance herzustellen, und führen Sie die folgenden gespeicherten Prozeduren aus. Ersetzen group_replication_user_password
mit dem 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 binlog retention hours
Wert auf festgelegt168
, was bedeutet, dass binäre Protokolldateien auf jeder DB-Instance sieben Tage lang aufbewahrt werden. Sie können diesen Wert an Ihre Anforderungen anpassen.
In diesem Beispiel wird 0
in der mysql.rds_group_replication_start
gespeicherten Prozedur angegeben, dass die aktuelle DB-Instance einer vorhandenen Gruppe hinzugefügt werden soll.
Tipp
Stellen Sie sicher, dass Sie diese gespeicherten Prozeduren auf allen anderen DB-Instances im Active-Active-Cluster ausführen.
Schritt 6: (Empfohlen) Überprüfen Sie den Status des Active-Active-Clusters
Um sicherzustellen, dass jedes Mitglied des Clusters korrekt konfiguriert ist, überprüfen Sie den Status des Clusters, indem Sie eine Verbindung zu einer DB-Instance im Active-Active-Cluster herstellen und den folgenden Befehl ausführen: SQL
SELECT * FROM performance_schema.replication_group_members;
Ihre Ausgabe sollte ONLINE
für jede DB-Instance wie in MEMBER_STATE
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: (Optional) Importieren Sie Daten in eine DB-Instance im Active-Active-Cluster
Sie können Daten aus einer My SQL Database in eine DB-Instance im Active-Active-Cluster importieren. Nachdem die Daten importiert wurden, repliziert die Gruppenreplikation sie auf die anderen DB-Instances im Cluster.
Hinweise zum Importieren von Daten finden Sie unterImportieren von Daten in eine Amazon-RDS-MariaDB- oder MySQL-Datenbank mit reduzierter Ausfallzeit.