注册可扩展目标
您可以应用基于预定义或自定义指标的扩展策略。为此,您可以使用 Amazon CLI 或 Application Auto Scaling API。第一步,使用 ElastiCache for Redis 弹性伸缩注册 ElastiCache for Redis 复制组。
您需要先对 ElastiCache for Redis 集群注册 ElastiCache for Redis 弹性伸缩,才能对集群使用 ElastiCache for Redis 弹性伸缩。这样做是为了定义应用于该集群的扩展维度和限制。ElastiCache for Redis 弹性伸缩会连同 elasticache:replication-group:Replicas
可扩展维度一起动态扩展 ElastiCache for Redis 集群,该可扩展维度表示每个分区的集群副本数量。
使用 CLI
要注册您的 Elasticache 集群,请使用包含下列参数的 register-scalable-target 命令:
--service-namespace – 将此值设置为 elasticache。
--resource-id – Elasticache 集群的资源标识符。对于此参数,资源类型为复制组,唯一标识符为 ElastiCache for Redis 集群的名称,例如
replication-group/myscalablecluster
。--scalable-dimension – 将此值设置为
elasticache:replication-group:Replicas
。--min-capacity – 由 ElastiCache for Redis 弹性伸缩管理的最小副本数。有关 --min-capacity、--max-capacity 和集群中副本数之间关系的信息,请参阅 最小和最大容量。
--max-capacity – 由 ElastiCache for Redis 弹性伸缩管理的最大副本数。有关 --min-capacity、--max-capacity 和集群中副本数之间关系的信息,请参阅 最小和最大容量。
在以下示例中,您注册一个名为 myscalablecluster
的 ElastiCache for Redis 集群。该注册表示应将集群动态扩展为具有 1 到 5 个副本。
对于 Linux、macOS 或 Unix:
aws application-autoscaling register-scalable-target \ --service-namespace elasticache \ --resource-id replication-group/myscalablecluster \ --scalable-dimension elasticache:replication-group:Replicas \ --min-capacity 1 \ --max-capacity 5 \
对于 Windows:
aws application-autoscaling register-scalable-target ^ --service-namespace elasticache ^ --resource-id replication-group/myscalablecluster ^ --scalable-dimension elasticache:replication-group:Replicas ^ --min-capacity 1 ^ --max-capacity 5 ^
使用 API
要注册您的 Elasticache 集群,请使用包含下列参数的 register-scalable-target 命令:
ServiceNamespace – 将此值设置为 elasticache。
ResourceID – Elasticache 集群的资源标识符。对于此参数,资源类型为复制组,唯一标识符为 ElastiCache for Redis 集群的名称,例如
replication-group/myscalablecluster
。ScalableDimension – 将此值设置为
elasticache:replication-group:Replicas
。MinCapacity – 由 ElastiCache for Redis 弹性伸缩管理的最小副本数。有关 --min-capacity、--max-capacity 和集群中副本数之间关系的信息,请参阅 最小和最大容量。
MaxCapacity – 由 ElastiCache for Redis 弹性伸缩管理的最大副本数。有关 --min-capacity、--max-capacity 和集群中副本数之间关系的信息,请参阅 最小和最大容量。
在以下示例中,您使用 Application Auto Scaling API 注册一个名为 myscalablecluster
的 ElastiCache for Redis 集群。该注册表示应将集群动态扩展为具有 1 到 5 个副本。
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "ServiceNamespace": "elasticache", "ResourceId": "replication-group/myscalablecluster", "ScalableDimension": "elasticache:replication-group:Replicas", "MinCapacity": 1, "MaxCapacity": 5 }