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ären Knoten austauschen muss. Dazu gehören bestimmte Arten von geplanten Wartungsarbeiten und der unwahrscheinliche Fall eines Ausfalls eines primären Knotens oder einer Availability Zone.
Dieser Austausch führt zu einigen Ausfallzeiten für den Cluster, aber wenn er aktiviert Multi-AZ ist, wird die Ausfallzeit minimiert. Die Rolle des primären Knotens wird automatisch auf eines der Read Replicas übertragen. Es ist nicht erforderlich, einen neuen primären Knoten 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 gibt auch den DNS-Namen (Domain Name Service) des hochgestuften Replikats weiter. 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 wird der geplante Knotenaustausch abgeschlossen, während der Cluster eingehende Schreibanforderungen bearbeitet.
Bei Clustern mit Multi-AZ aktiviertem Valkey- und Redis-OSS-Clustermodus, die auf der 5.0.6-Engine oder höher ausgeführt werden, werden die geplanten Node-Austausche abgeschlossen, während der Cluster eingehende Schreibanforderungen verarbeitet.
Bei Clustern mit Multi-AZ aktiviertem 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 die Neuerstellung und Bereitstellung eines neuen Primärservers, was passiert, 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 vornehmen.
Anmerkung
Durability-enabled Cluster: Bei Valkey 9.0+ Clustern mit aktivierter Haltbarkeit unterscheidet sich das Failover-Verhalten von den unten beschriebenen Szenarien. Bei der Dauerhaftigkeit werden alle übergebenen Daten in einem Transaktionslog gespeichert. Multi-AZ Bei Failovers sorgen synchrone Schreibvorgänge dafür, dass keine Daten verloren gehen, während bei asynchronen Schreibvorgängen bis zu 10 Sekunden an Daten verloren gehen können, die nicht übertragen wurden. Ausgefallene Knoten stellen alle festgeschriebenen Daten aus dem Transaktionslog wieder her, ohne dass eine vollständige Synchronisation mit dem primären Knoten erforderlich ist. Weitere Informationen finden Sie unter Haltbarkeit in ElastiCache.
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.
Themen
Aktivieren Multi-AZ
Sie können die Multi-AZ Option aktivieren, 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 Option Multi-AZ nur auf Valkey- oder Redis OSS-Clustern (Clustermodus deaktiviert) aktivieren, für die mindestens ein 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).
Themen
Aktivieren Multi-AZ (Konsole)
Sie können es 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 das primäre Replikat 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 (Clustermodus deaktiviert) (Konsole). Stellen Sie sicher, dass Sie über ein oder mehrere Replikate verfügen und aktivieren Sie es 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 das verwendet AWS CLI , um es Multi-AZ für die Replikationsgruppe zu aktivierenredis12.
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-idredis12\ --automatic-failover-enabled \ --multi-az-enabled \ --apply-immediately
Für Windows:
aws elasticache modify-replication-group ^ --replication-group-idredis12^ --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:
-
modify-replication-group in der AWS CLI -Befehlsreferenz.
Aktivieren Multi-AZ (ElastiCache API)
Im folgenden Codebeispiel wird die ElastiCache API verwendet, um die Replikationsgruppe zu aktivieren Multi-AZ redis12.
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:
Fehlerszenarien mit Multi-AZ Antworten
Vor der Einführung von Multi-AZ, ElastiCache Erkennung und Ersetzung der ausgefallenen Knoten eines Clusters, indem der ausgefallene Knoten neu erstellt und bereitgestellt wurde. Wenn Sie die Option aktivieren Multi-AZ, führt ein ausgefallener primärer Knoten ein Failover auf das Replikat mit der geringsten Replikationsverzögerung durch. 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 diese Option aktiviert Multi-AZ ist, 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.
Themen
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äre Knoten ElastiCache Multi-AZ ausfällt, wird Folgendes ausgeführt:
Der ausgefallene primäre Knoten wird in den Offline-Zustand versetzt.
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.
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.
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.
Gehen Sie wie folgt vor, wenn der Primärknoten und einige Read Replicas ausfallen: ElastiCache Multi-AZ
Der ausgefallene primäre Knoten und ausgefallenen die Read Replicas werden in den Offline-Zustand versetzt.
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 gibt den DNS-Namen des hochgestuften Replikats weiter.
Ersatzreplikate werden erstellt und bereitgestellt.
Die Ersatzreplikate werden in den Availability Zones der ausgefallenen Knoten erstellt, sodass die Verteilung der Knoten erhalten bleibt.
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.
Weitere Informationen zum Suchen der Endpunkte einer Replikationsgruppe finden Sie in den folgenden Themen:
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, gehen Sie wie folgt vor:
Der ausgefallene primäre Knoten und die Read Replicas werden in den Offline-Zustand versetzt.
Es wird ein primäre Ersatzknoten erstellt und bereitgestellt.
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 mithilfe 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 fortlaufenden 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 für verschiedene 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 Knotenwechsel abgeschlossen ist, überprüfen Sie die Ereignisse mithilfe der ElastiCache Amazon-Konsole AWS CLI, der oder der API. ElastiCache Suchen Sie nach den folgenden Ereignissen im Zusammenhang mit automatischem Failover, die hier nach der Wahrscheinlichkeit ihres Auftretens aufgelistet werden:
-
Meldung der Repliakationsgruppe:
Test Failover API called for node group <node-group-id> -
Meldung des Cache-Clusters:
Failover from primary node <primary-node-id> to replica node <node-id> completed -
Meldung der Repliakationsgruppe:
Failover from primary node <primary-node-id> to replica node <node-id> completed -
Meldung des Cache-Clusters:
Recovering cache nodes <node-id> -
Meldung des Cache-Clusters:
Finished recovery for cache nodes <node-id>
Weitere Informationen finden Sie hier:
-
ElastiCache Ereignisse anzeigen im ElastiCache -Benutzerhandbuch
-
DescribeEvents in der ElastiCache -API-Referenz
-
describe-events in der AWS CLI -Befehlsreferenz.
-
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, wie z. B. bei großen Betriebsereignissen, blockiert werden.
Themen
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
-
Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die ElastiCache Konsole unter https://console.aws.amazon.com/elasticache/
. -
Wählen Sie im Navigationsbereich Valkey oder Redis OSS aus.
-
Wählen Sie aus der Liste der Cluster das Feld links neben dem Cluster aus, den Sie testen möchten. Dieser Cluster muss mindestens einen Read Replica-Knoten enthalten.
-
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.
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:
-
Wählen Sie den Cluster-Namen aus.
-
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.
-
-
Wählen Sie auf der Seite „Nodes“ Failover Primary.
-
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 Sie das automatische Failover mit dem AWS CLI
Mithilfe des 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 auf der 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-idredis00\ --node-group-id0003
Für Windows:
aws elasticache test-failover ^ --replication-group-idredis00^ --node-group-id0003
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.m5.large",
"DataTiering": "disabled",
"PendingModifiedValues": {}
}
}
Verwenden Sie den Vorgang, um den Fortschritt Ihres Failovers zu verfolgen. AWS CLI describe-events
Weitere Informationen finden Sie hier:
-
test-failover in der AWS CLI -Befehlsreferenz.
-
describe-events in der AWS CLI -Befehlsreferenz.
Testen Sie das automatische Failover mithilfe der API ElastiCache
Sie können das automatische Failover auf jedem Cluster testen, der Multi-AZ mithilfe des ElastiCache API-Vorgangs TestFailover aktiviert ist.
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=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:
-
TestFailoverin der ElastiCache API-Referenz
-
DescribeEventsin der ElastiCache API-Referenz
Einschränkungen bei Multi-AZ
Beachten Sie die folgenden Einschränkungen für Multi-AZ:
-
Multi-AZ wird auf allen Valkey- und Redis OSS-Versionen unterstützt.
-
Die OSS-Replikation von Valkey und Redis erfolgt 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 Clustern mit aktivierter Beständigkeit gilt diese Einschränkung nicht — alle übergebenen Daten werden aus dem Transaktionslog wiederhergestellt. Multi-AZ
Wählen Sie bei der Auswahl des Replikats, das zum primären Replikat heraufgestuft werden soll, das Replikat mit der geringsten Replikationsverzögerung ElastiCache aus. 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 auf primäre Replikate hochstufen, ist dies nur möglich, wenn Multi-AZ das automatische Failover deaktiviert ist. So stufen Sie eine Read Replica zum primären Knoten herauf:
-
Auf dem Cluster deaktivieren Multi-AZ .
-
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
AutomaticFailoverEnabledEigenschaft auf setzen,falsewenn Sie denModifyReplicationGroupVorgang aufrufen. -
Stufen Sie das Lesereplikat zum primären Knoten herauf.
-
Re-enable Multi-AZ.
-
-
ElastiCache für Redis schließen sich OSS Multi-AZ und Append-Only File (AOF) 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 beispielsweise 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 in 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 Replication
auf der Valkey-Website. Bei Clustern mit aktivierter Dauerhaftigkeit werden Replikate unabhängig vom Transaktionslog wiederhergestellt, ohne dass der primäre Cluster belastet wird.
Wichtig
Für Valkey und Redis OSS können Sie keine externen Replikate erstellen.