As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Definir uma política de escalabilidade
Uma configuração de política de escalabilidade de rastreamento de destino é representada por um bloco JSON no qual as métricas e valores de destino são definidos. Você pode salvar uma configuração de política de escalabilidade como um bloco JSON em um arquivo de texto. Você pode usar esse arquivo de texto ao invocar a AWS CLI ou a API do Application Auto Scaling. Para obter mais informações sobre a sintaxe de configuração de política, consulte TargetTrackingScalingPolicyConfiguration na Referência da API do Application Auto Scaling.
As seguintes opções estão disponíveis para definir uma configuração de política de escalabilidade com monitoramento do objetivo:
Tópicos
Uso de uma métrica predefinida
Uma configuração de política de escalabilidade de rastreamento de destino é representada por um bloco JSON no qual as métricas e valores de destino são definidos. Você pode salvar uma configuração de política de escalabilidade como um bloco JSON em um arquivo de texto. Você pode usar esse arquivo de texto ao invocar a AWS CLI ou a API do Application Auto Scaling. Para obter mais informações sobre a sintaxe de configuração de política, consulte TargetTrackingScalingPolicyConfiguration na Referência da API do Application Auto Scaling.
As seguintes opções estão disponíveis para definir uma configuração de política de escalabilidade com monitoramento do objetivo:
Tópicos
Uso de uma métrica predefinida
Com o uso de métricas predefinidas, você pode definir rapidamente uma política de escalabilidade com monitoramento do objetivo para um cluster do ElastiCache para Valkey e Redis OSS que funcione com o monitoramento do objetivo no ajuste de escala automático do ElastiCache. Atualmente, o ElastiCache dá suporte à seguinte métrica predefinida no Auto Scaling do ElastiCache:
ElastiCacheReplicaEngineCPUUtilization: o valor médio da métrica EngineCPUUtilization no CloudWatch em todas as réplicas no cluster. Você pode encontrar o valor da métrica agregada no CloudWatch em ElastiCache ReplicationGroupId, Role para ReplicationGroupId e réplica de função obrigatórios.
Para usar uma métrica predefinida em sua política de escalabilidade, crie uma configuração de rastreamento de destino para sua política de escalabilidade. Essa configuração deve incluir uma PredefinedMetricSpecification para a métrica predefinida e um TargetValue para o valor de destino dessa métrica.
Uso de uma métrica personalizada
Com o uso de métricas personalizadas, você pode definir uma política de escalabilidade de rastreamento de destino que atenda a suas exigências personalizadas. Você pode definir uma métrica personalizada com base em qualquer métrica do ElastiCache para Valkey e Redis OSS que mude na proporção da escalabilidade. Nem todas as métricas do ElastiCache funcionam para o monitoramento do objetivo. A métrica deve ser de utilização válida e descrever o quão ocupada uma instância está. O valor da métrica deve aumentar ou diminuir na proporção do número de réplicas no cluster. Essa aumento ou redução proporcional é necessário para usar os dados da métrica para expandir ou reduzir proporcionalmente o número de réplicas.
exemplo
O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, uma métrica personalizada ajusta um cluster com base em uma utilização média da CPU de 50 por centro em todas as réplicas em um cluster chamado my-db-cluster.
{"TargetValue": 50, "CustomizedMetricSpecification": {"MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ {"Name": "ReplicationGroup","Value": "my-db-cluster"}, {"Name": "Role","Value": "REPLICA"} ], "Statistic": "Average", "Unit": "Percent" } }
Uso de períodos de desaquecimento
Você pode especificar um valor, em segundos, para ScaleOutCooldown a fim de adicionar um desaquecimento para expandir seu cluster. De forma similar, você pode adicionar um valor, em segundos, para ScaleInCooldown a fim de adicionar um período de desaquecimento para reduzir a escala na horizontal do seu cluster. Para obter mais informações sobre ScaleInCooldown e ScaleOutCooldown, consulte TargetTrackingScalingPolicyConfiguration na Referência da API do Application Auto Scaling. O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica predefinida ElastiCacheReplicaEngineCPUUtilization é usada para ajustar um cluster com base em uma utilização média da CPU de 40 por cento em todas as réplicas nesse cluster. A configuração fornece um desaquecimento de redução de 10 minutos e em um desaquecimento de expansão de 5 minutos.
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }
Desabilitar a atividade de redução
Você pode impedir que a configuração da política de escalabilidade com monitoramento do objetivo reduza a escala horizontalmente de seu cluster do ElastiCache para Valkey e Redis OSS desabilitando a atividade de redução de escala horizontal. Desabilitar a atividade de redução de escala na horizontal impede que a política de escalabilidade exclua réplicas, enquanto permite ao mesmo tempo que a política de escalabilidade adicione-as conforme necessário.
Você pode especificar um valor booleano para DisableScaleIn a fim de permitir ou evitar a atividade de redução de escala na horizontal no seu cluster. Para obter mais informações sobre DisableScaleIn, consulte TargetTrackingScalingPolicyConfiguration na Referência da API do Application Auto Scaling.
exemplo
O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica predefinida ElastiCacheReplicaEngineCPUUtilization ajusta um cluster com base em uma utilização média da CPU de 40 por cento em todas as réplicas nesse cluster. A configuração desativa a atividade de redução para a política de escalabilidade.
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }
Aplicação de uma política de escalabilidade a um cluster do ElastiCache para Valkey e Redis OSS
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 Valkey e Redis OSS, você pode usar a AWS CLI ou a API do Application Auto Scaling.
Como usar o 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 o cluster. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster, por exemplo
replication-group/myscalablecluster. -
--service-namespace: defina este valor como elasticache.
-
--scalable-dimension: defina este valor como
elasticache:replication-group:Replicas. -
--target-tracking-scaling-policy-configuration: a configuração da política de escalabilidade com monitoramento do objetivo a ser usada para o cluster.
exemplo
No exemplo a seguir, aplique a política de escalabilidade com monitoramento do objetivo chamada myscalablepolicy a um cluster 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:Replicas \ --target-tracking-scaling-policy-configuration file://config.json
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }
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:Replicas ^ --target-tracking-scaling-policy-configuration file://config.json
Usar a API
Para aplicar a política de escalabilidade em seu cluster do ElastiCache com a API do Application Auto Scaling, use a operação PutScalingPolicy da API do Application Auto Scaling com os seguintes parâmetros:
-
PolicyName: o nome da política de escalabilidade.
-
PolicyType: defina este valor como
TargetTrackingScaling. -
ResourceID: o identificador de recursos para o cluster. Para este parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é nome do cluster do ElastiCache para Redis OSS, por exemplo
replication-group/myscalablecluster. -
ServiceNamespace: defina este valor como elasticache.
-
ScalableDimension: defina este valor como
elasticache:replication-group:Replicas. -
TargetTrackingScalingPolicyConfiguration: a configuração da política de escalabilidade com monitoramento do objetivo a ser usada para o cluster.
exemplo
No exemplo a seguir, aplique a política de escalabilidade com monitoramento do objetivo chamada scalablepolicy a um cluster chamado myscalablecluster com o ajuste de escala automático do ElastiCache com Valkey ou Redis OSS. Use uma configuração de política com base na métrica predefinida ElastiCacheReplicaEngineCPUUtilization.
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:Replicas", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" } } }