在线缩减 - 用于 Redis 的 Amazon ElastiCache
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

在线缩减

缩减 Redis 缓存集群(控制台)

以下步骤描述了如何使用缩小Redis群集 ElastiCache 管理控制台。在此过程中,Redis 集群将继续处理请求,且停机时间降至最短。

(控制台)缩减 Redis 集群

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

  2. 从导航窗格中,选择 Redis

  3. 从集群列表中,选择首选集群。

  4. 选择修改

  5. Modify Cluster 向导中:

    1. Node type 列表中选择您希望扩展到的节点类型。要缩减,请选择小于现有节点的节点类型。请注意,并不是可缩减到所有节点类型。

  6. 如果您要立即执行缩减过程,请选中立即应用框。如果立即应用框处于未选中状态,则在此集群的下一维护时段内执行缩减过程。

  7. 选择修改

    如果您在上一步选择了 Apply immediately,则集群的状态将变为 modifying。当状态变为 available 时,即表示修改完成,您可以开始使用新集群。

收缩 Redis 缓存集群 (AWS CLI)

以下过程介绍如何使用 AWS CLI 缩减 Redis 缓存集群。在此过程中,Redis 集群将继续处理请求,且停机时间降至最短。

(AWS CLI) 缩减 Redis 缓存集群

  1. 通过运行带以下参数的 AWS CLI list-allowed-node-type-modifications 命令,确定您可缩减为的节点类型。

    对于 Linux, OS X, or Unix:

    aws elasticache list-allowed-node-type-modifications \ --replication-group-id my-replication-group-id

    对于 Windows:

    aws elasticache list-allowed-node-type-modifications ^ --replication-group-id my-replication-group-id

    以上命令的输出类似于此处所示 (JSON 格式)。

    { "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" ] "ScaleDownModifications": [ "cache.t2.micro", "cache.t2.small ", "cache.t2.medium ", "cache.t1.small" ] }

    有关更多信息,请参阅 列表允许的节点类型修改 在 AWS CLI 参考.

  2. 使用 AWS CLI modify-replication-group 命令和以下参数修改复制组以缩减为较小的新节点类型。

    • --replication-group-id – 要缩减为的复制组的名称。

    • --cache-node-type – 要将缓存集群扩展为的新节点类型。此值必须是步骤 1 中由 list-allowed-node-type-modifications 命令返回的节点类型之一。

    • --cache-parameter-group-name – [可选] 如果您在使用 reserved-memory 管理集群的预留内存,则使用此参数。指定为您的新节点类型预留正确内存量的自定义缓存参数组。如果您在使用 reserved-memory-percent,则可以忽略此参数。

    • --apply-immediately – 导致立即应用向上扩展流程。要将收缩流程推迟到此集群的下一维护时段,请使用 --no-apply-immediately 参数。

    对于 Linux, OS X, or Unix:

    aws elasticache modify-replication-group \ --replication-group-id my-redis-cluster \ --cache-node-type cache.t2.micro \ --apply-immediately

    对于 Windows:

    aws elasticache modify-replication-group ^ --replication-group-id my-redis-cluster ^ --cache-node-type cache.t2.micro ^ --apply-immediately

    以上命令的输出类似于此处所示 (JSON 格式)。

    { "ReplicationGroup": { "Status": "modifying", "Description": "my-redis-cluster", "NodeGroups": [ { "Status": "modifying", "Slots": "0-16383", "NodeGroupId": "0001", "NodeGroupMembers": [ { "PreferredAvailabilityZone": "us-east-1f", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-001" }, { "PreferredAvailabilityZone": "us-east-1d", "CacheNodeId": "0001", "CacheClusterId": "my-redis-cluster-0001-002" } ] } ], "ConfigurationEndpoint": { "Port": 6379, "Address": "my-redis-cluster.r7gdfi.clustercfg.use1.cache.amazonaws.com" }, "ClusterEnabled": true, "ReplicationGroupId": "my-redis-cluster", "SnapshotRetentionLimit": 1, "AutomaticFailover": "enabled", "SnapshotWindow": "07:30-08:30", "MemberClusters": [ "my-redis-cluster-0001-001", "my-redis-cluster-0001-002" ], "CacheNodeType": "cache.t2.micro", "PendingModifiedValues": {} } }

    有关更多信息,请参阅 modify-replication-group 在 AWS CLI 参考.

  3. 如果您使用了 --apply-immediately,请使用带以下参数的 AWS CLI describe-cache-clusters 命令检查缓存集群的状态。当状态变为 available 时,您便可开始使用较小的新缓存集群节点。

收缩 Redis 缓存集群 (ElastiCache API)

以下过程使用 ElastiCache API 将复制组从其当前节点类型缩减为较小的新节点类型。在此过程中,Redis 集群将继续处理请求,且停机时间降至最短。

缩减为较小的节点类型所需的时间因节点类型和当前缓存集群中的数据量而异。

(ElastiCache API) 缩减

  1. 使用带以下参数的 ElastiCache API ListAllowedNodeTypeModifications 操作确定您可缩减为的节点类型。

    • ReplicationGroupId – 复制组的名称。使用此参数可描述特定复制组而非所有复制组。

    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>

    有关更多信息,请参阅 ListAllowedNodeTypeModifications 在 Amazon ElastiCache API参考.

  2. 使用带以下参数的 ModifyReplicationGroup ElastiCache API 操作将当前复制组缩减为新的节点类型。

    • ReplicationGroupId – 复制组的名称。

    • CacheNodeType – 此复制组中的缓存集群较小的新节点类型。此值必须是步骤 1 中由 ListAllowedNodeTypeModifications 操作返回的实例类型之一。

    • CacheParameterGroupName – [可选] 如果您在使用 reserved-memory 管理集群的预留内存,则使用此参数。指定为您的新节点类型预留正确内存量的自定义缓存参数组。如果您在使用 reserved-memory-percent,则可以忽略此参数。

    • ApplyImmediately – 设置为 true 可导致立即应用缩减流程。要将缩减流程推迟到下一维护时段,请使用 ApplyImmediately=false

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.t2.micro &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &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>

    有关更多信息,请参阅 ModifyReplicationGroup 在 Amazon ElastiCache API参考.