Amazon ElastiCache
用户指南 (API Version 2015-02-02)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

向集群添加节点

向集群添加节点当前仅在运行 Memcached 或 Redis (已禁用集群模式)时适用。如果您运行的是 Redis (已禁用集群模式),则您添加到该集群的节点是副本节点。

您可以通过 ElastiCache 管理控制台、AWS CLI 或 ElastiCache API 向集群中添加节点。

每次更改您的 Memcached 集群中的节点数时,您必须至少重新映射部分密钥空间,以便它映射到正确的节点。有关对 Memcached 集群进行负载均衡的更多详细信息,请参阅配置 ElastiCache 客户端以实现高效负载均衡

(控制台)向集群添加节点

将节点添加到启用复制的 Memcached 或 Redis (已禁用集群模式)集群的流程是一样的。将节点添加到单节点 Redis (已禁用集群模式)集群(未启用复制的集群)是包含两个步骤的流程:首先添加复制,然后添加副本节点。

下面的流程将向未启用复制的单节点 Redis 添加复制。在添加复制时,现有的节点将成为启用复制的集群中的主节点。添加复制后,您可以向该群集添加最多 5 个副本节点。

向没有分片的 Redis 群集添加复制

  1. 登录 AWS 管理控制台 并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

  2. 在左侧导航窗格中,选择 Redis

    此时会显示运行 Redis 引擎的群集列表。

  3. 选择要向其添加复制的群集的名称。

    未启用复制的 Redis 群集满足以下条件:

  4. 选择 Add replication

  5. Add Replication 中,为该启用复制的群集键入说明。

  6. 选择 Add

    一旦该群集的状态恢复为 available,您就可以在下一个流程中继续,并向该群集中添加副本。

向具有一个分片的 Memcached 或 Redis (已禁用集群模式)群集添加节点(控制台)

可以使用下面的流程向启用了复制的 Memcached 群集或 Redis (已禁用集群模式)群集添加节点。目前,您无法在 Redis (已启用集群模式)群集中添加或删除节点。

  1. 登录 AWS 管理控制台 并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

  2. 在左侧的导航窗格中,选择 MemcachedRedis

    此时会显示运行所选引擎的集群的列表。

  3. 从群集列表中,选择要向其添加节点的群集的名称。这不能是运行 Clustered Redis 引擎的群集或具有零个分片的 Redis 群集。

    此时会显示该群集的节点列表,且 Add node 按钮变为激活状态。

  4. 选择页面顶部的 Add node

  5. Add Node 中,完成 Add Node (Memcached) 或 Add Read Replica to Cluster (Redis) 对话框中所需的信息。

  6. 选择 Apply Immediately - Yes 按钮立即应用更改,或选择 No 将更改操作推迟到下一个维护时段进行。

    新的添加和删除请求对待处理请求的影响

    方案 待处理的操作 新请求 结果

    场景 1

    删除

    删除

    新的待处理或即时删除请求会取代待处理删除操作。

    例如,如果节点 0001、0003 和 0007 是待处理删除,并且发出了删除节点 0002 和 0004 的新请求,则仅删除节点 0002 和 0004。不会删除节点 0001、0003 和 0007。

    场景 2

    删除

    创建

    新的待处理或即时创建请求会取代待处理删除操作。

    例如,如果节点 0001、0003 和 0007 是待处理删除,并且发出了创建节点的新请求,则将创建新节点,而且不会删除节点 0001、0003 和 0007。

    场景 3

    创建

    删除

    新的待处理或即时删除请求会取代待处理创建操作。

    例如,如果有一个创建两个节点的待处理请求,并且发出了删除节点 0003 的新请求,则不会创建任何新节点,而且将删除节点 0003。

    场景 4

    创建

    创建

    新的创建请求会添加到待处理创建请求。

    例如,如果有一个创建两个节点的待处理请求,并且发出了创建三个节点的新请求,新请求会添加到待处理请求中,而且将创建五个节点。

    重要

    如果新的创建请求设置为 Apply Immediately - Yes,则会立即执行所有创建请求。如果新的创建请求设置为 Apply Immediately - No (立即应用 - 否),所有创建请求将进入待处理状态。

    要确定待处理的操作,请选择 Description 选项卡,然后查看所显示的待处理的创建或删除操作。您不能同时拥有待处理的创建和删除操作。

     图像:集群描述选项卡
  7. 选择 Add 按钮。

    片刻之后,新的节点应会出现在节点列表中,其状态为 creating。若非如此,请刷新浏览器页面。

