View a markdown version of this page

Minimierung von Ausfallzeiten ElastiCache durch die Verwendung Multi-AZ mit Valkey und Redis OSS - Amazon ElastiCache

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.

Minimierung von Ausfallzeiten ElastiCache durch die Verwendung Multi-AZ mit Valkey und Redis OSS

Es gibt eine Reihe von Fällen, in denen OSS ElastiCache für Valkey und Redis möglicherweise einen Primärknoten austauschen muss. Dazu gehören bestimmte Arten von geplanten Wartungsarbeiten und der unwahrscheinliche Fall eines Ausfalls eines Primärknotens oder einer Availability Zone.

Dieser Austausch führt zu einigen Ausfallzeiten für den Cluster, aber wenn er aktiviert Multi-AZ ist, werden die Ausfallzeiten minimiert. Die Rolle des primären Knotens wird automatisch auf eines der Read Replicas übertragen. Es ist nicht erforderlich, einen neuen Primärknoten zu erstellen und bereitzustellen, da dies transparent ElastiCache gehandhabt wird. Dieser Failover und die Replikatheraufstufung stellen sicher, dass Sie weiter in den neuen primären Knoten schreiben können, sobald die Heraufstufung abgeschlossen wurde.

ElastiCache verbreitet auch den DNS-Namen (Domain Name Service) des beworbenen Replikats. Auf diese Weise ist in Ihrer Anwendung, falls sie in den primären Endpunkt schreibt, keine Endpunktänderung erforderlich. Wenn Sie aus individuellen Endpunkten lesen, müssen Sie den Leseendpunkt des zum primären Knoten heraufgestuften Replikats in den Endpunkt des neuen Replikats ändern.

Im Falle eines geplanten Knotenaustauschs, der aufgrund von Wartungs- oder Self-Service-Aktualisierungen eingeleitet wird, beachten Sie Folgendes:

  • Bei Valkey- und Redis OSS-Clustern werden die geplanten Knotenersetzungen abgeschlossen, während der Cluster eingehende Schreibanforderungen bearbeitet.

  • Bei Multi-AZ deaktivierten Clustern im Valkey- und Redis OSS-Clustermodus, die auf der Engine 5.0.6 oder höher ausgeführt werden, werden die geplanten Knotenersetzungen abgeschlossen, während der Cluster eingehende Schreibanforderungen bearbeitet.

  • Bei Multi-AZ deaktivierten Clustern im Valkey- und Redis OSS-Clustermodus, die auf der Engine 4.0.10 oder früher ausgeführt werden, stellen Sie möglicherweise eine kurze Schreibunterbrechung im Zusammenhang mit DNS-Updates fest. Diese Unterbrechung kann bis zu einigen Sekunden dauern. Dieser Vorgang ist viel schneller als das Neuerstellen und Bereitstellen eines neuen Primärservers, was der Fall ist, wenn Sie ihn nicht aktivieren. Multi-AZ

Sie können die Aktivierung Multi-AZ über die ElastiCache Management Console AWS CLI, die oder die ElastiCache API durchführen.

Die Aktivierung ElastiCache Multi-AZ auf Ihrem Valkey- oder Redis-OSS-Cluster (in der API und CLI, Replikationsgruppe) verbessert Ihre Fehlertoleranz. Dies gilt insbesondere in Fällen, in denen der read/write primäre Cluster Ihres Clusters nicht mehr erreichbar ist oder aus irgendeinem Grund ausfällt. Multi-AZ wird nur auf Valkey- und Redis OSS-Clustern mit mehr als einem Knoten in jedem Shard unterstützt.

Aktivieren Multi-AZ

Sie können es aktivieren Multi-AZ , wenn Sie einen Cluster (API oder CLI, Replikationsgruppe) mithilfe der ElastiCache Konsole oder der ElastiCache API erstellen oder ändern. AWS CLI

