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.
Verbindung zur Amazon Aurora Global Database herstellen
Jede Aurora Global Database verfügt über einen Writer-Endpunkt, der automatisch von Aurora aktualisiert wird, um Anfragen an die aktuelle Writer-Instance des primären DB-Clusters weiterzuleiten. Mit dem Writer-Endpunkt müssen Sie Ihre Verbindungszeichenfolge nicht ändern, nachdem Sie den Standort der primären Region mithilfe der verwalteten Switchover- und Failover-Funktionen von Aurora Global Database geändert haben. Weitere Informationen zur Verwendung des Writer-Endpunkts zusammen mit Aurora Global Database-Switchover und -Failover finden Sie unter. Verwenden von Switchover oder Failover in Amazon Aurora Global Database Informationen zum Herstellen einer Verbindung zu einer Aurora Global Database mit RDS-Proxy finden Sie unter Verwenden von RDS-Proxy mit globalen Aurora-Datenbanken.
Themen
Wählen Sie den Endpunkt, der Ihren Anwendungsanforderungen entspricht
Die Verbindung zu einer Aurora Global Database hängt davon ab, ob Sie aus der Datenbank lesen oder schreiben müssen, und von der AWS Region, in die Sie Ihre Anfragen weiterleiten möchten. Hier sind ein paar typische Anwendungsfälle:
-
Anfragen an die Writer-Instance weiterleiten: Connect zum Writer-Endpunkt von Aurora Global Database her, wenn Sie Anweisungen in Data Manipulation Language (DML) und Data Definition Language (DDL) ausführen müssen oder wenn Sie eine hohe Konsistenz zwischen Lese- und Schreibvorgängen benötigen. Dieser Endpunkt leitet Anfragen an die Writer-Instance im primären Cluster Ihrer globalen Datenbank weiter. Dieser Endpunkt wird automatisch aktualisiert, um Anfragen an die Writer-Instanz weiterzuleiten, sodass Sie Ihre Anwendung nicht jedes Mal aktualisieren müssen, wenn Sie den Writer-Standort in Ihrem globalen Cluster ändern. Sie können den globalen Endpunkt auch verwenden, um regionsübergreifende read/write Anfragen an Ihren Writer zu senden.
Anmerkung
Wenn Sie Ihre globale Datenbank eingerichtet haben, bevor der Aurora Global Database-Writer-Endpunkt verfügbar war, stellt Ihre Anwendung möglicherweise eine Verbindung zum Cluster-Endpunkt des primären Clusters her. In diesem Fall empfehlen wir, Ihre Verbindungseinstellungen so zu ändern, dass sie stattdessen den globalen Writer-Endpunkt verwenden. Dadurch müssen Sie Ihre Verbindungseinstellungen nicht nach jedem Aurora Global Database-Switchover oder -Failover ändern.
Der erste Teil des Writer-Endpunktnamens ist der Name Ihrer Aurora Global Database. Wenn Sie also Ihre Aurora Global Database umbenennen, ändert sich der Name des Writer-Endpunkts, und jeder Code, der ihn verwendet, muss mit dem neuen Namen aktualisiert werden.
-
Skalierung von Lesevorgängen näher an der Region Ihrer Anwendung: Um Nur-Lese-Anfragen in derselben oder einer nahegelegenen AWS Region wie Ihre Anwendung zu skalieren, stellen Sie eine Verbindung zum Reader-Endpunkt des primären oder sekundären Aurora-Clusters her.
-
Skalierung von Lesevorgängen mit gelegentlichen regionsübergreifenden Schreibvorgängen: Stellen Sie für gelegentliche DML-Anweisungen, z. B. zur Wartung und Datenbereinigung, eine Verbindung zum Reader-Endpunkt eines sekundären Clusters her, für den die Schreibweiterleitung aktiviert ist. Mit der Schreibweiterleitung leitet Aurora die Schreibanweisungen automatisch an den Autor in der primären Region Ihrer Aurora Global Database weiter. Die Weiterleitung von Schreibvorgängen bietet die folgenden Vorteile:
-
Sie müssen sich nicht die Mühe machen, Konnektivität zwischen dem sekundären und dem primären Cluster herzustellen, um regionsübergreifende Schreibvorgänge zu senden.
-
Sie müssen Lese- und Schreibanforderungen in der Anwendung nicht aufteilen.
-
Sie müssen keine komplexe Logik entwickeln, um die Konsistenz von read-after-write Anfragen zu gewährleisten.
Bei der Schreibweiterleitung müssen Sie jedoch Ihren Anwendungscode oder Ihre Konfiguration aktualisieren, um nach einem regionsübergreifenden Failover oder Switchover eine Verbindung zum Leser-Endpunkt der neu hochgestuften primären Region herzustellen. Es wird empfohlen, die Latenz von Vorgängen, die über die Schreibweiterleitung ausgeführt werden, zu überwachen, um den Mehraufwand bei der Verarbeitung der Schreibanforderungen zu überprüfen. Schließlich unterstützt die Schreibweiterleitung bestimmte MySQL- oder PostgreSQL-Operationen nicht, wie z. B. Änderungen oder Anweisungen in der Data Definition Language (DDL).
SELECT FOR UPDATE
Weitere Informationen zur Verwendung der Schreibweiterleitung in verschiedenen AWS Regionen finden Sie unter. Verwenden der Schreibweiterleitung in einer Amazon Aurora globalen Datenbank
-
Einzelheiten zu den verschiedenen Arten von Aurora-Endpunkten finden Sie unterHerstellen einer Verbindung mit einem Amazon Aurora-DB-Cluster.
Endpunkte einer globalen Amazon Aurora Aurora-Datenbank anzeigen
Wenn Sie sich eine Aurora Global Database in der Konsole ansehen, können Sie alle Endpunkte sehen, die mit all ihren Clustern verknüpft sind. Die folgende Abbildung zeigt ein Beispiel für die Arten von Endpunkten, die Sie sehen, wenn Sie sich die Details für Ihren primären DB-Cluster ansehen:
-
Globaler Writer — Der einzelne read/write Endpunkt, der immer auf die aktuelle Writer-DB-Instance für den globalen Datenbankcluster verweist.
-
Writer — Der Verbindungsendpunkt für read/write Anfragen an den primären DB-Cluster im globalen Datenbankcluster.
-
Reader — Der Verbindungsendpunkt für schreibgeschützte Anfragen an einen primären oder sekundären DB-Cluster im globalen Datenbankcluster. Um die Latenz zu minimieren, wählen Sie den Reader-Endpunkt aus, der sich in Ihrem AWS-Region oder dem Ihnen AWS-Region am nächsten befindet.