向缓存群集添加节点 (AWS CLI)

要向未启用复制的现有 Redis (已禁用集群模式)复制组(控制台:集群)添加节点,您必须首先创建将该现有集群指定为主集群的复制组。有关更多信息,请参阅 通过可用 Redis 缓存集群(AWS CLI) 创建复制组。待该复制组可用 后,您可以继续下面的流程。

要使用 AWS CLI 向集群添加节点,请使用带以下参数的 AWS CLI 操作 modify-cache-cluster

  • --cache-cluster-id 要将节点添加到的缓存集群的 ID。

  • --num-cache-nodes --num-cache-nodes 参数指定应用修改后此集群中应有的节点的数量。要向此集群添加节点,--num-cache-nodes 必须大于此集群中的当前节点数。如果此值小于当前节点数,则 ElastiCache 需要参数 cache-node-ids-to-remove 以及要从集群中删除的节点的列表。有关更多信息,请参阅 (AWS CLI) 从集群中移除节点

  • --apply-immediately--no-apply-immediately,用于指定是立即添加这些节点还是在下一维护时段添加这些节点。

对于 Linux, OS X, or Unix:

aws elasticache modify-cache-cluster \ --cache-cluster-id my-cache-cluster \ --num-cache-nodes 5 \ --apply-immediately

对于 Windows:

aws elasticache modify-cache-cluster ^ --cache-cluster-id my-cache-cluster ^ --num-cache-nodes 5 ^ --apply-immediately

此操作生成类似于下述信息的输出 (JSON 格式):

{ "CacheCluster": { "Engine": "memcached", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.memcached1.4", "ParameterApplyStatus": "in-sync" }, "CacheClusterId": "my-cache-cluster", "PreferredAvailabilityZone": "us-west-2b", "ConfigurationEndpoint": { "Port": 11211, "Address": "rlh-mem000.7alc7bf-example.cfg.usw2.cache.amazonaws.com" }, "CacheSecurityGroups": [], "CacheClusterCreateTime": "2016-09-21T16:28:28.973Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "modifying", "NumCacheNodes": 2, "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "SecurityGroups": [ { "Status": "active", "SecurityGroupId": "sg-dbe93fa2" } ], "CacheSubnetGroupName": "default", "EngineVersion": "1.4.24", "PendingModifiedValues": { "NumCacheNodes": 5 }, "PreferredMaintenanceWindow": "sat:09:00-sat:10:00", "CacheNodeType": "cache.m3.medium" } }

有关更多信息,请参阅 AWS CLI 主题 modify-cache-cluster

向缓存集群添加节点 (ElastiCache API)

要向未启用复制的现有 Redis (已禁用集群模式)复制组(控制台:集群)添加节点,您必须首先创建将该现有集群指定为主集群的复制组。有关更多信息,请参阅 向独立 Redis (已禁用集群模式) 群集中添加副本 (ElastiCache API)。待该复制组可用 后,您可以继续下面的流程。

(ElastiCache API) 向群集添加节点

  • 按照以下参数调用 ModifyCacheCluster API 操作:

    • CacheClusterId 要将节点添加到的群集的 ID。

    • NumCacheNodes NumCachNodes 参数指定应用修改后此群集中应有的节点的数量。要向此群集添加节点,NumCacheNodes 必须大于此群集中的当前节点数。如果此值小于当前节点数,则 ElastiCache 需要参数 CacheNodeIdsToRemove 以及要从群集中移除的节点的列表(请参阅(ElastiCache API) 从集群中移除节点)。

    • ApplyImmediately 指定是立即添加这些节点还是在下一维护时段添加这些节点。

    • Region 指定要将节点添加到的群集的 AWS 区域。

    以下示例演示向群集添加节点的调用。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &ApplyImmediately=true &NumCacheNodes=5 &CacheClusterId=myCacheCluster &Region=us-east-2 &Version=2014-12-01 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

有关更多信息,请参阅 ElastiCache API 主题 ModifyCacheCluster