Defining a scaling policy - Amazon ElastiCache

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Defining a scaling policy

La configuración de una política de escalado de seguimiento de objetivos se representa mediante un JSON bloque en el que se definen las métricas y los valores objetivo. Puede guardar una configuración de política de escalado como un JSON bloque en un archivo de texto. Este archivo de texto se utiliza cuando se invoca el AWS CLI o la aplicación Auto ScalingAPI. Para obtener más información sobre la sintaxis de configuración de políticas, consulte TargetTrackingScalingPolicyConfigurationla API Referencia de Application Auto Scaling.

Las siguientes opciones se encuentran disponibles para definir una configuración de la política de escalado de seguimiento de destino:

Uso de una métrica predefinida

Mediante el uso de métricas predefinidas, puede definir rápidamente una política de escalado de seguimiento de objetivos para un OSS clúster ElastiCache con Valkey o Redis que funcione con el seguimiento de objetivos en Auto Scaling ElastiCache (Redis)OSS.

Actualmente, ElastiCache admite las siguientes métricas predefinidas en NodeGroup Auto Scaling:

  • ElastiCachePrimaryEngineCPUUtilization— El valor medio de la EngineCPUUtilization métrica en CloudWatch todos los nodos principales del clúster.

  • ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage— El valor medio de la DatabaseMemoryUsageCountedForEvictPercentage métrica en CloudWatch todos los nodos principales del clúster.

  • ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage— El valor medio de la ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage métrica en CloudWatch todos los nodos principales del clúster.

Para obtener más información sobre las métricas de EngineCPUUtilizationDatabaseMemoryUsageCountedForEvictPercentage y DatabaseCapacityUsageCountedForEvictPercentage, consulte Supervisión del uso con CloudWatch métricas. Para usar una métrica predefinida en su política de escalado, puede crear una configuración de seguimiento de destino para su política de escalado. Esta configuración debe incluir un valor PredefinedMetricSpecification para la métrica predefinida y otro TargetValue para el valor objetivo de esa métrica.

El siguiente ejemplo describe una configuración de política típica para el escalado ElastiCache con seguimiento de objetivos en un clúster de Valkey o Redis. OSS En esta configuración, la métrica ElastiCachePrimaryEngineCPUUtilization predefinida se utiliza para ajustar el clúster en función de una CPU utilización media del 40 por ciento en todos los nodos principales del clúster.

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

Uso de una métrica personalizada

Mediante las métricas personalizadas, puede definir una política de escalado de seguimiento de destino que cumpla sus requisitos personalizados. Puede definir una métrica personalizada en función de cualquier ElastiCache métrica que cambie en proporción al escalamiento. No todas las ElastiCache métricas funcionan para el seguimiento de objetivos. La métrica debe ser una métrica de utilización válida y describir el nivel de actividad de una instancia. El valor de la métrica debe aumentar o reducirse en proporción al número de particiones del clúster. Este aumento o reducción proporcionales son necesarios para utilizar los datos de las métricas a fin de reducir o escalar horizontalmente de forma proporcional el número de particiones.

En el siguiente ejemplo se describe una configuración de seguimiento de destino para una política de escalado. En esta configuración, una métrica personalizada ajusta un clúster ElastiCache (RedisOSS) en función de una CPU utilización media del 50 por ciento en todos los fragmentos de un clúster denominado. 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 periodos de recuperación

Puede especificar un valor, en segundos, a fin de que ScaleOutCooldown agregue un periodo de recuperación para el escalado horizontal de su clúster. De forma similar, puede agregar un valor, en segundos, a fin de que ScaleInCooldown agregue un periodo de recuperación para el escalado vertical de su clúster. Para obtener más información, consulte TargetTrackingScalingPolicyConfigurationla API referencia de Application Auto Scaling.

En el siguiente ejemplo se describe una configuración de seguimiento de destino para una política de escalado. En esta configuración, la métrica ElastiCachePrimaryEngineCPUUtilization predefinida se utiliza para ajustar un clúster ElastiCache (RedisOSS) en función de una CPU utilización media del 40 por ciento en todos los nodos principales de ese clúster. La configuración proporciona un periodo de recuperación de escalado descendente de 10 minutos y un periodo de recuperación de escalado ascendente de 5 minutos.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }