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.
Skalierung von Redis OSS-Clustern mit Replikaten
Amazon ElastiCache bietet Konsolen-, CLI- und API-Unterstützung für die Skalierung Ihrer Redis OSS-Replikationsgruppe (Cluster-Modus deaktiviert).
Wenn der Scale-Up-Prozess eingeleitet wird, ElastiCache geht Folgendes vor:
Es wird eine Replikationsgruppe unter Verwendung des neuen Knotentyps gestartet.
Alle Daten aus dem derzeitigen primären Knoten werden in den neuen primären Knoten kopiert.
Die neuen Read Replicas werden mit dem neuen primären Knoten synchronisiert.
Die DNS-Einträge werden aktualisiert und verweisen nun auf die neuen Knoten. Daher müssen Sie die Endpunkte in Ihrer Anwendung nicht aktualisieren. Für Redis OSS 5.0.5 und höher können Sie Cluster mit auto Failover skalieren, während der Cluster weiterhin online bleibt und eingehende Anfragen bearbeitet. Bei Version 4.0.10 und niedriger stellen Sie bei vorherigen Versionen möglicherweise eine kurze Unterbrechung der Lese- und Schreibvorgänge vom Primärknoten fest, während der DNS-Eintrag aktualisiert wird.
Die alten Knoten (CLI/API: Replikationsgruppe) werden gelöscht. Sie werden eine kurze Unterbrechung (ein paar Sekunden) der Lese- und Schreiboperationen der alten Knoten feststellen, da die Verbindungen zu den alten Knoten getrennt werden.
Die Dauer dieses Prozess ist abhängig vom Knotentyp und der Datenmenge im Cluster.
Wie in der folgenden Tabelle dargestellt, ist Ihr Redis OSS-Scale-Up-Vorgang blockiert, wenn Sie ein Engine-Upgrade für das nächste Wartungsfenster des Clusters geplant haben.
Blockierte Redis OSS-Operationen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ausstehende Operationen | Blockierte Operationen | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Aufwärtsskalierung | Unmittelbares Engine-Upgrade | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Engine-Upgrade | Unmittelbares Aufwärtsskalieren | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Aufwärtsskalierung und Engine-Upgrade | Unmittelbares Aufwärtsskalieren | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Unmittelbares Engine-Upgrade |
Wenn Sie durch ausstehende Operationen blockiert werden, haben Sie folgende Möglichkeiten.
-
Planen Sie Ihren Redis OSS-Scale-Up-Vorgang für das nächste Wartungsfenster, indem Sie das Kontrollkästchen Sofort anwenden deaktivieren (CLI use:
--no-apply-immediately
, API use:ApplyImmediately=false
). -
Warten Sie bis zum nächsten Wartungsfenster (oder danach), um Ihren Redis OSS-Scale-up-Vorgang durchzuführen.
-
Fügen Sie das Redis OSS-Engine-Upgrade zu dieser Cache-Cluster-Änderung hinzu, wobei das Kontrollkästchen Sofort anwenden aktiviert ist (CLI use:
--apply-immediately
, API use:ApplyImmediately=true
). Dadurch wird die Skalierung freigegeben, da das Engine-Upgrade sofort ausgeführt wird.
In den folgenden Abschnitten wird beschrieben, wie Sie Ihren Redis OSS-Cluster mit Replikaten mithilfe der ElastiCache Konsole, der und der AWS CLI API skalieren können. ElastiCache
Wichtig
Wenn Ihre Parametergruppe Speicher für reserved-memory
den Redis OSS-Overhead reserviert, stellen Sie vor Beginn der Skalierung sicher, dass Sie über eine benutzerdefinierte Parametergruppe verfügen, die die richtige Speichermenge für Ihren neuen Knotentyp reserviert. Alternativ können Sie eine benutzerdefinierte Parametergruppe anpassen, die reserved-memory-percent
verwendet, und diese Parametergruppe für Ihren neuen Cluster verwenden.
Wenn Sie reserved-memory-percent
verwenden, ist dies nicht erforderlich.
Weitere Informationen finden Sie unter Verwalten von reserviertem Speicher.
Wie lange die Aufwärtsskalierung auf einen größeren Knotentyp dauert, hängt vom Knotentyp und der Datenmenge in Ihrem derzeitigen Cluster ab.
Der folgende Prozess skaliert Ihren Cluster mit Replikaten mithilfe der Konsole vom aktuellen Knotentyp auf einen neuen, größeren Knotentyp. ElastiCache Während dieses Vorgangs kann für andere Versionen eine kurze Unterbrechung der Lese- und Schreibvorgänge vom Primärknoten auftreten, während der DNS-Eintrag aktualisiert wird. Für Knoten, die auf 5.0.6-Versionen ausgeführt werden, tritt möglicherweise eine Ausfallzeit unter 1 Sekunde und bei älteren Versionen von wenigen Sekunden auf.
So skalieren Sie den Redis OSS-Cluster mit Replikaten (Konsole)
-
Wählen Sie im Navigationsbereich Redis OSS-Clusters
-
Wählen Sie aus der Liste der Cluster den Cluster aus, den Sie skalieren möchten. Auf diesem Cluster muss die Redis OSS-Engine und nicht die Clustered Redis OSS-Engine ausgeführt werden.
-
Wählen Sie Ändern aus.
-
Gehen Sie im Modify Cluster-Assistenten wie folgt vor:
-
Wählen Sie in der Liste Node type den Knotentyp aus, auf den Sie skalieren möchten. Beachten Sie, dass nicht alle Knotentypen für das Herunterskalieren zur Verfügung stehen.
-
Wenn Sie zur Speicherverwaltung
reserved-memory
verwenden, wählen Sie in der Liste Parameter Group die benutzerdefinierte Parametergruppe aus, die die korrekte Speichermenge für den neuen Knotentyp reserviert.
-
-
Wenn Sie die Skalierung sofort starten möchten, aktivieren Sie das Kontrollkästchen Apply immediately. Wenn Sie das Kontrollkästchen für Apply immediately nicht aktivieren, wird die Skalierung während des nächsten Wartungsfensters des Clusters durchgeführt.
-
Wählen Sie Ändern aus.
-
Wenn der Status des Clusters von modifying zu available wechselt, wurde die Skalierung auf den neuen Knotentyp erfolgreich abgeschlossen. Die Endpunkte müssen nicht in der Anwendung aktualisiert werden.
Im nachfolgenden Verfahren wird eine Replikationsgruppe mithilfe der AWS CLI vom derzeitigen Knotentyp auf einen neuen, größeren Knotentyp skaliert. Während dieses Vorgangs aktualisiert ElastiCache (Redis OSS) die DNS-Einträge, sodass sie auf die neuen Knoten verweisen. Daher müssen Sie die Endpunkte in Ihrer Anwendung nicht aktualisieren. Für Redis OSS 5.0.5 und höher können Sie Cluster mit auto Failover skalieren, während der Cluster weiterhin online bleibt und eingehende Anfragen bearbeitet. Bei Version 4.0.10 und niedriger stellen Sie bei vorherigen Versionen möglicherweise eine kurze Unterbrechung der Lese- und Schreibvorgänge vom Primärknoten fest, während der DNS-Eintrag aktualisiert wird.
Wie lange die Aufwärtsskalierung auf einen größeren Knotentyp dauert, hängt vom Knotentyp und der Datenmenge in Ihrem derzeitigen Cache-Cluster ab.
So skalieren Sie eine Redis OSS-Replikationsgruppe ()AWS CLI
-
Ermitteln Sie, auf welche Knotentypen Sie skalieren können, indem Sie den AWS CLI
list-allowed-node-type-modifications
Befehl mit dem folgenden Parameter ausführen.--replication-group-id
der Name der Replikationsgruppe. Verwenden Sie diesen Parameter, um eine bestimmte Replikationsgruppe zu beschreiben, statt alle Replikationsgruppen anzugeben.
Für Linux, macOS oder Unix:
aws elasticache list-allowed-node-type-modifications \ --replication-group-id
my-repl-group
Für Windows:
aws elasticache list-allowed-node-type-modifications ^ --replication-group-id
my-repl-group
Die Ausgabe dieser Operation sollte etwa wie nachfolgend dargestellt aussehen (JSON-Format).
{ "ScaleUpModifications": [ "cache.m3.2xlarge", "cache.m3.large", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge" ] }
Weitere Informationen finden Sie unter list-allowed-node-type-modifications in der AWS CLI -Referenz.
-
Skalieren Sie Ihre aktuelle Replikationsgruppe mithilfe des AWS CLI
modify-replication-group
Befehls mit den folgenden Parametern auf den neuen Knotentyp.--replication-group-id
der Name der Replikationsgruppe.--cache-node-type
der neue, größere Knotentyp des Cache-Clusters in dieser Replikationsgruppe. Der Wert muss einer der Instance-Typen sein, die in Schritt 1 mit dem Befehllist-allowed-node-type-modifications
zurückgegeben wurden.--cache-parameter-group-name
– [Optional) Verwenden Sie diesen Parameter, wenn Siereserved-memory
verwenden, um Speicher für den Cluster zu reservieren. Geben Sie eine benutzerdefinierte Cache-Parametergruppe an, die die korrekte Speichermenge für den neuen Knotentyp reserviert. Wenn Siereserved-memory-percent
verwenden, können Sie diesen Parameter weglassen.--apply-immediately
– Führt die Skalierung sofort aus. Wenn Sie die Skalierung für das nächste Wartungsfenster planen möchten, verwenden Sie--no-apply-immediately
.
Für Linux, macOS oder Unix:
aws elasticache modify-replication-group \ --replication-group-id
my-repl-group
\ --cache-node-typecache.m3.xlarge
\ --cache-parameter-group-nameredis32-m3-2xl
\ --apply-immediatelyFür Windows:
aws elasticache modify-replication-group ^ --replication-group-id
my-repl-group
^ --cache-node-typecache.m3.xlarge
^ --cache-parameter-group-nameredis32-m3-2xl
\ --apply-immediatelyDie Ausgabe dieses Befehls sollte etwa wie nachfolgend dargestellt aussehen (JSON-Format).
{ "ReplicationGroup": { "Status": "available", "Description": "Some description", "NodeGroups": [{ "Status": "available", "NodeGroupMembers": [{ "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-002" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com" } }], "ReplicationGroupId": "my-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "disabled", "SnapshotWindow": "12:00-13:00", "SnapshottingClusterId": "my-repl-group-002", "MemberClusters": [ "my-repl-group-001", "my-repl-group-002" ], "PendingModifiedValues": {} } }
Weitere Informationen finden Sie unter modify-replication-group in der AWS CLI -Referenz.
-
Wenn Sie den
--apply-immediately
Parameter verwendet haben, überwachen Sie den Status der Replikationsgruppe mithilfe des AWS CLIdescribe-replication-group
Befehls mit dem folgenden Parameter. Wenn der Status noch wird geändert lautet, tritt möglicherweise eine Ausfallzeit unter 1 Sekunde für Knoten auf, die auf 5.0.6-Versionen ausgeführt werden, und für ältere Versionen eine kurze Unterbrechung von Lese- und Schreibvorgängen vom Primärkonten, während der DNS-Eintrag aktualisiert wird.--replication-group-id
der Name der Replikationsgruppe. Verwenden Sie diesen Parameter, um eine bestimmte Replikationsgruppe zu beschreiben, statt alle Replikationsgruppen anzugeben.
Für Linux, macOS oder Unix:
aws elasticache describe-replication-groups \ --replication-group-id
my-replication-group
Für Windows:
aws elasticache describe-replication-groups ^ --replication-group-id
my-replication-group
Weitere Informationen finden Sie describe-replication-groupsin der AWS CLI Referenz.
Der folgende Prozess skaliert Ihre Replikationsgruppe mithilfe der ElastiCache API von ihrem aktuellen Knotentyp auf einen neuen, größeren Knotentyp. Für Redis OSS 5.0.5 und höher können Sie Cluster mit auto Failover skalieren, während der Cluster weiterhin online bleibt und eingehende Anfragen bearbeitet. Bei Version 4.0.10 und niedriger stellen Sie bei vorherigen Versionen möglicherweise eine kurze Unterbrechung der Lese- und Schreibvorgänge vom Primärknoten fest, während der DNS-Eintrag aktualisiert wird.
Wie lange die Aufwärtsskalierung auf einen größeren Knotentyp dauert, hängt vom Knotentyp und der Datenmenge in Ihrem derzeitigen Cache-Cluster ab.
So skalieren Sie eine Redis OSS-Replikationsgruppe (API) ElastiCache
-
Ermitteln Sie, auf welche Knotentypen Sie mithilfe der ElastiCache
ListAllowedNodeTypeModifications
API-Aktion mit dem folgenden Parameter skalieren können.ReplicationGroupId
der Name der Replikationsgruppe. Verwenden Sie diesen Parameter, um eine bestimmte Replikationsgruppe zu beschreiben, statt alle Replikationsgruppen anzugeben.
https://elasticache.us-west-2.amazonaws.com/ ?Action=ListAllowedNodeTypeModifications &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>
Weitere Informationen finden Sie ListAllowedNodeTypeModifications in der Amazon ElastiCache API-Referenz.
-
Skalieren Sie Ihre aktuelle Replikationsgruppe mithilfe der
ModifyRedplicationGroup
ElastiCache API-Aktion und mit den folgenden Parametern auf den neuen Knotentyp.ReplicationGroupId
der Name der Replikationsgruppe.CacheNodeType
der neue, größere Knotentyp des Cache-Clusters in dieser Replikationsgruppe. Der Wert muss einer der Instance-Typen sein, die in Schritt 1 mit dem AufrufListAllowedNodeTypeModifications
zurückgegeben wurden.CacheParameterGroupName
– [Optional) Verwenden Sie diesen Parameter, wenn Siereserved-memory
verwenden, um Speicher für den Cluster zu reservieren. Geben Sie eine benutzerdefinierte Cache-Parametergruppe an, die die korrekte Speichermenge für den neuen Knotentyp reserviert. Wenn Siereserved-memory-percent
verwenden, können Sie diesen Parameter weglassen.ApplyImmediately
Legen Sietrue
fest, um die Skalierung sofort auszuführen. Wenn Sie die Skalierung für das nächste Wartungsfenster planen möchten, verwenden SieApplyImmediately
=false
.
https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.m3.2xlarge &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
Weitere Informationen finden Sie ModifyReplicationGroup in der Amazon ElastiCache API-Referenz.
-
Falls Sie dies verwendet haben
ApplyImmediately
=true
, überwachen Sie den Status der Replikationsgruppe mithilfe der ElastiCacheDescribeReplicationGroups
API-Aktion mit den folgenden Parametern. Wenn der Status von modifying zu available wechselt, können Sie die neue, aufskalierte Replikationsgruppe verwenden.ReplicationGroupId
der Name der Replikationsgruppe. Verwenden Sie diesen Parameter, um eine bestimmte Replikationsgruppe zu beschreiben, statt alle Replikationsgruppen anzugeben.
https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroups &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>
Weitere Informationen finden Sie DescribeReplicationGroups in der Amazon ElastiCache API-Referenz.