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 ajuste de escala
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ê usa esse arquivo de texto ao invocar a AWS CLI ou a API Application Auto Scaling. Para ter 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ê usa esse arquivo de texto ao invocar a AWS CLI ou a API Application Auto Scaling. Para ter 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
Usando métricas predefinidas, você pode definir rapidamente uma política de escalabilidade de rastreamento de metas para um cluster OSS ElastiCache para Valkey e Redis que funciona com rastreamento de metas no Auto Scaling. ElastiCache Atualmente, é ElastiCache compatível com a seguinte métrica predefinida no Auto Scaling de ElastiCache réplicas:
ElastiCacheReplicaEngineCPUUtilization
— O valor médio da CPUUtilization métrica do Engine em CloudWatch todas as réplicas no cluster. Você pode encontrar o valor da métrica agregada CloudWatch em ElastiCache ReplicationGroupId, Role
for required ReplicationGroupId e Role Replica.
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 ElastiCache métrica OSS do Valkey e do Redis que mude em proporção à escala. Nem todas as ElastiCache métricas funcionam para o rastreamento de metas. 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.
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 ter mais informações sobre ScaleInCooldown
e ScaleOutCooldown
, consulte TargetTrackingScalingPolicyConfiguration na Referência de 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 de rastreamento de destino seja escalada em seu cluster OSS ElastiCache para Valkey e Redis desativando a atividade de escalabilidade. 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 ter mais informações sobre DisableScaleIn
, consulte TargetTrackingScalingPolicyConfiguration na Referência de 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
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 OSS ElastiCache para Valkey e Redis
Depois de registrar seu cluster com o ElastiCache escalonamento automático do Valkey e do Redis OSS e definir uma política de escalabilidade, você aplica a política de escalabilidade ao cluster registrado. Para aplicar uma política de escalabilidade a um cluster OSS ElastiCache para Valkey e Redis, você pode usar a AWS CLI ou a API Application Auto Scaling.
Usando o AWS CLI
Para aplicar uma política de escalabilidade ao seu cluster OSS ElastiCache para Valkey e Redis, use o put-scaling-policycomando 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 esse parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é o 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 de rastreamento de destino a ser usada no cluster.
No exemplo a seguir, você aplica uma política de escalabilidade de rastreamento de metas nomeada myscalablepolicy
a um cluster chamado com escalabilidade myscalablecluster
automática 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
Uso da API
Para aplicar uma política de escalabilidade ao seu ElastiCache cluster com a API Application Auto Scaling, use PutScalingPolicya operação da API Application Auto Scaling com os seguintes parâmetros:
-
PolicyName — O nome da política de escalabilidade.
-
PolicyType — Defina esse valor como
TargetTrackingScaling
. -
ResourceID: o identificador de recursos para o cluster. Para esse parâmetro, o tipo de recurso é ReplicationGroup e o identificador exclusivo é o nome do cluster OSS ElastiCache for Redis, por exemplo.
replication-group/myscalablecluster
-
ServiceNamespace — Defina esse valor como elasticache.
-
ScalableDimension — Defina esse valor como
elasticache:replication-group:Replicas
. -
TargetTrackingScalingPolicyConfiguration — A configuração da política de escalabilidade de rastreamento de metas a ser usada no cluster.
No exemplo a seguir, você aplica uma política de escalabilidade de rastreamento de metas nomeada scalablepolicy
a um cluster chamado com escalabilidade myscalablecluster
automática ElastiCache . 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" } } }