Wie erstelle ich ein Lesereplikat für eine Amazon Aurora MySQL DB Instance?

Lesedauer: 6 Minute
0

Ich habe einen Amazon Aurora MySQL Cluster. Ich möchte entweder ein regionsinternes oder regionsübergreifendes Lesereplikat erstellen oder Regionen für meinen Aurora DB Cluster hinzufügen. Wie kann ich das machen?

Kurzbeschreibung

Aurora Replicas erhöhen die Rechenkapazität in Ihrem Aurora MySQL DB Cluster. Sie helfen bei der Verteilung der Leselast (Leseskalierung) innerhalb der Region und dienen auch als Failover-Ziele. Das bedeutet, dass bei einem Ausfall Ihrer primären DB Instance ein Aurora-Replikat zur primären Instance heraufgestuft wird.

Ein regionsübergreifendes Lesereplikat verwendet die MySQL-Binärprotokollierung, um Ihre Daten auf einen Cluster in einer anderen Region zu replizieren. Auf diese Weise können Sie Lesevorgänge auf eine sekundäre Region skalieren, die Ihren Benutzern näher ist. Dies trägt zur Verbesserung der Notfallwiederherstellungs-Funktionen bei. Es erleichtert auch die Migration von einer AWS-Region zur anderen.

Die globalen Datenbanken von Amazon Aurora können sich über mehrere AWS-Regionen erstrecken. Sie ermöglichen globale Lesevorgänge mit niedriger Latenz und ermöglichen die Wiederherstellung nach seltenen Ausfällen, die eine gesamte AWS-Region betreffen könnten. Aurora repliziert Daten mithilfe seines eigenen Replikationsprotokolls und seiner eigenen Infrastruktur in die sekundären AWS-Regionen, was zu Latenzen führt, die in der Regel unter einer Sekunde liegen.

Gehen Sie wie folgt vor, um entweder ein regionsinternes oder regionsübergreifendes Lesereplikat zu erstellen, oder fügen Sie Ihrem Aurora MySQL DB Cluster eine neue Region hinzu.

Zusätzlich zur von Aurora verwalteten Binärprotokollierung können Sie Ihre eigene Replikationsumgebung für die binäre Protokollierung einrichten und verwalten. In dieser Umgebung kann Aurora die Quelle oder das Ziel sein.

Hinweis: Diese Schritte gelten nicht für Aurora-Serverless- oder Aurora-Multimaster-Cluster.

Behebung

Hinweis: Wenn beim Ausführen von AWS Command Line Interface (AWS CLI) Befehlen Fehler auftreten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Erstellen Sie ein regionsinternes Lesereplikat für einen Aurora MySQL Cluster

Mit der Amazon RDS-Konsole

1.Öffnen Sie die Amazon-RDS-Konsole ** ** und wählen Sie im Navigationsbereich Datenbanken aus.

2.Wählen Sie den DB Cluster aus, zu dem Sie die neue DB Instance hinzufügen möchten.

3.Wählen Sie im Abschnitt Aktionen die Option Leser hinzufügen aus.

4.Passen Sie auf der Seite Leser hinzufügen die Optionen für Ihr Aurora-Replikat an.

5.Wählen Sie Leser hinzufügen, um das Replikat zu erstellen.

**Mit dem AWS CLI **

Führen Sie den Befehl create-db-instance aus, um mithilfe des AWS CLI ein Aurora-Replikat in Ihrem DB Cluster zu erstellen. Geben Sie den Namen des DB Clusters mit der Option --db-cluster-identifier ein. Sie können mithilfe des Parameters availability-zone auch eine Availability Zone (AZ) für das Aurora-Replikat angeben.

Dieser Beispielbefehl erstellt ein Lesereplikat für Aurora MySQL (dieselbe Region und kompatibel mit Aurora MySQL 5.7 und Aurora MySQL 8.0).

Linux, macOS oder Unix:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a \
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large \
    --availability-zone us-west-2a

Windows:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a ^
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large ^
    --availability-zone us-west-2a

Hinweis: Wenn Sie ein Lesereplikat für einen Aurora MySQL 5.6-kompatiblen Cluster erstellen möchten, ändern Sie den Parameter --engine in diesem Befehl in --engine aurora.

Erstellen Sie ein regionsübergreifendes Lesereplikat für einen Aurora MySQL Cluster

Bevor Sie ein regionsübergreifendes Lesereplikat erstellen können, müssen Sie die Binärprotokollierung für Ihren Aurora-MySQL-DB-Quellcluster aktivieren. Die regionsübergreifende Replikation verwendet die MySQL-Binärreplikation, um Änderungen auf dem regionsübergreifenden Lesereplikat-Cluster wiederzugeben. Erstellen Sie dann mithilfe der Amazon-RDS-Konsole oder der AWS CLI einen regionsübergreifenden Cluster.

Hinweis: Sie können kein verschlüsseltes Aurora-Replikat für einen unverschlüsselten Aurora DB Cluster erstellen. Sie können kein unverschlüsseltes Aurora-Replikat für einen verschlüsselten Aurora DB Cluster erstellen.