Um die Endpunkte einer globalen Datenbank anzuzeigen
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/
. -
Wählen Sie im Navigationsbereich Datenbanken aus.
-
Wählen Sie in der Liste die globale Datenbank oder den primären oder sekundären DB-Cluster aus, dessen Endpunkte Sie anzeigen möchten.
-
Wählen Sie die Registerkarte Konnektivität und Sicherheit, um die Endpunktdetails anzuzeigen. Die angezeigten Endpunkte hängen wie folgt vom ausgewählten Clustertyp ab:
-
Globale Datenbank — Der globale Writer-Endpunkt.
-
Primärer DB-Cluster — Der globale Writer-Endpunkt sowie der Cluster-Endpunkt und der Reader-Endpunkt für den primären Cluster.
-
Sekundärer DB-Cluster — Der Cluster-Endpunkt und der Reader-Endpunkt für den sekundären Cluster. Auf einem sekundären Cluster zeigt der Cluster-Endpunkt den Status inaktiv an, da er keine Schreibanforderungen bearbeitet. Sie können immer noch eine Verbindung zum Cluster-Endpunkt herstellen, jedoch nur für Leseabfragen.
-
Verwenden Sie den AWS CLI describe-global-clustersBefehl, um den Writer-Endpunkt des globalen Clusters anzuzeigen, wie im folgenden Beispiel gezeigt.
aws rds describe-global-clusters --region
aws_region
{ "GlobalClusters": [ { "GlobalClusterIdentifier": "global_cluster_id
", "GlobalClusterResourceId": "cluster-unique_string
", "GlobalClusterArn": "arn:aws:rds::123456789012:global-cluster:global_cluster_id
", "Status": "available", "Engine": "aurora-mysql", "EngineVersion": "5.7.mysql_aurora.2.11.2", "GlobalClusterMembers": [ ... ], "Endpoint": "global_cluster_id
.global-unique_string
.global.rds.amazonaws.com" } ] }
Verwenden Sie den AWS CLI
describe-db-clustersBefehl, um die Cluster- und Reader-Endpunkte für Mitglieds-DB-Cluster des globalen Clusters anzuzeigen, wie im folgenden Beispiel gezeigt. Bei Endpoint
den zurückgegebenen Werten ReaderEndpoint
handelt es sich um die Cluster- bzw. Reader-Endpunkte.
aws rds describe-db-clusters --region
primary_region
--db-cluster-identifierdb_cluster_id
{ "DBClusters": [ { "AllocatedStorage": 1, "AvailabilityZones": [ "az_1
", "az_2
", "az_3
" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "db_cluster_id
", "DBClusterParameterGroup": "default.aurora-mysql5.7", "DBSubnetGroup": "default", "Status": "available", "EarliestRestorableTime": "2023-08-01T18:21:11.301Z", "Endpoint": "db_cluster_id
.cluster-unique_string
.primary_region
.rds.amazonaws.com", "ReaderEndpoint": "db_cluster_id
.cluster-ro-unique_string
.primary_region
.rds.amazonaws.com", "MultiAZ": false, "Engine": "aurora-mysql", "EngineVersion": "5.7.mysql_aurora.2.11.2", "ReadReplicaIdentifiers": [ "arn:aws:rds:secondary_region
:123456789012:cluster:db_cluster_id
" ], "DBClusterMembers": [ { "DBInstanceIdentifier": "db_instance_id
", "IsClusterWriter": true, "DBClusterParameterGroupStatus": "in-sync", "PromotionTier": 1 } ], ... "TagList": [], "GlobalWriteForwardingRequested": false } ] }
Verwenden Sie den DescribeGlobalClustersRDS-API-Vorgang, um den Writer-Endpunkt des globalen Clusters anzuzeigen. Verwenden Sie die DBClusters RDS-API-Operation Describe, um die Cluster- und Reader-Endpunkte für Mitglieds-DB-Cluster des globalen Clusters anzuzeigen.
Überlegungen zur Verwendung von Global Writer-Endpunkten
Sie können die Aurora Global Database Writer-Endpunkte effektiv nutzen, indem Sie die folgenden Richtlinien und bewährten Methoden befolgen:
-
Um Unterbrechungen nach einem regionsübergreifenden Failover oder Switchover zu minimieren, können Sie VPC-Konnektivität zwischen Ihrem Anwendungscomputer und Ihren primären und sekundären Regionen einrichten. AWS Nehmen wir beispielsweise an, Sie haben Anwendungen oder Clientsysteme, die in derselben VPC wie der primäre Cluster ausgeführt werden. Wenn der sekundäre Cluster heraufgestuft wird, ändert sich der globale Writer-Endpunkt automatisch so, dass er auf diesen Cluster verweist. Mit dem globalen Writer-Endpunkt können Sie zwar vermeiden, die Verbindungseinstellungen für Ihre Anwendung zu ändern, Ihre Anwendungen können jedoch erst dann auf die IP-Adressen in der VPC der neu beworbenen primären AWS Region zugreifen, wenn Sie ein Netzwerk zwischen den beiden VPCs eingerichtet haben. Unter Amazon VPC-to-Amazon VPC-Konnektivitätsoptionen finden Sie Informationen zu den verschiedenen Optionen für die Einrichtung dieser Konnektivität.
-
Das globale Writer-Endpunkt-Update nach einem globalen Datenbank-Failover oder -Switchover kann je nach Cachingdauer Ihres Domain Name Service (DNS) lange dauern. Weitere Informationen finden Sie im Amazon Aurora MySQL Database Administrator's Handbook. Aurora Global Database gibt ein RDS-Ereignis aus, wenn sie die DNS-Änderung auf dem globalen Writer-Endpunkt feststellt. Sie können das Ereignis verwenden, um Strategien zu entwickeln, um sicherzustellen, dass der DNS-Cache nicht über die Zeit nach der Generierung des Ereignisses hinausgeht. Weitere Informationen finden Sie unter DB-Cluster-Ereignisse.
-
Aurora Global Database repliziert Daten asynchron. Die regionsübergreifenden Failover-Methoden können dazu führen, dass einige Schreibtransaktionsdaten nicht auf die gewählte Sekundärseite repliziert wurden, bevor der Failover initiiert wurde. Obwohl Aurora nach besten Kräften versucht, Schreibvorgänge in der ursprünglichen primären AWS Region zu blockieren, kann ein Failover anfällig für Split-Brain-Probleme sein. Die Überlegungen zur Minimierung von Datenverlusten und Split-Brain-Risiken gelten auch für Aurora Global Database-Writer-Endgeräte. Weitere Informationen finden Sie unter Ausführen von verwalteten geplanten Failovers für globale Aurora-Datenbanken.