缩小单节点 Redis OSS 集群规模 - 亚马逊 ElastiCache (Redis OSS)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

缩小单节点 Redis OSS 集群规模

以下各节将向您介绍如何将单节点 Redis OSS 集群向下扩展为较小的节点类型。确保较小的新节点类型足够大,足以容纳所有数据和 Redis OSS 开销,对于新 Redis OSS 集群的长期成功非常重要。有关更多信息,请参阅 确保您有足够的内存来创建 Redis OSS 快照

注意

对于运行 r6gd 节点类型的集群,您只能在 r6gd 节点系列的节点大小范围内扩缩。

缩小单节点 Redis OSS 集群的规模(控制台)

以下过程将引导您使用控制台将单节点 Redis OSS 集群向下扩展到较小的节点类型。 ElastiCache

重要

如果您的参数组用于reserved-memory为 Redis OSS 开销预留内存,则在开始扩展之前,请确保您有一个自定义参数组,可以为您的新节点类型保留正确的内存量。或者,您可以修改自定义参数组以便使用 reserved-memory-percent,并为您的新集群使用该参数组。

如果您在使用 reserved-memory-percent,则这不是必需的。

有关更多信息,请参阅 管理预留内存

缩小您的单节点 Redis OSS 集群(控制台)
  1. 确保较小的节点类型足以满足您的数据和开销需求。

  2. 如果您的参数组用于reserved-memory为 Redis OSS 开销预留内存,请确保您有一个自定义参数组,以便为您的新节点类型留出正确的内存量。

    或者,您可以修改自定义参数组以使用 reserved-memory-percent。有关更多信息,请参阅 管理预留内存

  3. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  4. 从集群列表中,选择要缩减的集群。该集群必须运行 Redis OSS 引擎,而不是集群化 Redis OSS 引擎。

  5. 选择 Modify(修改)。

  6. Modify Cluster 向导中:

    1. Node type (节点类型) 列表中选择您希望缩减到的节点类型。

    2. 如果您在使用 reserved-memory 管理内存,请从 Parameter Group 列表中,选择为新节点类型预留正确内存量的自定义参数组。

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

  8. 选择 Modify(修改)。

  9. 当集群的状态从 modifying 变为 available 时,即表示您的集群已扩展为新的节点类型。无需更新应用程序中的终端节点。

缩小单节点 Redis OSS 缓存集群的规模 ()Amazon CLI

以下过程介绍如何使用缩小单节点 Redis OSS 缓存集群。 Amazon CLI

缩小单节点 Redis OSS 缓存集群的规模 ()Amazon CLI
  1. 通过运行带有以下参数的 Amazon CLI list-allowed-node-type-modifications命令来确定可以缩减到的节点类型。

    • --cache-cluster-id

    对于 Linux、macOS 或 Unix:

    aws elasticache list-allowed-node-type-modifications \ --cache-cluster-id my-cache-cluster-id

    对于 Windows:

    aws elasticache list-allowed-node-type-modifications ^ --cache-cluster-id my-cache-cluster-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 ", ], }

    有关更多信息,请参阅 Amazon CLI 参考中的 list-allowed-node-type-modifications。

  2. 使用 Amazon CLI modify-cache-cluster命令和以下参数修改现有的缓存集群,指定要向下扩展的缓存集群和新的较小节点类型。

    • --cache-cluster-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、macOS 或 Unix:

    aws elasticache modify-cache-cluster \ --cache-cluster-id my-redis-cache-cluster \ --cache-node-type cache.m3.xlarge \ --cache-parameter-group-name redis32-m2-xl \ --apply-immediately

    对于 Windows:

    aws elasticache modify-cache-cluster ^ --cache-cluster-id my-redis-cache-cluster ^ --cache-node-type cache.m3.xlarge ^ --cache-parameter-group-name redis32-m2-xl ^ --apply-immediately

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

    { "CacheCluster": { "Engine": "redis", "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.redis6,x", "ParameterApplyStatus": "in-sync" }, "SnapshotRetentionLimit": 1, "CacheClusterId": "my-redis-cache-cluster", "CacheSecurityGroups": [], "NumCacheNodes": 1, "SnapshotWindow": "00:00-01:00", "CacheClusterCreateTime": "2017-02-21T22:34:09.645Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "modifying", "PreferredAvailabilityZone": "us-west-2a", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheSubnetGroupName": "default", "EngineVersion": "6.0", "PendingModifiedValues": { "CacheNodeType": "cache.m3.2xlarge" }, "PreferredMaintenanceWindow": "tue:11:30-tue:12:30", "CacheNodeType": "cache.m3.medium", "DataTiering": "disabled" } }

    有关更多信息,请参阅 Amazon CLI 参考中的 modify-cache-cluster。

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

    • --cache-cache cluster-id— 您的单节点 Redis OSS 缓存集群的名称。使用此参数可描述特定缓存集群而非所有缓存集群。

    aws elasticache describe-cache-clusters --cache-cluster-id my-redis-cache-cluster

    有关更多信息,请参阅 Amazon CLI 参考中的 describe-cache-clusters。

缩小单节点 Redis OSS 缓存集群 (API) ElastiCache

以下过程介绍如何使用 API 向上扩展单节点 Redis OSS 缓存集群。 ElastiCache

缩小单节点 Redis OSS 缓存集群 (API) ElastiCache
  1. 通过使用以下参数运行 ElastiCache API ListAllowedNodeTypeModifications 操作来确定可以缩减到的节点类型。

    • CacheClusterId— 您要缩减的单节点 Redis OSS 缓存集群的名称。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ListAllowedNodeTypeModifications &CacheClusterId=MyRedisCacheCluster &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

    有关更多信息,请参阅 Amazon ElastiCache API 参考ListAllowedNodeTypeModifications中的。

  2. 使用 ModifyCacheCluster ElastiCache API 操作和以下参数修改现有的缓存集群,指定要向上扩展的缓存集群和新的更大的节点类型。

    • CacheClusterId – 要缩减的缓存集群的名称。

    • CacheNodeType – 要将缓存集群缩减到的较小的新节点类型。此值必须是步骤 1 中由 ListAllowedNodeTypeModifications 操作返回的节点类型之一。

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

    • ApplyImmediately – 设置为 true 可促使立即执行缩减过程。要将纵向扩展流程推迟到此集群的下一维护时段,请使用 ApplyImmediately=false

    https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyCacheCluster &ApplyImmediately=true &CacheClusterId=MyRedisCacheCluster &CacheNodeType=cache.m3.xlarge &CacheParameterGroupName redis32-m2-xl &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

    有关更多信息,请参阅 Amazon ElastiCache API 参考ModifyCacheCluster中的。

  3. 如果您使用了 ApplyImmediately=true,请使用带有以下参数的 ElastiCache API DescribeCacheClusters 操作检查新缓存集群的状态。当状态变为 available 时,您便可开始使用较小的新缓存集群。

    • CacheClusterId— 您的单节点 Redis OSS 缓存集群的名称。使用此参数可描述特定缓存集群而非所有缓存集群。

    https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeCacheClusters &CacheClusterId=MyRedisCacheCluster &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

    有关更多信息,请参阅 Amazon ElastiCache API 参考DescribeCacheClusters中的。