Sie können die Aktivierung Multi-AZ nur auf Valkey- oder Redis OSS-Clustern (Clustermodus deaktiviert) durchführen, für die mindestens eine Read Replica verfügbar ist. Cluster ohne Read Replicas bieten keine hohe Verfügbarkeit oder Fehlertoleranz. Weitere Informationen zum Erstellen eines Clusters mit Replikation finden Sie unter Erstellen einer Valkey- oder Redis OSS-Replikationsgruppe. Weitere Informationen zum Hinzufügen einer Read Replica zu einem Cluster mit Replikation finden Sie unter Hinzufügen einer Read Replica für Valkey oder Redis OSS (Cluster-Modus deaktiviert).

Aktivierung Multi-AZ (Konsole)

Sie können die Aktivierung Multi-AZ mithilfe der ElastiCache Konsole aktivieren, wenn Sie einen neuen Valkey- oder Redis OSS-Cluster erstellen oder indem Sie einen vorhandenen Cluster mit Replikation ändern.

Multi-AZ ist standardmäßig auf Valkey- oder Redis OSS-Clustern (Clustermodus aktiviert) aktiviert.

Wichtig

ElastiCache wird Multi-AZ nur dann automatisch aktiviert, wenn der Cluster in allen Shards mindestens ein Replikat in einer anderen Availability Zone als der primären enthält.

Multi-AZ Wird aktiviert, wenn ein Cluster mithilfe der Konsole erstellt wird ElastiCache

Weitere Informationen zu diesem Vorgang finden Sie unter Erstellen eines Valkey-Clusters (Cluster-Modus deaktiviert) (Konsole). Stellen Sie sicher, dass Sie über ein oder mehrere Replikate verfügen, und aktivieren Sie sie Multi-AZ.

Aktivierung Multi-AZ auf einem vorhandenen Cluster (Konsole)

Weitere Informationen zu diesem Prozess finden Sie unter „Ändern eines Clusters“ Unter Verwendung der ElastiCache AWS-Managementkonsole.

Aktivieren Multi-AZ (AWS CLI)

Im folgenden Codebeispiel wird der AWS CLI zur Aktivierung Multi-AZ für die Replikationsgruppe verwendetredis12.

Wichtig

Die Replikationsgruppe redis12 muss bereits vorhanden sein und mindestens eine verfügbare Read Replica besitzen.

Für Linux, macOS oder Unix:

aws elasticache modify-replication-group \ --replication-group-id redis12 \ --automatic-failover-enabled \ --multi-az-enabled \ --apply-immediately

Für Windows:

aws elasticache modify-replication-group ^ --replication-group-id redis12 ^ --automatic-failover-enabled ^ --multi-az-enabled ^ --apply-immediately

Die JSON-Ausgabe dieses Befehls sollte in etwa folgendermaßen aus.

