Redis OSS-Cluster mit Replikaten herunterskalieren - Amazon ElastiCache (Redis OSS)

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.

Redis OSS-Cluster mit Replikaten herunterskalieren

In den folgenden Abschnitten erfahren Sie, wie Sie einen Redis OSS-Cache-Cluster (Clustermodus deaktiviert) mit Replikatknoten auf einen kleineren Knotentyp herunterskalieren. Es ist für den Erfolg wichtig sicherzustellen, dass der neue, kleinere Knotentyp für die Datenmenge und den Overhead ausreicht. Weitere Informationen finden Sie unter Sicherstellen, dass Sie über genügend Arbeitsspeicher verfügen, um einen Redis OSS-Snapshot zu erstellen.

Anmerkung

Bei Clustern, auf denen der R6gd-Knotentyp ausgeführt wird, können Sie nur auf Knotengrößen innerhalb der R6gd-Knotenfamilie skalieren.

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.

Themen

    Der folgende Prozess skaliert Ihren Redis OSS-Cluster mit Replikatknoten mithilfe der Konsole auf einen kleineren Knotentyp. ElastiCache

    So skalieren Sie einen Redis OSS-Cluster mit Replikatknoten (Konsole)
    1. Vergewissern Sie sich, dass der Speicher des kleineren Knotentyps für Ihre Daten und den Overhead ausreicht.

    2. Wenn Ihre Parametergruppe Speicher für reserved-memory den Redis OSS-Overhead reserviert, stellen Sie sicher, dass Sie über eine benutzerdefinierte Parametergruppe verfügen, um die richtige Speichermenge für Ihren neuen Knotentyp bereitzustellen.

      Alternativ können Sie eine benutzerdefinierte Parametergruppe für die Verwendung von reserved-memory-percent anpassen. Weitere Informationen finden Sie unter Verwalten von reserviertem Speicher.

    3. Melden Sie sich bei der an AWS Management Console und öffnen Sie die ElastiCache Konsole unter https://console.aws.amazon.com/elasticache/.

    4. Wählen Sie aus der Liste der Cluster den Cluster aus, den Sie nach unten skalieren möchten. Auf diesem Cluster muss die Redis OSS Engine ausgeführt werden und nicht die Clustered Redis OSS Engine.

    5. Wählen Sie Ändern aus.

    6. Gehen Sie im Modify Cluster-Assistenten wie folgt vor:

      1. Wählen Sie in der Liste Node type (Knotentyp) den Knotentyp aus, auf den Sie herunterskalieren möchten.

      2. 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.

    7. Wenn Sie die Skalierung nach unten sofort starten möchten, aktivieren Sie das Kontrollkästchen Apply immediately (Sofort anwenden). Wenn Sie das Kontrollkästchen für Apply immediately (Sofort anwenden) nicht aktivieren, wird die Skalierung nach unten während des nächsten Wartungsfensters des Clusters durchgeführt.

    8. Wählen Sie Ändern aus.

    9. 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, kleineren 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.

    Lesevorgänge von den Read Replica-Cache-Clustern werden jedoch fortgesetzt.

    Wie lange die Abwärtsskalierung auf einen kleineren Knotentyp dauert, hängt vom Knotentyp und der Datenmenge in Ihrem derzeitigen Cache-Cluster ab.

    Um eine Redis OSS-Replikationsgruppe herunterzuskalieren ()AWS CLI
    1. Ermitteln Sie, auf welche Knotentypen Sie herunterskalieren 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).

      { "ScaleDownModifications": [ "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.

    2. 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, kleinere Knotentyp des Cache-Clusters in dieser Replikationsgruppe. Der Wert muss einer der Instance-Typen sein, die in Schritt 1 mit dem Befehl list-allowed-node-type-modifications zurückgegeben wurden.

      • --cache-parameter-group-name – [Optional) Verwenden Sie diesen Parameter, wenn Sie reserved-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 Sie reserved-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-type cache.t2.small \ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

      Für Windows:

      aws elasticache modify-replication-group ^ --replication-group-id my-repl-group ^ --cache-node-type cache.t2.small ^ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

      Die 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.

    3. Wenn Sie den --apply-immediately Parameter verwendet haben, überwachen Sie den Status der Replikationsgruppe mithilfe des AWS CLI describe-replication-group Befehls mit dem folgenden Parameter. Wenn der Status von In Bearbeitung zu Verfügbar wechselt, können Sie die neue, abwärts skalierte Replikationsgruppe verwenden.

      • --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-group \ --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, kleineren Knotentyp. 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. Lesevorgänge von den Read Replica-Cache-Clustern werden jedoch fortgesetzt.

    Wie lange die Abwärtsskalierung auf einen kleineren Knotentyp dauert, hängt vom Knotentyp und der Datenmenge in Ihrem derzeitigen Cache-Cluster ab.

    Um eine Redis OSS-Replikationsgruppe (API) herunterzuskalieren ElastiCache
    1. Ermitteln Sie, auf welche Knotentypen Sie mithilfe der ElastiCache ListAllowedNodeTypeModifications API-Aktion mit dem folgenden Parameter herunterskalieren 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.

    2. 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, kleinere Knotentyp des Cache-Clusters in dieser Replikationsgruppe. Der Wert muss einer der Instance-Typen sein, die in Schritt 1 mit dem Aufruf ListAllowedNodeTypeModifications zurückgegeben wurden.

      • CacheParameterGroupName – [Optional) Verwenden Sie diesen Parameter, wenn Sie reserved-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 Sie reserved-memory-percent verwenden, können Sie diesen Parameter weglassen.

      • ApplyImmediatelyLegen Sie true fest, um die Skalierung sofort auszuführen. Wenn Sie die Abwärtsskalierung für das nächste Wartungsfenster planen möchten, verwenden Sie ApplyImmediately=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.

    3. Falls Sie dies verwendet haben ApplyImmediately=true, überwachen Sie den Status der Replikationsgruppe mithilfe der ElastiCache DescribeReplicationGroups API-Aktion mit den folgenden Parametern. Wenn der Status von In Bearbeitung zu Verfügbar wechselt, können Sie die neue, abwärts skalierte 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.