本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
缩减单节点 Redis 集群
以下部分介绍了如何将单节点 Redis 集群缩减为较小的节点类型。确保较小的新节点类型足以容纳所有数据和 Redis 开销,这一点对于新 Redis 集群的长期成功至关重要。有关更多信息,请参阅确保具有用于创建 Redis 快照的足够内存。
注意
对于运行 r6gd 节点类型的集群,您只能在 r6gd 节点系列的节点大小范围内扩缩。
缩减单节点 Redis 集群(控制台)
以下过程介绍如何使用 ElastiCache 控制台将单节点 Redis 集群缩减为较小的节点类型。
重要
如果您的参数组使用 reserved-memory
为 Redis 开销留出一些内存,则在开始扩展之前,请确保您具有为新节点类型预留正确内存量的自定义参数组。或者,您可以修改自定义参数组以便使用 reserved-memory-percent
,并为您的新集群使用该参数组。
如果您在使用 reserved-memory-percent
,则这不是必需的。
有关更多信息,请参阅管理预留内存。
缩减单节点 Redis 集群(控制台)
-
确保较小的节点类型足以满足您的数据和开销需求。
-
如果您的参数组使用
reserved-memory
为 Redis 开销留出一些内存,请确保您具有为新节点类型预留正确内存量的自定义参数组。或者,您可以修改自定义参数组以使用
reserved-memory-percent
。有关更多信息,请参阅管理预留内存。 -
登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台 (https://console.aws.amazon.com/elasticache/
)。 -
从集群列表中,选择要缩减的集群。该集群必须运行 Redis 引擎,而不是集群化 Redis 引擎。
-
选择 Modify(修改)。
-
在 Modify Cluster 向导中:
-
从 Node type (节点类型) 列表中选择您希望缩减到的节点类型。
-
如果您在使用
reserved-memory
管理内存,请从 Parameter Group 列表中,选择为新节点类型预留正确内存量的自定义参数组。
-
-
如果您要立即执行缩减过程,请选中 Apply immediately (立即应用) 复选框。如果 Apply immediately (立即应用) 复选框处于未选中状态,则在此集群的下一维护时段内执行缩减过程。
-
选择 Modify(修改)。
-
当集群的状态从 modifying 变为 available 时,即表示您的集群已扩展为新的节点类型。无需更新应用程序中的终端节点。
缩减单节点 Redis 缓存集群 (Amazon CLI)
以下过程介绍如何使用 Amazon CLI 收缩单节点 Redis 缓存集群。
缩减单节点 Redis 缓存集群 (Amazon CLI)
-
通过运行带以下参数的 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。
-
使用 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-typecache.m3.xlarge
\ --cache-parameter-group-nameredis32-m2-xl
\ --apply-immediately对于 Windows:
aws elasticache modify-cache-cluster ^ --cache-cluster-id
my-redis-cache-cluster
^ --cache-node-typecache.m3.xlarge
^ --cache-parameter-group-nameredis32-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。
-
如果您使用了
--apply-immediately
,请使用带以下参数的 Amazon CLIdescribe-cache-clusters
命令检查新缓存集群的状态。当状态变为 available 时,您便可开始使用较大的新缓存集群。--cache-cache cluster-id
– 单节点 Redis 缓存集群的名称。使用此参数可描述特定缓存集群而非所有缓存集群。
aws elasticache describe-cache-clusters --cache-cluster-id
my-redis-cache-cluster
有关更多信息,请参阅 Amazon CLI 参考中的 describe-cache-clusters。
缩减单节点 Redis 缓存集群 (ElastiCache API)
以下过程介绍如何使用 ElastiCache API 扩展/缩减单节点 Redis 缓存集群。
缩减单节点 Redis 缓存集群 (ElastiCache API)
-
通过运行带以下参数的 ElastiCache API
ListAllowedNodeTypeModifications
操作,确定您可缩减为的节点类型。CacheClusterId
–要缩减的单节点 Redis 缓存集群的名称。
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。
-
使用
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。
-
如果您使用了
ApplyImmediately
=true
,请使用带以下参数的 ElastiCache APIDescribeCacheClusters
操作检查新缓存集群的状态。当状态变为 available 时,您便可开始使用较小的新缓存集群。CacheClusterId
– 单节点 Redis 缓存集群的名称。使用此参数可描述特定缓存集群而非所有缓存集群。
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。