Registro de um destino escalável
Você pode aplicar uma política de escalabilidade com base em uma métrica predefinida ou personalizada. Para fazer isso, você pode usar a AWS CLI ou a API do Application Auto Scaling. A primeira etapa é registrar seu grupo de replicação do ElastiCache para Valkey e Redis OSS no ajuste de escala automático.
Antes de poder usar o ajuste de escala automático do ElastiCache com um cluster, você deve registrar seu cluster no ajuste de escala automático do ElastiCache. Faça isso para definir a dimensão de escalabilidade e os limites a serem aplicados no cluster. O ajuste de escala automático do ElastiCache escala dinamicamente o cluster ao longo da dimensão escalável elasticache:replication-group:Replicas, que representa o número de réplicas por fragmento de cluster.
Usar a CLI
Para registrar o cluster do ElastiCache, use o comando register-scalable-target com os seguintes parâmetros:
-
--service-namespace: defina este valor como elasticache.
-
--resource-id: o identificador de recursos para o cluster do ElastiCache. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo
replication-group/myscalablecluster. -
--scalable-dimension: defina este valor como
elasticache:replication-group:Replicas. -
--min-capacity: o número mínimo de fragmentos a serem gerenciados pela escalabilidade automática do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte Capacidades mínima e máxima.
-
--max-capacity: o número máximo de fragmentos a serem gerenciados pela escalabilidade automática do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte Capacidades mínima e máxima.
No exemplo a seguir, registre um cluster do ElastiCache de nome myscalablecluster. O registro indica que o cluster deve ser escalado dinamicamente para ter de uma a 5 réplicas.
Para Linux, macOS ou 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 \
Para 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 ^
Usar a API
Para registrar o cluster do ElastiCache, use o comando register-scalable-target com os seguintes parâmetros:
ServiceNamespace: defina este valor como elasticache.
ResourceID: o identificador de recursos para o cluster do ElastiCache. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo
replication-group/myscalablecluster.ScalableDimension: defina este valor como
elasticache:replication-group:Replicas.MinCapacity: o número mínimo de réplicas a serem gerenciadas pela escalabilidade automática do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte Capacidades mínima e máxima.
MaxCapacity: o número máximo de réplicas a serem gerenciadas pela escalabilidade automática do ElastiCache. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de réplicas no cluster, consulte Capacidades mínima e máxima.
No exemplo a seguir, um cluster chamado myscalablecluster é registrado na API do Application Auto Scaling. Este registro indica que o cluster deve ser escalado dinamicamente para ter de uma a 5 réplicas.
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 }