{ "ReplicationGroup": { "Status": "modifying", "Description": "One shard, two nodes", "NodeGroups": [ { "Status": "modifying", "NodeGroupMembers": [ { "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "redis12-001.v5r9dc.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "redis12-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "redis12-002.v5r9dc.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "redis12-002" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "redis12.v5r9dc.ng.0001.usw2.cache.amazonaws.com" } } ], "ReplicationGroupId": "redis12", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabling", "MultiAZ": "enabled", "SnapshotWindow": "07:00-08:00", "SnapshottingClusterId": "redis12-002", "MemberClusters": [ "redis12-001", "redis12-002" ], "PendingModifiedValues": {} } }

Weitere Informationen zu diesen Themen finden Sie in der AWS CLI -Befehlsreferenz:

Aktivierung Multi-AZ (ElastiCache API)

Das folgende Codebeispiel verwendet die ElastiCache API zur Aktivierung Multi-AZ für die Replikationsgrupperedis12.

Anmerkung

Zur Verwendung dieses Beispiels muss die Replikationsgruppe redis12 bereits vorhanden sein und mindestens ein verfügbares Lesereplikat besitzen.

https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &AutoFailover=true &MultiAZEnabled=true &ReplicationGroupId=redis12 &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20140401T192317Z &X-Amz-Credential=<credential>

Weitere Informationen zu diesen Themen finden Sie in der ElastiCache -API-Befehlsreferenz:

Ausfallszenarien mit Multi-AZ Antworten

Vor der Einführung wurden die ausgefallenen Knoten eines Clusters ElastiCache erkannt und ersetzt Multi-AZ, indem der ausgefallene Knoten neu erstellt und neu bereitgestellt wurde. Wenn Sie diese Option aktivieren Multi-AZ, erfolgt ein Failover eines ausgefallenen Primärknotens auf das Replikat mit der geringsten Replikationsverzögerung. Das ausgewählte Replikat wird automatisch zum primären Knoten heraufgestuft. Dies ist sehr viel schneller, als einen neuen primären Knoten zu erstellen und neu bereitzustellen. Bei diesem Vorgang dauert gewöhnlich nur wenige Sekunden, bis Sie wieder in den Cluster schreiben können.

Wenn aktiviert, Multi-AZ wird der Status des Primärknotens ElastiCache kontinuierlich überwacht. Sollte der primäre Knoten ausfallen, wird abhängig von der Art des Ausfalls eine der folgenden Aktionen durchgeführt.

Fehlerszenarien, wenn nur der Primärknoten ausfällt

Wenn nur der primäre Knoten ausfällt, wird das Read Replica mit der geringsten Replikationsverzögerung wird zum primären Cluster heraufgestuft. Ein Ersatz-Read Replica wird dann in derselben Availability Zone wie der ausgefallene primäre Knoten erstellt und bereitgestellt .

Wenn nur der Primärknoten ElastiCache Multi-AZ ausfällt, wird Folgendes ausgeführt:

  1. Der ausgefallene primäre Knoten wird in den Offline-Zustand versetzt.

  2. Die Read Replica mit der geringsten Replikationsverzögerung wird zum primären Knoten heraufgestuft.

    Die Schreibvorgänge können fortgesetzt werden, sobald der Vorgang der Heraufstufung abgeschlossen ist. Dies dauert in der Regel nur einige Sekunden. Wenn Ihre Anwendung auf den primären Endpunkt schreibt, ist keine Endpunktänderung für Schreib- oder Lesevorgänge Vorgänge erforderlich, da ElastiCache den DNS-Namen des heraufgestuften Replikats überträgt.

  3. Ein Ersatz-Read Replica wird gestartet und bereitgestellt.

    Die Ersatz-Read Replica wird in der Availability Zone gestartet, in der sich der ausgefallene Knoten befand. Die Verteilung der Knoten bleibt daher erhalten.

  4. Die anderen Replikate werden mit dem neuen primären Knoten synchronisiert.

Nachdem das neue Replikat verfügbar ist, beachten Sie die folgenden Effekte:

  • Primärer Endpunkt – Sie müssen keine Änderungen an Ihrer Anwendung vornehmen, da der DNS-Name des neuen primären Knotens an den primären Endpunkt weitergegeben wird.

  • Lese-Endpunkt – Der Lese-Endpunkt wird automatisch aktualisiert, sodass er auf die neuen Replikatknoten verweist.

Weitere Informationen zum Suchen der Endpunkte eines Clusters finden Sie in den folgenden Themen:

 

Fehlerszenarien, wenn der Primärknoten und einige Read Replicas (Lesereplikate) fehlschlagen

Bei Ausfall des primären Clusters und mindestens einer Read Replica wird das verfügbare Replikat mit der geringsten Replikationsverzögerung zum primären Cluster heraufgestuft. Zudem werden in denselben Availability Zones, in der sich die ausgefallenen Knoten und das zum primären Cluster heraufgestufte Replikat befanden, neue Read Replicas erstellt und bereitgestellt.

Wenn der Primärknoten und einige Read Replicas ausfallen, ElastiCache Multi-AZ geschieht Folgendes:

  1. Der ausgefallene primäre Knoten und ausgefallenen die Read Replicas werden in den Offline-Zustand versetzt.

  2. Das verfügbare Replikat mit der geringsten Replikationsverzögerung wird zum primären Knoten heraufgestuft.

    Die Schreibvorgänge können fortgesetzt werden, sobald der Vorgang der Heraufstufung abgeschlossen ist. Dies dauert in der Regel nur einige Sekunden. Wenn Ihre Anwendung auf den primären Endpunkt schreibt, müssen Sie den Endpunkt für Schreibvorgänge nicht ändern. ElastiCache verbreitet den DNS-Namen des beworbenen Replikats.

  3. Ersatzreplikate werden erstellt und bereitgestellt.

    Die Ersatzreplikate werden in den Availability Zones der ausgefallenen Knoten erstellt, sodass die Verteilung der Knoten erhalten bleibt.

  4. Alle Cluster werden mit dem neuen primären Knoten synchronisiert.

Nehmen Sie die folgenden Änderungen an Ihrer Anwendung vor, wenn die neuen Knoten verfügbar sind:

  • Primärer Endpunkt – Nehmen Sie keine Änderungen an Ihrer Anwendung vor. Der DNS-Name des neuen Primärknotens wird an den primären Endpunkt weitergegeben.

  • Lese-Endpunkt – Der Lese-Endpunkt wird automatisch so aktualisiert, dass er auf die neuen Replikatknoten verweist.

 

Fehlerszenarien, wenn der gesamte Cluster ausfällt

Bei einem umfassenden Ausfall werden in denselben Availability Zones, der sich die Originalknoten befanden, alle Knoten neu erstellt und bereitgestellt.

In diesem Szenario gehen alle Daten im Cluster aufgrund des Ausfalls eines jeden Knotens im Cluster verloren. Ein solches Ereignis ist selten.

Wenn der gesamte Cluster ElastiCache Multi-AZ ausfällt, wird wie folgt vorgegangen:

  1. Der ausgefallene primäre Knoten und die Read Replicas werden in den Offline-Zustand versetzt.

  2. Es wird ein primäre Ersatzknoten erstellt und bereitgestellt.

  3. Ersatzreplikate werden erstellt und bereitgestellt.

    Die Ersetzungen werden in den Availability Zones der ausgefallenen Knoten erstellt, sodass die Verteilung der Knoten erhalten bleibt.

    Da der gesamte Cluster ausgefallen ist, kam es zu Datenverlust. Alle neuen Knoten werden kalt gestartet.

Da jeder Ersatzknoten denselben Endpunkt wie der Knoten hat, der durch ihn ersetzt wird, müssen in Ihrer Anwendung keine Endpunktänderungen vorgenommen werden.

Weitere Informationen zum Suchen der Endpunkte einer Replikationsgruppe finden Sie in den folgenden Themen:

Es wird empfohlen, den primären Knoten und die Read Replicas in verschiedenen Availability Zones zu erstellen. Dadurch wird der Grad der Fehlertoleranz erhöht.

Testen des automatischen Failovers

Nachdem Sie das automatische Failover aktiviert haben, können Sie es mit der ElastiCache Konsole AWS CLI, der und der ElastiCache API testen.

Beim Testen ist Folgendes zu beachten:

  • Sie können diesen Vorgang verwenden, um das automatische Failover auf bis zu 15 Shards (in der ElastiCache API als Knotengruppen bezeichnet AWS CLI) in einem beliebigen Zeitraum von 24 Stunden zu testen.

  • Wenn Sie diese Operation für Shards in verschiedenen Clustern (in der API und CLI als Replikationsgruppen bezeichnet) aufrufen, können diese Aufrufe gleichzeitig erfolgen.

  • In einigen Fällen können Sie diesen Vorgang mehrmals auf verschiedenen Shards in derselben Valkey- oder Redis OSS-Replikationsgruppe (Clustermodus aktiviert) aufrufen. In solchen Fällen muss die erste Knotenersetzung abgeschlossen werden, bevor ein nachfolgender Aufruf ausgeführt werden kann.

  • Um festzustellen, ob der Knotenaustausch abgeschlossen ist, überprüfen Sie Ereignisse mithilfe der ElastiCache Amazon-Konsole AWS CLI, der oder der ElastiCache API. Suchen Sie nach den folgenden Ereignissen im Zusammenhang mit automatischem Failover, die hier nach der Wahrscheinlichkeit ihres Auftretens aufgelistet werden:

    1. Meldung der Repliakationsgruppe: Test Failover API called for node group <node-group-id>

    2. Meldung des Cache-Clusters: Failover from primary node <primary-node-id> to replica node <node-id> completed

    3. Meldung der Repliakationsgruppe: Failover from primary node <primary-node-id> to replica node <node-id> completed

    4. Meldung des Cache-Clusters: Recovering cache nodes <node-id>

    5. Meldung des Cache-Clusters: Finished recovery for cache nodes <node-id>

    Weitere Informationen finden Sie hier:

  • Diese API wurde entwickelt, um das Verhalten Ihrer Anwendung im Falle eines ElastiCache Failovers zu testen. Sie wurde nicht als Betriebstool zum Einleiten eines Failovers konzipiert, um ein Problem mit dem Cluster zu beheben. Darüber hinaus AWS kann diese API unter bestimmten Bedingungen, z. B. bei großen Betriebsereignissen, blockiert werden.

Testen des automatischen Failovers mit dem AWS-Managementkonsole

Verwenden Sie das folgende Verfahren, um das automatische Failover mit der Konsole zu testen.

So testen Sie das automatische Failover
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die ElastiCache Konsole unter https://console.aws.amazon.com/elasticache/.

  2. Wählen Sie im Navigationsbereich Valkey oder Redis OSS aus.

  3. Wählen Sie in der Clusterliste das Feld links neben dem Cluster aus, den Sie testen möchten. Dieser Cluster muss mindestens einen Read Replica-Knoten enthalten.

  4. Vergewissern Sie sich im Bereich Details, dass dieser Cluster Multi-AZ aktiviert ist. Wenn der Cluster nicht Multi-AZ aktiviert ist, wählen Sie entweder einen anderen Cluster aus oder ändern Sie diesen Cluster, um ihn zu aktivieren Multi-AZ. Weitere Informationen finden Sie unter Unter Verwendung der ElastiCache AWS-Managementkonsole.

    Bild: Detailbereich eines Multi-AZ aktivierten Clusters
  5. Wählen Sie für Valkey oder Redis OSS (Clustermodus deaktiviert) den Namen des Clusters.

    Gehen Sie für Valkey oder Redis OSS (Clustermodus aktiviert) wie folgt vor:

    1. Wählen Sie den Cluster-Namen aus.

    2. Wählen Sie auf der Seite Shards für den Shard (in API und CLI als Knotengruppe bezeichnet), auf dem das Failover getestet werden soll, den Namen des Shards aus.

  6. Wählen Sie auf der Seite „Nodes“ Failover Primary.

  7. Wählen Sie Continue, um ein Failover des primären Knotens auszuführen, oder wählen Sie Cancel, um die Operation ohne ein Failover des primären Knotens abzubrechen.

    Während des Failover-Vorgangs zeigt die Konsole den Status des Knotens weiterhin als available an. Um den Status des Failover-Tests zu verfolgen, wählen Sie im Navigationsbereich der Konsole Events aus. Suchen Sie auf der Registerkarte Events nach Ereignissen, für die angegeben wird, dass Ihr Failover gestartet (Test Failover API called) und abgeschlossen (Recovery completed) wurde.

 

Testen des automatischen Failovers mit dem AWS CLI

Mithilfe dieses AWS CLI Vorgangs test-failover können Sie das automatische Failover auf jedem Multi-AZ aktivierten Cluster testen.

Parameters
  • --replication-group-id – Erforderlich. Die Replikationsgruppe (auf der Konsole als Cluster bezeichnet), die getestet werden soll.

  • --node-group-id – Erforderlich. Der Name der Knotengruppe, auf der das automatische Failover getestet werden soll. Sie können maximal 15 Knotengruppen in einem fortlaufenden Zeitraum von 24 Stunden testen.

Im folgenden Beispiel wird der verwendet AWS CLI , um das automatische Failover für die Knotengruppe redis00-0003 im Valkey- oder Redis OSS-Cluster (Clustermodus aktiviert) zu testen. redis00

Beispiel Testen des automatischen Failovers

Für Linux, macOS oder Unix:

aws elasticache test-failover \ --replication-group-id redis00 \ --node-group-id redis00-0003

Für Windows:

aws elasticache test-failover ^ --replication-group-id redis00 ^ --node-group-id redis00-0003

Die Ausgabe des vorhergehenden Befehls sieht in etwa wie folgt aus.

{ "ReplicationGroup": { "Status": "available", "Description": "1 shard, 3 nodes (1 + 2 replicas)", "NodeGroups": [ { "Status": "available", "NodeGroupMembers": [ { "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "redis1x3-001.7ekv3t.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "redis1x3-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "redis1x3-002.7ekv3t.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "redis1x3-002" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "redis1x3-003.7ekv3t.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "redis1x3-003" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "redis1x3.7ekv3t.ng.0001.usw2.cache.amazonaws.com" } } ], "ClusterEnabled": false, "ReplicationGroupId": "redis1x3", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "MultiAZ": "enabled", "SnapshotWindow": "11:30-12:30", "SnapshottingClusterId": "redis1x3-002", "MemberClusters": [ "redis1x3-001", "redis1x3-002", "redis1x3-003" ], "CacheNodeType": "cache.m3.medium", "DataTiering": "disabled", "PendingModifiedValues": {} } }

Verwenden Sie den Vorgang, um den Fortschritt Ihres Failovers zu verfolgen. AWS CLI describe-events

Weitere Informationen finden Sie hier:

 

Testen Sie den automatischen Failover mithilfe der API ElastiCache

Sie können das automatische Failover auf jedem Cluster testen, für den der Multi-AZ ElastiCache API-Vorgang TestFailover aktiviert wurde.

Parameters
  • ReplicationGroupId – Erforderlich. Die Replikationsgruppe (auf der Konsole als Cluster bezeichnet), die getestet werden soll.

  • NodeGroupId – Erforderlich. Der Name der Knotengruppe, auf der das automatische Failover getestet werden soll. Sie können maximal 15 Knotengruppen in einem fortlaufenden Zeitraum von 24 Stunden testen.

Das folgende Beispiel testet das automatische Failover auf der Knotengruppe redis00-0003 in der Replikationsgruppe (auf der Konsole im Cluster) redis00.

Beispiel Testen des automatischen Failovers
https://elasticache.us-west-2.amazonaws.com/ ?Action=TestFailover &NodeGroupId=redis00-0003 &ReplicationGroupId=redis00 &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20140401T192317Z &X-Amz-Credential=<credential>

Verwenden Sie den ElastiCache DescribeEvents API-Vorgang, um den Fortschritt Ihres Failovers zu verfolgen.

Weitere Informationen finden Sie hier:

 

Einschränkungen bei Multi-AZ

Beachten Sie die folgenden Einschränkungen für Multi-AZ:

  • Multi-AZ wird auf Valkey und auf Redis OSS Version 2.8.6 und höher unterstützt.

  • Multi-AZ wird auf T1-Knotentypen nicht unterstützt.

  • Die OSS-Replikation von Valkey und Redis ist asynchron. Daher kann es passieren, dass bei dem Failover eines primären Clusters auf ein Replikat aufgrund der Replikationsverzögerung eine kleine Datenmenge verloren geht.

    Bei der Auswahl des Replikats, das zum primären Replikat heraufgestuft werden soll, wird das Replikat mit ElastiCache der geringsten Verzögerung bei der Replikation ausgewählt. Es wird also das neueste Replikat ausgewählt. Hierdurch kann die Menge verlorener Daten reduziert werden. Das Replikat mit der geringsten Replikationsverzögerung kann sich in der gleichen oder in einer anderen Availability Zone als der ausgefallene primäre Knoten befinden.

  • Wenn Sie Read Replicas auf Valkey- oder Redis OSS-Clustern mit deaktiviertem Clustermodus manuell zu primär heraufstufen, können Sie dies nur tun, wenn Multi-AZ der automatische Failover deaktiviert ist. So stufen Sie eine Read Replica zum primären Knoten herauf:

    1. Auf dem Cluster deaktivieren Multi-AZ .

    2. Deaktivieren Sie das automatische Failover auf dem Cluster. Sie können dies über die Konsole tun, indem Sie das Kontrollkästchen Auto Failover für die Replikationsgruppe deaktivieren. Sie können dies auch tun, AWS CLI indem Sie die AutomaticFailoverEnabled Eigenschaft false beim Aufrufen des ModifyReplicationGroup Vorgangs auf setzen.

    3. Stufen Sie das Lesereplikat zum primären Knoten herauf.

    4. Re-enable Multi-AZ.

  • ElastiCache für Redis OSS Multi-AZ und Append-Only File (AOF) schließen sich gegenseitig aus. Wenn Sie eine dieser Funktionen aktivieren, kann die andere nicht aktiviert werden.

  • Der Ausfall eines Knotens kann durch den Ausfall einer gesamten Availability Zone verursacht werden. In diesem Fall wird das Replikat, das den ausgefallenen primären Knoten ersetzt, nur bei Verfügbarkeit der Availability Zone erstellt. Stellen Sie sich zum Beispiel eine Replikationsgruppe mit dem primären Eingang und den Replikaten in AZ-a und vor. AZ-b AZ-c Wenn der primäre Konten ausfällt, wird das Replikat mit der geringsten Replikationsverzögerung wird zum primären Cluster heraufgestuft. ElastiCache Erstellt dann nur dann ein neues Replikat AZ-a (wo sich das ausgefallene Primärreplikat befand), wenn AZ-a es gesichert und verfügbar ist.

  • Ein vom Kunden initiierter Neustart des primären Clusters löst kein automatisches Failover aus. Andere Neustarts und Ausfälle hingegen lösen ein automatisches Failover aus.

  • Wenn der primäre Cluster neu gestartet wird, werden seine Daten gelöscht, wenn er wieder online ist. Wenn die Read Replicas den gelöschten primären Cluster sehen, löschen sie ihre Kopie der Daten, was zu Datenverlust führt.

  • Nachdem die Read Replica heraufgestuft wurde, werden die anderen Replikate mit dem neuen primären Cluster synchronisiert. Nach der ersten Synchronisierung wird der Inhalt der Replikate gelöscht, und sie synchronisieren die Daten aus dem neuen primären Cluster. Dieser Synchronisierungsvorgang führt zu einer kurzen Unterbrechung, bei der auf die Replikate nicht zugegriffen werden kann. Dieser Synchronisierungsvorgang bewirkt eine temporäre Zunahme der Arbeitslast auf dem primären Cluster, während er mit den Replikaten synchronisiert wird. Dieses Verhalten ist typisch für Valkey und Redis OSS und gilt nicht nur für. ElastiCache Multi-AZ Einzelheiten zu diesem Verhalten finden Sie unter Replikation auf der Valkey-Website.

Wichtig

Für Valkey 7.2.6 und höher oder Redis OSS Version 2.8.22 und höher können Sie keine externen Replikate erstellen.

Für Redis OSS-Versionen vor 2.8.22 empfehlen wir, kein externes Replikat mit einem aktivierten Cluster zu verbinden. ElastiCache Multi-AZ Diese nicht unterstützte Konfiguration kann zu Problemen führen, die eine ordnungsgemäße Durchführung von Failover und ElastiCache Wiederherstellung verhindern. Um ein externes Replikat mit einem ElastiCache Cluster zu verbinden, stellen Sie sicher, dass dieses Multi-AZ nicht aktiviert ist, bevor Sie die Verbindung herstellen.