Aplicar uma política de escalabilidade
Após registrar seu cluster com o ajuste de escala automático do ElastiCache para Valkey e Redis OSS e definir uma política de escalabilidade, aplique a política de escalabilidade ao cluster registrado. Para aplicar uma política de escalabilidade a um cluster do ElastiCache para Redis OSS, você pode usar a AWS CLI ou a API do Application Auto Scaling.
Aplicação de uma política de escalabilidade usando a AWS CLI
Para aplicar uma política de escalabilidade a seu cluster do ElastiCache para Valkey e Redis OSS, use o comando put-scaling-policy com os seguintes parâmetros:
-
--policy-name: o nome da política de escalabilidade.
-
--policy-type: defina este valor como
TargetTrackingScaling. -
--resource-id: o identificador do recurso. Para este parâmetro, o tipo de recurso é
ReplicationGroupe o identificador exclusivo é nome do cluster, por exemploreplication-group/myscalablecluster. -
--service-namespace: defina este valor como
elasticache. -
--scalable-dimension: defina este valor como
elasticache:replication-group:NodeGroups. -
--target-tracking-scaling-policy-configuration: a configuração da política de escalabilidade com monitoramento do objetivo a ser usada para o cluster.
No exemplo a seguir, é aplicada uma política de escalabilidade com monitoramento do objetivo chamada myscalablepolicy a um cluster do ElastiCache para Valkey e Redis OSS chamado myscalablecluster com o ajuste de escala automático do ElastiCache. Para fazer isso, use uma configuração de política salva em um arquivo chamado config.json.
Para Linux, macOS ou Unix:
aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id replication-group/myscalablecluster \ --service-namespace elasticache \ --scalable-dimension elasticache:replication-group:NodeGroups \ --target-tracking-scaling-policy-configuration file://config.json
Para Windows:
aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id replication-group/myscalablecluster ^ --service-namespace elasticache ^ --scalable-dimension elasticache:replication-group:NodeGroups ^ --target-tracking-scaling-policy-configuration file://config.json
Aplicação de uma política de escalabilidade usando a API
Para aplicar uma política de escalabilidade a seu cluster do ElastiCache para Valkey e Redis OSS, use o comando da AWS CLI PutScalingPolicy com os seguintes parâmetros:
--policy-name: o nome da política de escalabilidade.
--resource-id: o identificador do recurso. Para este parâmetro, o tipo de recurso é
ReplicationGroupe o identificador exclusivo é nome do cluster, por exemploreplication-group/myscalablecluster.--service-namespace: defina este valor como
elasticache.--scalable-dimension: defina este valor como
elasticache:replication-group:NodeGroups.--target-tracking-scaling-policy-configuration: a configuração da política de escalabilidade com monitoramento do objetivo a ser usada para o cluster.
No exemplo a seguir, aplique a política de escalabilidade com monitoramento do objetivo chamada myscalablepolicy para um cluster do ElastiCache chamado myscalablecluster com a escalabilidade automática do ElastiCache. Use uma configuração de política com base na métrica predefinida ElastiCachePrimaryEngineCPUUtilization.
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy 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 { "PolicyName": "myscalablepolicy", "ServiceNamespace": "elasticache", "ResourceId": "replication-group/myscalablecluster", "ScalableDimension": "elasticache:replication-group:NodeGroups", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } } }