Arbeiten mit Shards - Amazon ElastiCache für Redis

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.

Arbeiten mit Shards

Ein Shard (API/CLI: Knotengruppe) ist eine Sammlung von einem bis sechs Redis-Knoten. Ein Redis-Cluster (Cluster-Modus deaktiviert) hat nie mehr als einen Shard. Mit Shards können Sie große Datenbanken in kleinere, schnellere und einfacher verwaltete Teile unterteilen, die als Daten-Shards bezeichnet werden. Dies kann die Datenbankeffizienz erhöhen, indem Vorgänge auf mehrere separate Abschnitte verteilt werden. Die Verwendung von Shards kann viele Vorteile bieten, darunter verbesserte Leistung, Skalierbarkeit und Kosteneffizienz.

Sie können einen Cluster mit einer höheren Anzahl an Shards und einer geringeren Anzahl an Replikaten mit bis zu 90 Knoten pro Cluster erstellen. Diese Clusterkonfiguration reicht von 90 Shards und 0 Replikaten bis hin zu 15 Shards und 5 Replikaten, was dem Höchstwert für die Anzahl erlaubter Replikate entspricht. Die Daten des Clusters werden über die Shards des Clusters hinweg partitioniert. Falls sich mehr als ein Knoten in einem Shard befindet, implementiert der Shard die Replikation auf dem primären Knoten für Lese- und Schreibvorgänge. Die anderen sind schreibgeschützte Replikatknoten.

Das Knoten- oder Shard-Limit kann auf maximal 500 pro Cluster erhöht werden, wenn die Version der Redis-Engine 5.0.6 oder höher ist. Sie können beispielsweise einen Cluster mit 500 Knoten konfigurieren, der zwischen 83 Shards (ein primärer Knoten und 5 Replikate pro Shard) und 500 Shards (ein primärer Knoten und keine Replikate) umfasst. Stellen Sie sicher, dass für die Erhöhung genügend IP-Adressen verfügbar sind. Häufige Fallstricke sind Subnetze in der Subnetzgruppe, die einen zu kleinen CIDR-Bereich haben, oder Subnetze, die gemeinsam genutzt und von anderen Clustern stark beansprucht werden. Weitere Informationen finden Sie unter Erstellen einer Subnetzgruppe.

Für Versionen unter 5.0.6 liegt das Limit bei 250 pro Cluster.

Um eine Erhöhung des Limits zu beantragen, siehe AWS -Service-Limits und wählen Sie den Limittyp Knoten pro Cluster pro Instance-Typ.

Wenn Sie einen Redis-Cluster (Cluster-Modus aktiviert) mit der ElastiCache Konsole erstellen, geben Sie die Anzahl der Shards im Cluster und die Anzahl der Knoten in den Shards an. Weitere Informationen finden Sie unter Erstellen eines Redis-Clusters (Cluster-Modus aktiviert) (Konsole). Wenn Sie die ElastiCache -API oder verwenden AWS CLI , um einen Cluster zu erstellen (in der API/CLI als Replikationsgruppe bezeichnet), können Sie die Anzahl der Knoten in einem Shard (API/CLI: Knotengruppe) unabhängig konfigurieren. Weitere Informationen finden Sie hier:

  • API: CreateReplicationGroup

  • CLI: create-replication-group

Für jeden Knoten in einem Shard gelten dieselben Rechner-, Arbeitsspeicher- und Festspeicherspezifikationen. Mit der ElastiCache API können Sie Shard-weite Attribute wie die Anzahl der Knoten, Sicherheitseinstellungen und Systemwartungsfenster steuern.

Bild: Redis-Shard-Konfigurationen

Redis-Shard-Konfigurationen

Weitere Informationen finden Sie unter Offline-Resharding und Shard-Rebalancing für Redis (Cluster-Modus aktiviert) und Online-Resharding und Shard-Rebalancing für Redis (Clustermodus aktiviert).

Auffinden der ID eines Shards

Sie finden die ID eines Shards mithilfe der AWS Management Console, der AWS CLI oder der ElastiCache API.

Verwenden der AWS Management Console

Für Redis (Cluster-Modus deaktiviert)

Redis-Replikationsgruppen-Shard-IDs (Cluster-Modus deaktiviert) sind immer 0001.

Für Redis (Cluster-Modus aktiviert)

Im folgenden Verfahren wird verwendet AWS Management Console , um die Shard-ID einer Redis-Replikationsgruppe (Cluster-Modus aktiviert) zu finden.

So finden Sie die Shard-ID in einer Redis-Replikationsgruppe (Cluster-Modus aktiviert)
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die - ElastiCache Konsole unter https://console.aws.amazon.com/elasticache/.

  2. Wählen Sie im Navigationsbereich Redis und dann den Namen der Redis-Replikationsgruppe (Cluster-Modus aktiviert) aus, für die Sie die Shard-IDs suchen möchten.

  3. In der Spalte Shard-Name ist die Shard-ID die letzten vier Ziffern des Shard-Namens.

Verwenden der AWS CLI

Um Shard-IDs (Knotengruppe) für Redis-Replikationsgruppen (Cluster-Modus deaktiviert) oder Redis-Replikationsgruppen (Cluster-Modus aktiviert) zu finden, verwenden Sie die - AWS CLI Operation describe-replication-groups mit dem folgenden optionalen Parameter.

  • --replication-group-id–Ein optionaler Parameter, der bei Verwendung die Ausgabe auf die Details der angegebenen Replikationsgruppe beschränkt. Wenn dieser Parameter weggelassen wird, werden die Details von bis zu 100 Replikationsgruppen zurückgegeben.

Dieser Befehl gibt die Details für sample-repl-group zurück.

Für Linux, macOS oder Unix:

aws elasticache describe-replication-groups \ --replication-group-id sample-repl-group

Für Windows:

aws elasticache describe-replication-groups ^ --replication-group-id sample-repl-group

Die Ausgabe dieses Befehls sieht in etwa wie folgt aus: Die Shard- bzw. Knotengruppen-IDs werden hier hervorgehoben, damit sie leichter auffindbar sind.

{ "ReplicationGroups": [ { "Status": "available", "Description": "2 shards, 2 nodes (1 + 1 replica)", "NodeGroups": [ { "Status": "available", "Slots": "0-8191", "NodeGroupId": "0001", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0001-001" }, { "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0001-002" } ] }, { "Status": "available", "Slots": "8192-16383", "NodeGroupId": "0002", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0002-001" }, { "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "CacheClusterId": "sample-repl-group-0002-002" } ] } ], "ConfigurationEndpoint": { "Port": 6379, "Address": "sample-repl-group.9dcv5r.clustercfg.usw2.cache.amazonaws.com" }, "ClusterEnabled": true, "ReplicationGroupId": "sample-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "SnapshotWindow": "13:00-14:00", "MemberClusters": [ "sample-repl-group-0001-001", "sample-repl-group-0001-002", "sample-repl-group-0002-001", "sample-repl-group-0002-002" ], "CacheNodeType": "cache.m3.medium", "DataTiering": "disabled", "PendingModifiedValues": {} } ] }

Um Shard-IDs (Knotengruppe) für Redis-Replikationsgruppen (Cluster-Modus deaktiviert) oder Redis-Replikationsgruppen (Cluster-Modus aktiviert) zu finden, verwenden Sie die - AWS CLI Operation describe-replication-groups mit dem folgenden optionalen Parameter.

  • ReplicationGroupId–Ein optionaler Parameter, der bei Verwendung die Ausgabe auf die Details der angegebenen Replikationsgruppe beschränkt. Wenn dieser Parameter weggelassen wird, werden die Details von bis zu xxx Replikationsgruppen zurückgegeben.

Dieser Befehl gibt die Details für sample-repl-group zurück.

Für Linux, macOS oder Unix:

https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroup &ReplicationGroupId=sample-repl-group &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>