注册可扩展目标
您可以应用基于预定义或自定义指标的扩展策略。为此,您可以使用 Amazon CLI 或 Application Auto Scaling API。第一步是为 ElastiCache for Valkey and Redis OSS 复制组注册自动扩缩。
在集群上使用 ElastiCache 自动扩缩之前,您必须先为集群注册 ElastiCache 自动扩缩。这样做是为了定义应用于该集群的扩展维度和限制。ElastiCache 自动扩缩会连同 elasticache:replication-group:Replicas 可扩缩维度一起动态扩缩集群,该维度表示每个分片的集群副本数量。
使用 CLI:
要注册您的 ElastiCache 集群,请使用包含下列参数的 register-scalable-target 命令:
-
--service-namespace – 将此值设置为 elasticache。
-
--resource-id – ElastiCache 集群的资源标识符。对于该参数,资源类型为 ReplicationGroup,唯一标识符为集群的名称,例如
replication-group/myscalablecluster。 -
--scalable-dimension – 将此值设置为
elasticache:replication-group:Replicas。 -
--min-capacity – 由 ElastiCache 自动扩缩管理的最小副本数。有关 --min-capacity、--max-capacity 和集群中副本数之间关系的信息,请参阅 最小和最大容量。
-
--max-capacity – 由 ElastiCache 自动扩缩管理的最大副本数。有关 --min-capacity、--max-capacity 和集群中副本数之间关系的信息,请参阅 最小和最大容量。
在以下示例中,您注册一个名为 myscalablecluster 的 ElastiCache 集群。该注册表示应将集群动态扩展为具有 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 集群的资源标识符。对于该参数,资源类型为 ReplicationGroup,唯一标识符为集群的名称,例如
replication-group/myscalablecluster。ScalableDimension – 将此值设置为
elasticache:replication-group:Replicas。MinCapacity – 由 ElastiCache 自动扩缩管理的最小副本数。有关 --min-capacity、--max-capacity 和集群中副本数之间关系的信息,请参阅 最小和最大容量。
MaxCapacity – 由 ElastiCache 自动扩缩管理的最大副本数。有关 --min-capacity、--max-capacity 和集群中副本数之间关系的信息,请参阅 最小和最大容量。
在以下示例中,您使用 Application Auto Scaling API 注册了一个名为 myscalablecluster 的集群。该注册表示应将集群动态扩展为具有 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 }