Aktivieren Sie die Binärprotokollierung für Ihren DB Cluster

1.Aktualisieren Sie den Parameter binlog_format für Ihren Quell-DB-Cluster. Dies ist ein Parameter auf Clusterebene, der sich in der Standard-Clusterparametergruppe befindet.

2.Wenn Ihr DB-Cluster die Standard-DB-Cluster-Parametergruppe verwendet, erstellen Sie eine neue DB-Cluster-Parametergruppe, um die Einstellungen von binlog_format zu ändern. Es hat sich bewährt, das binlog_format auf MIXED zu setzen. Sie können binlog_format auch auf ROW oder STATEMENT setzen, wenn Sie ein bestimmtes Binlog-Format benötigen.

3.Starten Sie Ihren Aurora DB Cluster neu, damit die Änderungen wirksam werden.

Erstellen Sie mithilfe der Amazon-RDS-Konsole einen regionsübergreifenden Cluster

1.Öffnen Sie die Amazon-RDS-Konsole und wählen Sie dann die AWS-Region aus, die Ihren Quell-DB-Cluster hostet.

2.Wählen Sie im Navigationsbereich Instances aus.

3.Markieren Sie das Kontrollkästchen für die DB Instance, für die Sie ein regionsübergreifendes Lesereplikat erstellen möchten.

4.Wählen Sie unter Aktionen die Option Regionsübergreifendes Lesereplikat erstellen aus.

5.Wählen Sie auf der Seite Regionsübergreifendes Lesereplikat erstellen die Optionseinstellungen für Ihren regionsübergreifenden Lesereplikat-DB-Cluster aus.

Erstellen Sie mithilfe des AWS CLI einen regionsübergreifenden Cluster

Um mit dem AWS CLI einen regionsübergreifenden Cluster zu erstellen, erstellen Sie zunächst den Cluster selbst in der Zielregion mit dem Aufruf create-db-cluster. Verwenden Sie dann den Aufruf create-db-instance, um die Leser-Instance zu erstellen.

In diesem Beispiel wird ein regionsübergreifendes Replikat unter Linux, macOS oder Unix erstellt und es ist mit Aurora MySQL 5.7 und Aurora MySQL 8.0 kompatibel.

1.Erstellen Sie den Cluster, indem Sie einen Befehl ausführen, der dem folgenden ähnelt:

aws rds create-db-cluster \
  --db-cluster-identifier sample-replica-cluster \
  --engine aurora-mysql \
  --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-source-cluster

2.Überprüfen Sie, ob der Cluster verfügbar ist:

aws rds describe-db-clusters --db-cluster-identifier sample-replica-cluster

3.Erstellen Sie die Instance im Cluster:

aws rds create-db-instance \
  --db-cluster-identifier sample-replica-cluster \
  --db-instance-class db.r6g.large \
  --db-instance-identifier sample-replica-instance \
  --engine aurora-mysql

Um dasselbe mithilfe der CLI unter Windows zu erstellen, verwenden Sie dieselben Schritte, verwenden Sie jedoch das ^-Symbol als Zeilentrennzeichen anstelle von **\ **.

Fügen Sie einem von Aurora bereitgestellten Cluster eine AWS-Region hinzu, um eine Aurora Global Database zu erstellen

Mit der Amazon RDS-Konsole

  1. Öffnen Sie die Amazon RDS-Konsole.

  2. Wählen Sie im Navigationsbereich Datenbanken aus.

  3. Wählen Sie die globale Aurora-Datenbank, die einen sekundären Aurora DB Cluster benötigt. Stellen Sie sicher, dass der primäre Aurora DB Cluster den Status Verfügbar hat.

  4. Wählen Sie unter Aktionen die Option Region hinzufügen aus.

  5. Wählen Sie die AWS-Region aus, die Sie hinzufügen möchten.

**Hinweis: **Sie können keine AWS-Region auswählen, die bereits über einen sekundären Aurora DB Cluster für dieselbe globale Aurora-Datenbank verfügt. Darüber hinaus können Sie nicht dieselbe AWS-Region wie die Region des primären Aurora DB Clusters auswählen.

  1. Füllen Sie die verbleibenden Felder für den sekundären Aurora Cluster in der neuen AWS-Region aus. Wählen Sie dann Region hinzufügen aus.

**Mit dem AWS CLI **

Führen Sie das folgende Skript auf dem AWS CLI aus.

Hinweis: Wenn Sie Windows verwenden, ersetzen Sie das -Zeilentrennzeichen durch das ^-Symbol.

aws rds --region us-east-2 \
  create-db-cluster \
    --db-cluster-identifier secondary_cluster_id \
    --global-cluster-identifier global_database_id \
    --engine aurora-mysql \
    --engine-version version

aws rds --region us-east-2 \
  create-db-instance \
    --db-instance-class db.r6g.large \
    --db-cluster-identifier secondary_cluster_id \
    --db-instance-identifier db_instance_id \
    --engine aurora-mysql

Weitere Informationen

Hinzufügen von Aurora-Replikaten zu einem DB Cluster

Replikation von Amazon Aurora MySQL DB Clustern in allen AWS-Regionen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren