使用分片 - Amazon ElastiCache for Redis
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用分片

分片(API/CLI:节点组)是 1 到 six 个 Redis 节点的集合。ARedis (已禁用集群模式)集群永远只有一个分片。您可以创建具有更多分片和更少副本的集群,每个集群最多可包含 90 个节点。此集群配置的范围可以从 90 个分片和 0 个副本到 15 个分片和 5 个副本,这是允许的最大副本数。集群的数据分配到该集群的各个分片上。如果分片包含多个节点,则该分片实现了一个节点作为读取/写入主节点且其他节点为只读副本节点的复制。

如果 Redis 引擎版本为 5.0.6 或更高版本,可将每个集群的节点或分片限制提高到最大值 500。例如,您可以选择配置一个 500 节点的集群,范围介于 83 个分片(一个主分片和 5 个副本分片)和 500 个分片(一个主分片,无副本分片)之间。确保可提供足够的 IP 地址来满足增长需求。常见的陷阱包括子网组中的子网 CIDR 范围太小,或者子网被其他集群共享和大量使用。有关更多信息,请参阅创建子网组

对于低于 5.0.6 的版本,每个集群的限制为 250。

要请求提高限制,请参阅Amazon服务限制,然后选择限制类型每个实例类型的集群节点

使用 ElastiCache 控制台创建 Redis (已启用集群模式)集群时,您可以指定集群中的分片数和分片中的节点数。有关更多信息,请参阅创建Redis (已启用集群模式)集群(控制台)。使用 ElastiCache API 或 Amazon CLI 创建集群(在 API/CLI 中称作复制组)时,您可以独立地配置分片(API/CLI:节点组)中的节点数。有关更多信息,请参阅下列内容:

  • API: CreateReplicationGroup

  • CLI:create-replication-group

分片中每个节点的计算、存储和内存规格均相同。通过 ElastiCache API 可以控制分片范围的属性,如节点数、安全设置和系统维护时段。

图像:Redis 分片配置。

Redis 分片配置

有关更多信息,请参阅脱机重新分片和分片重新平衡Redis (已启用集群模式)在线重新分片和分片重新平衡Redis (已启用集群模式)

查找分片的 ID

您可以使用Amazon Web Services Management Console,Amazon CLI或ElastiCacheAPI。

使用 Amazon Web Services Management Console

对于 Redis(已禁用集群模式)

Redis (已禁用集群模式)复制组分片 ID 始终为0001

对于 Redis(已启用集群模式)

以下过程使用Amazon Web Services Management Console以查找Redis (已启用集群模式)的复制组的分片 ID。

要查找分片 ID,请在Redis (已启用集群模式)复制组

  1. 登录 Amazon Web Services Management Console并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

  2. 在导航窗格上,选择Redis,然后选择Redis (已启用集群模式)复制组,您要查找其分片 ID。

  3. 分片名称列中,分片 ID 是分片名称的最后四位数字。

使用 Amazon CLI

要为 Redis (已禁用集群模式)或 Redis (已启用集群模式)复制组查找分片(节点组)ID,请使用具有以下可选参数的 Amazon CLI 操作 describe-replication-groups

  • --replication-group-id—用来将输出限制为指定复制组的详细信息的可选参数。如果忽略此参数,将返回最多 100 个复制组的详细信息。

此命令将返回 sample-repl-group 的详细信息。

对于 Linux, OS X, or Unix:

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

对于 Windows:

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

该命令的输出类似于此处所示。分片(节点组)ID 在此处突出显示,以便更容易找到它们。

{ "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", "PendingModifiedValues": {} } ] }

要为 Redis (已禁用集群模式)或 Redis (已启用集群模式)复制组查找分片(节点组)ID,请使用具有以下可选参数的 Amazon CLI 操作 describe-replication-groups

  • ReplicationGroupId—用来将输出限制为指定复制组的详细信息的可选参数。如果忽略此参数,将返回最多 xxx 个复制组的详细信息。

此命令将返回 sample-repl-group 的详细信息。

对于 Linux, OS X, or 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>