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

Una configuración de la política de escalado de seguimiento de destino está representada por un bloque JSON en el que se definen las métricas y los valores de destino. Puede guardar una configuración de la política de escalado como bloque JSON en un archivo de texto. Este archivo de texto se utiliza al invocar la API Application Auto Scaling AWS CLI o la API. Para obtener más información acerca de la sintaxis de configuración de la política, consulte TargetTrackingScalingPolicyConfiguration en la referencia de la API de Auto Scaling de aplicaciones.

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 ElastiCache para un clúster OSS de Valkey y Redis que funcione con el seguimiento de objetivos en Auto Scaling. ElastiCache

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 PredefinedMetricSpecification para la métrica predefinida y TargetValue para el valor de destino de esa métrica.

El siguiente ejemplo describe una configuración de política típica para el escalado y seguimiento de objetivos en un clúster OSS ElastiCache de Valkey y Redis. En esta configuración, la métrica predefinida ElastiCachePrimaryEngineCPUUtilization se utiliza para ajustar el clúster en función de la utilización promedio de la CPU del 40 % 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 métrica de ElastiCache que cambie en proporción al escalado. 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 OSS ElastiCache de Redis en función de una utilización media de la CPU 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": "ReplicationGroup","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 la Referencia TargetTrackingScalingPolicyConfigurationde la API 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 ElastiCache para ajustar un clúster OSS de Redis en función de una utilización media de la CPU 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 }