Definir uma política de ajuste de escala - Amazon ElastiCache

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 metas é representada por um JSON bloco no qual as métricas e os valores-alvo são definidos. Você pode salvar uma configuração de política de escalabilidade como um JSON bloco em um arquivo de texto. Você usa esse arquivo de texto ao invocar o AWS CLI ou o Application API Auto Scaling. Para obter mais informações sobre a sintaxe de configuração de políticas, consulte TargetTrackingScalingPolicyConfigurationna Application Auto API Scaling Reference.

As seguintes opções estão disponíveis para definir uma configuração de política de escalabilidade com monitoramento do objetivo:

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 OSS cluster ElastiCache com Valkey ou Redis que funcione com rastreamento de alvos no Auto Scaling (Redis ElastiCache ). OSS

Atualmente, é ElastiCache compatível com as seguintes métricas predefinidas no NodeGroup Auto Scaling:

  • ElastiCachePrimaryEngineCPUUtilization— O valor médio da EngineCPUUtilization métrica em CloudWatch todos os nós primários do cluster.

  • ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage— O valor médio da DatabaseMemoryUsageCountedForEvictPercentage métrica em CloudWatch todos os nós primários do cluster.

  • ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage— O valor médio da ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage métrica em CloudWatch todos os nós primários do cluster.

Para ter mais informações sobre as métricas EngineCPUUtilizationDatabaseMemoryUsageCountedForEvictPercentage e DatabaseCapacityUsageCountedForEvictPercentage, consulte Monitorando o uso com CloudWatch métricas. 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 um PredefinedMetricSpecification para a métrica predefinida e um TargetValue para o valor alvo dessa métrica.

O exemplo a seguir descreve uma configuração de política típica para escalonamento de rastreamento de destinos para um cluster ElastiCache com Valkey ou Redis. OSS Nessa configuração, a métrica ElastiCachePrimaryEngineCPUUtilization predefinida é usada para ajustar o cluster com base em uma CPU utilização média de 40% em todos os nós primários do cluster.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } }

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 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 fragmentos 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 fragmentos.

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 ElastiCache (RedisOSS) com base em uma CPU utilização média de 50% em todos os fragmentos em um cluster chamado. my-db-cluster

{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ { "Name": "RelicationGroup","Value": "my-db-cluster" }, { "Name": "Role","Value": "PRIMARY" } ], "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, consulte TargetTrackingScalingPolicyConfigurationna Referência do Application Auto Scaling. API

O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica ElastiCachePrimaryEngineCPUUtilization predefinida é usada para ajustar um cluster ElastiCache (RedisOSS) com base em uma CPU utilização média de 40% em todos os nós primários desse 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": "ElastiCachePrimaryEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }