

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.

# Uso de Auto Scaling con particiones
<a name="AutoScaling-Using-Shards"></a>

Con el escalado automático de ElastiCache, puede utilizar políticas de seguimiento y programadas con su motor de Valkey o Redis OSS. 

A continuación se proporcionan detalles sobre el seguimiento de destinos y las políticas programadas, así como sobre cómo aplicarlas mediante la Consola de administración de AWS, la AWS CLI y API.

**Topics**
+ [Políticas de escalado de seguimiento de destino](AutoScaling-Scaling-Policies-Target.md)
+ [Adición de una política de escalado](AutoScaling-Scaling-Adding-Policy-Shards.md)
+ [Registro de un destino escalable](AutoScaling-Scaling-Registering-Policy-CLI.md)
+ [Definición de una política de escalado](AutoScaling-Scaling-Defining-Policy-API.md)
+ [Desactivación de actividad de escalado descendente](AutoScaling-Scaling-Disabling-Scale-in.md)
+ [Aplicación de una política de escalado](AutoScaling-Scaling-Applying-a-Scaling-Policy.md)
+ [Edición de una política de escalado](AutoScaling-Scaling-Editing-a-Scaling-Policy.md)
+ [Eliminación de una política de escalado](AutoScaling-Scaling-Deleting-a-Scaling-Policy.md)
+ [Uso de CloudFormation para las políticas de Auto Scaling](AutoScaling-with-Cloudformation-Shards.md)
+ [Escalado programado](AutoScaling-with-Scheduled-Scaling-Shards.md)

# Políticas de escalado de seguimiento de destino
<a name="AutoScaling-Scaling-Policies-Target"></a>

Las políticas de escalado de seguimiento de destino le permiten seleccionar una métrica y establecer un valor de destino. El escalado automático de ElastiCache para Valkey y Redis OSS crea y administra las alarmas de CloudWatch que desencadenan la política de escalado y calcula el ajuste de escalado en función de la métrica y el valor de destino. La política de escalado agrega o elimina las particiones en función de las necesidades para mantener la métrica en el valor objetivo especificado o en un valor próximo. Además de mantener la métrica próxima al valor de destino, la política de escalado de seguimiento de destino también se ajusta a las fluctuaciones de la métrica producidas por patrones de carga fluctuante y minimiza las fluctuaciones rápidas de la capacidad de la flota. 

Por ejemplo, considere una política de escalado que utilice la métrica `ElastiCachePrimaryEngineCPUUtilization` media predefinida con el valor objetivo configurado. Esta política puede mantener la utilización de la CPU en el valor objetivo especificado o en un valor próximo.

## Métricas predefinidas
<a name="AutoScaling-Scaling-Criteria-predfined-metrics"></a>

Una métrica predefinida es una estructura que hace referencia a un nombre, una dimensión y una estadística (`average`) específicos de una métrica de CloudWatch determinada. La política de escalado automático define una de las siguientes métricas predefinidas para el clúster:


****  

| Nombre de métrica predefinido | Nombre de métrica de CloudWatch | Dimensión de métricas de CloudWatch | Tipos de instancia no aptos  | 
| --- | --- | --- | --- | 
| ElastiCachePrimaryEngineCPUUtilization |  `EngineCPUUtilization`  |  ReplicationGroupId, Role = Principal  | Ninguno | 
| ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage |  `DatabaseCapacityUsageCountedForEvictPercentage`  |  Métricas de grupo de replicación de Valkey o Redis OSS  | Ninguno | 
| ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage |  `DatabaseMemoryUsageCountedForEvictPercentage`  |  Métricas de grupo de replicación de Valkey o Redis OSS  | R6gd | 

Los tipos de instancias con niveles de datos no pueden utilizar `ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage`, ya que estos tipos de instancias almacenan datos en la memoria y SSD. El caso de uso esperado para las instancias con niveles de datos es tener un uso de memoria del 100 por ciento y llenar el SSD según sea necesario.

## Criterios de Auto Scaling para particiones
<a name="AutoScaling-Scaling-Criteria"></a>

Cuando el servicio detecta que la métrica predefinida es igual o mayor que la configuración del objetivo, aumentará la capacidad de las particiones de forma automática. ElastiCache para Valkey y Redis OSS escala horizontalmente las particiones del clúster en una cantidad equivalente al mayor de dos números: la variación del porcentaje del objetivo y el 20 % de las particiones actuales. En el caso de la reducción horizontal, ElastiCache no se reduce horizontalmente de forma automática a menos que el valor total de la métrica sea inferior al 75 % del objetivo definido. 

Para un ejemplo de escalado horizontal, si tiene 50 particiones y
+ si su objetivo sufre una interrupción del 30 %, ElastiCache escala horizontalmente un 30 %, lo que da como resultado 65 particiones por clúster. 
+ si su objetivo sufre una interrupción del 10 %, ElastiCache escala horizontalmente de forma predeterminada un mínimo de 20 %, lo que da como resultado 60 particiones por clúster. 

Para un ejemplo de reducción horizontal, si ha seleccionado un valor objetivo del 60 %, ElastiCache no se reducirá horizontalmente de forma automática hasta que la métrica sea inferior o igual al 45 % (25 % por debajo del objetivo de 60 %).

## Consideraciones de Auto Scaling
<a name="AutoScaling-Scaling-Considerations"></a>

Tenga en cuenta las siguientes consideraciones:
+ En las políticas de escalado de seguimiento de destino, se presupone que el escalado ascendente se lleva a cabo cuando la métrica está por encima del valor de destino. No puede utilizar una política de escalado de seguimiento de destinos si la métrica especificada está por debajo del valor de destino. ElastiCache para Valkey y Redis OSS escala horizontalmente las particiones con una desviación mínima del 20 % del objetivo de las particiones existentes en el clúster.
+ Las políticas de escalado de seguimiento de destino no realizan el escalado cuando la métrica especificada no tiene datos suficientes. No realiza la reducción horizontalmente porque la carencia de datos no se interpreta como una infrautilización de recursos. 
+ Es posible que haya diferencias entre el valor de destino y los puntos de datos de la métrica real. Esto se debe a que el escalado automático de ElastiCache siempre actúa de forma conservadora y redondea hacia arriba o hacia abajo a la hora de determinar la cantidad de capacidad que se debe añadir o quitar. Con esto se evita que se agrega capacidad insuficiente o se elimine demasiada capacidad. 
+ Para garantizar la disponibilidad de la aplicación, el servicio se escala horizontalmente en proporción a la métrica tan rápido como puede, pero se reduce horizontalmente de forma más gradual. 
+ Puede tener varias políticas de escalado de seguimiento de destino en un clúster de ElastiCache para Valkey y Redis OSS, siempre que cada uno de ellos utilice una métrica diferente. El objetivo del escalado automático de ElastiCache siempre es dar prioridad a la disponibilidad, por lo que su comportamiento varía en función de si las políticas de seguimiento del objetivo están listas para el escalado o la reducción horizontales. Realizará un escalado horizontal del servicio si cualquiera de las políticas de seguimiento de destino está lista para el escalado horizontal, pero solo realizará la reducción horizontal si todas las políticas de seguimiento de destino (que tienen la parte de reducción horizontal habilitada) están listas para la reducción horizontal. 
+ No modifique ni elimine las alarmas de CloudWatch que administra el escalado automático de ElastiCache para las políticas de escalado de seguimiento de destino. El escalado automático de ElastiCache elimina de forma automática las alarmas cuando se elimina la política de escalado. 
+ El escalado automático de ElastiCache no le impide modificar de forma manual las particiones del clúster. Estos ajustes manuales no afectan a las alarmas de CloudWatch existentes adjuntas a la política de escalado, pero pueden afectar a las métricas que pueden activar estas alarmas de CloudWatch. 
+ Estas alarmas de CloudWatch administradas por Auto Scaling se definen a través de la métrica AVG (Promedio) en todas las particiones del clúster. Por lo tanto, tener particiones activas puede resultar en cualquiera de los siguientes escenarios:
  + escalado cuando no es necesario debido a la carga en algunas particiones activas que desencadenan una alarma de CloudWatch
  + no escalar cuando sí sea necesario debido a un AVG (Promedio) agregado en todas las particiones que causa que la alarma se interrumpa. 
+ Siguen aplicándose los límites predeterminados de ElastiCache en nodos por clúster. Por lo tanto, al optar por Auto Scaling y, si espera que los nodos máximos sean superiores al límite predeterminado, solicite un aumento del límite en [AWS Service Limits](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) y elija el tipo de límite **Nodes per cluster per instance type** (Nodos por clúster por tipo de instancias). 
+ Asegúrese de tener suficientes ENI (interfaces de red elásticas) disponibles en su VPC, que son necesarias durante el escalado horizontal. Para obtener más información, consulte [Interfaces de red elástica](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html).
+ Si no hay suficiente capacidad disponible desde EC2, el escalado automático de ElastiCache no se escala en forma horizontal y se retrasa hasta que haya capacidad.
+ El escalado automático de ElastiCache para Redis OSS durante la reducción horizontal no eliminará las particiones con ranuras que tengan un tamaño de elemento superior a 256 MB después de la serialización.
+ Durante la reducción horizontal, no se eliminarán particiones si no se encuentra disponible la memoria suficiente en la configuración de particiones resultante.

# Adición de una política de escalado
<a name="AutoScaling-Scaling-Adding-Policy-Shards"></a>

Puede agregar una política de escalado mediante la Consola de administración de AWS. 

**Cómo añadir una política de escalado automático a un clúster de ElastiCache para Valkey y Redis OSS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon ElastiCache en [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. En el panel de navegación, elija **Valkey** o **Redis OSS**. 

1. Elija el clúster al que desea agregar una política (elija el nombre del clúster y no el botón a su izquierda). 

1. Elija la pestaña de **Auto Scaling policies** (Políticas de Auto Scaling). 

1. Elija **add dynamic scaling** (agregar escalado dinámico). 

1. En **Policy name** (Nombre de política), ingrese un nombre de política. 

1. En **Scalable Dimension** (Dimensión escalable), elija **shards** (particiones). 

1. Para la métrica de destino, elija una de las siguientes opciones:
   + **Primary CPU Utilization** (Utilización de CPU principal) para crear una política basada en la utilización promedio de la CPU. 
   + **Memory** (Memoria) para crear una política basada en la memoria media de base de datos. 
   + **Capacidad** para crear una política basada en el uso promedio de la capacidad de la base de datos. La métrica de capacidad incluye la utilización de memoria y SSD para las instancias con niveles de datos y la utilización de la memoria para todos los demás tipos de instancias.

1. Para el valor objetivo, elija un valor mayor o igual a 35 y menor o igual a 70. El escalado automático mantendrá este valor para la métrica de destino seleccionada en las particiones de ElastiCache: 
   + **Utilización de la CPU principal**: mantiene el valor objetivo de la  métrica `EngineCPUUtilization` en los nodos principales. 
   + **Memoria**: mantiene el valor objetivo de la métrica `DatabaseMemoryUsageCountedForEvictPercentage` 
   + La **capacidad** mantiene el valor objetivo de la métrica `DatabaseCapacityUsageCountedForEvictPercentage`,

   Las particiones de clúster se agregan o quitan para mantener la métrica en un valor próximo al especificado. 

1. (Opcional) La consola no admite periodos de recuperación de reducción o escalado horizontal. Utilice la AWS CLI para modificar los valores de periodo de recuperación. 

1. En **Capacidad mínima**, escriba el número mínimo de particiones que debe mantener la política de escalado automático de ElastiCache. 

1. En **Capacidad máxima**, escriba el número máximo de particiones que debe mantener la política de escalado automático de ElastiCache. Este valor debe ser igual o inferior a 250.

1. Seleccione **Crear**.

# Registro de un destino escalable
<a name="AutoScaling-Scaling-Registering-Policy-CLI"></a>

Para poder utilizar el escalado automático con un clúster de ElastiCache para Valkey y Redis OSS, debe registrar su clúster en el escalado automático de ElastiCache. Esto se hace para definir la dimensión y los límites de escalado que se van a aplicar a ese clúster. El escalado automático de ElastiCache escala de forma dinámica el clúster a lo largo de la dimensión escalable `elasticache:replication-group:NodeGroups`, que representa el número de particiones del clúster. 

 **Uso de AWS CLI** 

Para registrar el clúster de ElastiCache para Valkey y Redis OSS, utilice el comando [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) con los siguientes parámetros: 
+ `--service-namespace` – establezca este valor en `elasticache`
+ `--resource-id`: el identificador de recurso para el clúster. Para este parámetro, el tipo de recurso es `ReplicationGroup` y el identificador único es el nombre del clúster; por ejemplo, `replication-group/myscalablecluster`. 
+ `--scalable-dimension` – establezca este valor en `elasticache:replication-group:NodeGroups`. 
+ `--max-capacity `: el número máximo de particiones que administrará el escalado automático de ElastiCache. Para obtener información sobre la relación entre `--min-capacity`, `--max-capacity` y el número de particiones del clúster, consulte [Capacidad mínima y máxima](AutoScaling-Policies.md#AutoScaling-MinMax). 
+ `--min-capacity `: el número mínimo de particiones que administrará el escalado automático de ElastiCache. Para obtener información sobre la relación entre `--min-capacity`, `--max-capacity` y el número de particiones del clúster, consulte [Capacidad mínima y máxima](AutoScaling-Policies.md#AutoScaling-MinMax). 

**Example**  
 En el siguiente ejemplo, registra un clúster de ElastiCache denominado `myscalablecluster`. El registro indica que el clúster debe escalarse de forma dinámica para tener de una a diez particiones.   
Para Linux, macOS o Unix:  

```
aws application-autoscaling register-scalable-target \
    --service-namespace elasticache \
    --resource-id replication-group/myscalablecluster \
    --scalable-dimension elasticache:replication-group:NodeGroups \
    --min-capacity 1 \
    --max-capacity 10 \
```
Para Windows:  

```
aws application-autoscaling register-scalable-target ^
    --service-namespace elasticache ^
    --resource-id replication-group/myscalablecluster ^
    --scalable-dimension elasticache:replication-group:NodeGroups ^
    --min-capacity 1 ^
    --max-capacity 10 ^
```

**Uso de la API**

Para registrar el clúster de ElastiCache, utilice el comando [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) con los siguientes parámetros: 
+ ServiceNamespace: establezca este valor en elasticache. 
+ ResourceID: el identificador de recurso para el clúster de ElastiCache. Para este parámetro, el tipo de recurso es ReplicationGroup y el identificador único es el nombre del clúster; por ejemplo, `replication-group/myscalablecluster`. 
+ ScalableDimension: establezca este valor en `elasticache:replication-group:NodeGroups`. 
+ MinCapacity: el número mínimo de particiones que administrará el escalado automático de ElastiCache. Para obtener información sobre la relación entre --min-capacity, --max-capacity y el número de réplicas del clúster, consulte [Capacidad mínima y máxima](AutoScaling-Policies.md#AutoScaling-MinMax).
+ MaxCapacity: el número máximo de particiones que administrará el escalado automático de ElastiCache. Para obtener información sobre la relación entre --min-capacity, --max-capacity y el número de réplicas del clúster, consulte [Capacidad mínima y máxima](AutoScaling-Policies.md#AutoScaling-MinMax).

**Example**  
En el siguiente ejemplo, se registra un clúster de ElastiCache denominado `myscalablecluster` con la API de Escalado automático de aplicaciones. Este registro indica que el clúster debe escalarse de forma dinámica para tener de una a cinco réplicas.   

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget
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
{
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups",
    "MinCapacity": 1,
    "MaxCapacity": 5
}
```

# Definición de una política de escalado
<a name="AutoScaling-Scaling-Defining-Policy-API"></a>

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. Puede utilizar ese archivo de texto al invocar AWS CLI o la API de Auto Scaling de aplicaciones. Para obtener más información sobre la sintaxis de configuración de políticas, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) 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: 

**Topics**
+ [Uso de una métrica predefinida](#AutoScaling-Scaling-Predefined-Metric)
+ [Uso de una métrica personalizada](#AutoScaling-Scaling-Custom-Metric)
+ [Uso de periodos de recuperación](#AutoScaling-Scaling-Cooldown-periods)

## Uso de una métrica predefinida
<a name="AutoScaling-Scaling-Predefined-Metric"></a>

Mediante las métricas predefinidas, puede definir rápidamente una política de escalado de seguimiento de destino para un clúster de ElastiCache para Valkey y Redis OSS que funciona con el seguimiento de destino en el escalado automático de ElastiCache. 

Actualmente, ElastiCache admite las siguientes métricas predefinidas en el escalado automático de NodeGroup: 
+ **ElastiCachePrimaryEngineCPUUtilization**: el valor medio de la métrica `EngineCPUUtilization` en CloudWatch en todos los nodos principales del clúster.
+ **ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage**: el valor medio de la métrica `DatabaseMemoryUsageCountedForEvictPercentage` en CloudWatch en todos los nodos principales del clúster.
+ **ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage**: el valor medio de la métrica `ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage` en CloudWatch en todos los nodos principales del clúster.

Para obtener más información sobre las métricas de `EngineCPUUtilization`, `DatabaseMemoryUsageCountedForEvictPercentage` y `DatabaseCapacityUsageCountedForEvictPercentage`, consulte [Supervisión del uso con CloudWatch métricas](CacheMetrics.md). 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 un TargetValue para el valor de destino de esa métrica. 

**Example**  
En el siguiente ejemplo, se describe una configuración de la política típica para el escalado de seguimiento de destino de un clúster de ElastiCache para Valkey y Redis OSS. 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
<a name="AutoScaling-Scaling-Custom-Metric"></a>

 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 métricas de ElastiCache funcionan para el seguimiento de destino. 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. 

**Example**  
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 de ElastiCache para Redis OSS en función de una utilización promedio de la CPU del 50 % en todas las particiones 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
<a name="AutoScaling-Scaling-Cooldown-periods"></a>

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 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) en la Referencia de la API de Auto Scaling de aplicaciones. 

 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 predefinida `ElastiCachePrimaryEngineCPUUtilization` se utiliza para ajustar un clúster de ElastiCache para Redis OSS en función de la utilización promedio de la CPU del 40 % 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
}
```

# Desactivación de actividad de escalado descendente
<a name="AutoScaling-Scaling-Disabling-Scale-in"></a>

Puede evitar que la configuración de la política de escalado de seguimiento de destino reduzca horizontalmente su clúster deshabilitando la actividad de reducción horizontal. La deshabilitación de la actividad de escalado horizontal evita que la política de escalado elimine particiones, a la vez que permite a la política de escalado crearlas según sea necesario. 

Puede especificar un valor booleano a fin de que `DisableScaleIn` habilite o deshabilite la actividad de reducción horizontal para su clúster. Para obtener más información, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) en la Referencia de la API de Auto Scaling de aplicaciones. 

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 predefinida `ElastiCachePrimaryEngineCPUUtilization` ajusta un clúster de ElastiCache para Valkey y Redis OSS en función de la utilización promedio de la CPU del 40 % en todos los nodos principales de ese clúster. La configuración deshabilita la actividad de escalado descendente para la política de escalado. 

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    },
    "DisableScaleIn": true
}
```

# Aplicación de una política de escalado
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy"></a>

Tras registrar su clúster con escalado automático de ElastiCache para Valkey y Redis OSS y definir una política de escalado, puede aplicarla al clúster registrado. Para aplicar una política de escalado a un clúster de ElastiCache para Redis OSS, puede utilizar la AWS CLI o la API de Escalado automático de aplicaciones. 

## Aplicación de una política de escalado mediante la AWS CLI
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy-CLI"></a>

Para aplicar una política de escalado a un clúster de ElastiCache para Valkey y Redis OSS, utilice el comando [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) con los siguientes parámetros: 
+ **--policy-name**: el nombre de la política de escalado. 
+ **--policy-type**: establezca este valor en `TargetTrackingScaling`. 
+ **--resource-id**: el identificador del recurso. Para este parámetro, el tipo de recurso es `ReplicationGroup` y el identificador único es el nombre del clúster; por ejemplo, `replication-group/myscalablecluster`. 
+ **--service-namespace**: establezca este valor en `elasticache`. 
+ **--scalable-dimension**: establezca este valor en `elasticache:replication-group:NodeGroups`. 
+ **--target-tracking-scaling-policy-configuration**: la configuración de la política de escalado de seguimiento de destino que se utilizará para el clúster. 

En el siguiente ejemplo, aplica una política de escalado de seguimiento de destino denominada `myscalablepolicy` a un clúster de ElastiCache para Valkey y Redis OSS denominado `myscalablecluster` con escalado automático de ElastiCache. Para ello, puede usar una configuración de la política guardada en un archivo denominado `config.json`. 

Para Linux, macOS o 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:NodeGroups \
    --target-tracking-scaling-policy-configuration file://config.json
```

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:NodeGroups ^
    --target-tracking-scaling-policy-configuration file://config.json
```

## Aplicación de una política de escalado mediante la API
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy-API"></a>

Para aplicar una política de escalado a un clúster de ElastiCache para Valkey y Redis OSS, utilice el comando [PutScalingPolicy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) de la AWS CLI con los siguientes parámetros: 
+ **--policy-name**: el nombre de la política de escalado. 
+ **--resource-id**: el identificador del recurso. Para este parámetro, el tipo de recurso es `ReplicationGroup` y el identificador único es el nombre del clúster; por ejemplo, `replication-group/myscalablecluster`. 
+ **--service-namespace**: establezca este valor en `elasticache`. 
+ **--scalable-dimension**: establezca este valor en `elasticache:replication-group:NodeGroups`. 
+ **--target-tracking-scaling-policy-configuration**: la configuración de la política de escalado de seguimiento de destino que se utilizará para el clúster. 

En el siguiente ejemplo, aplica una política de escalado de seguimiento de destino denominada `myscalablepolicy` a un clúster de ElastiCache denominado `myscalablecluster` con el escalado automático de ElastiCache. Puede usar una configuración de la política en función de la métrica predefinida `ElastiCachePrimaryEngineCPUUtilization`. 

```
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:NodeGroups",
    "PolicyType": "TargetTrackingScaling",
    "TargetTrackingScalingPolicyConfiguration": {
        "TargetValue": 40.0,
        "PredefinedMetricSpecification":
        {
            "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
        }
    }
}
```

# Edición de una política de escalado
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy"></a>

Puede editar una política de escalado utilizando la Consola de administración de AWS, la AWS CLI o la API de Auto Scaling de aplicaciones. 

## Edición de una política de escalado mediante la Consola de administración de AWS
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CON"></a>

**Cómo editar una política de escalado automático de un clúster de ElastiCache para Valkey y Redis OSS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon ElastiCache en [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. En el panel de navegación, elija el motor correspondiente. 

1. Elija el clúster al que desea agregar una política (elija el nombre del clúster y no el botón a su izquierda). 

1. Elija la pestaña de **Auto Scaling policies** (Políticas de Auto Scaling). 

1. En **Scaling policies** (Políticas de escalado), elija el botón a la izquierda de la política de Auto Scaling que desea cambiar y, a continuación, elija **Modify** (Modificar). 

1. Realice los cambios solicitados en la política.

1. Elija **Modificar**.

## Edición de una política de escalado mediante la AWS CLI o la API
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CLI"></a>

Puede utilizar AWS CLI o la API de Auto Scaling de aplicaciones para editar una política de escalado de la misma forma que aplica una política de escalado: 
+ Al usar la AWS CLI, especifique el nombre de la política que desea editar en el parámetro `--policy-name`. Especifique nuevos valores para los parámetros que desea cambiar. 
+ Al usar la API de Auto Scaling de aplicaciones, especifique el nombre de la política que desea editar en el parámetro `PolicyName`. Especifique nuevos valores para los parámetros que desea cambiar. 

Para obtener más información, consulte [Aplicación de una política de escalado](AutoScaling-Scaling-Applying-a-Scaling-Policy.md).

# Eliminación de una política de escalado
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy"></a>

Puede eliminar una política de escalado utilizando la Consola de administración de AWS, AWS CLI o la API de Auto Scaling de aplicaciones. 

## Eliminación de una política de escalado mediante la Consola de administración de AWS
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CON"></a>

**Cómo eliminar una política de escalado automático para un clúster de ElastiCache para Redis OSS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon ElastiCache en [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. En el panel de navegación, elija **Valkey** o **Redis OSS**. 

1. Elija el clúster con la política de Auto Scaling que desea editar (elija el nombre del clúster, no el botón a su izquierda). 

1. Elija la pestaña de **Auto Scaling policies** (Políticas de Auto Scaling). 

1. En **Scaling policies** (Políticas de escalado), elija la política de Auto Scaling y, a continuación, elija **Delete** (Eliminar). 

## Eliminación de una política de escalado mediante la AWS CLI
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy-CLI"></a>

Para eliminar una política de escalado de un clúster de ElastiCache para Valkey y Redis OSS, utilice el comando [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scaling-policy.html) de la AWS CLI con los siguientes parámetros: 
+ **--policy-name**: el nombre de la política de escalado. 
+ **--resource-id**: el identificador del recurso. Para este parámetro, el tipo de recurso es `ReplicationGroup` y el identificador único es el nombre del clúster; por ejemplo, `replication-group/myscalablecluster`. 
+ **--service-namespace**: establezca este valor en `elasticache`. 
+ **--scalable-dimension**: establezca este valor en `elasticache:replication-group:NodeGroups`. 

En el siguiente ejemplo, elimina una política de escalado de seguimiento de destino denominada `myscalablepolicy` de un clúster denominado `myscalablecluster`. 

Para Linux, macOS o Unix:

```
aws application-autoscaling delete-scaling-policy \
    --policy-name myscalablepolicy \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:NodeGroups
```

Para Windows:

```
aws application-autoscaling delete-scaling-policy ^
    --policy-name myscalablepolicy ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:NodeGroups
```

## Eliminación de una política de escalado mediante la API
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy-API"></a>

Para eliminar una política de escalado de un clúster de ElastiCache para Valkey y Redis OSS, utilice el comando [DeleteScalingPolicy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scaling-policy.html) de la AWS CLI con los siguientes parámetros: 
+ **--policy-name**: el nombre de la política de escalado. 
+ **--resource-id**: el identificador del recurso. Para este parámetro, el tipo de recurso es `ReplicationGroup` y el identificador único es el nombre del clúster; por ejemplo, `replication-group/myscalablecluster`. 
+ **--service-namespace**: establezca este valor en `elasticache`. 
+ **--scalable-dimension**: establezca este valor en `elasticache:replication-group:NodeGroups`. 

En el siguiente ejemplo, elimina una política de escalado de seguimiento de destino denominada `myscalablepolicy` de un clúster denominado `myscalablecluster`. 

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy
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:NodeGroups"
}
```

# Uso de CloudFormation para las políticas de Auto Scaling
<a name="AutoScaling-with-Cloudformation-Shards"></a>

Este fragmento muestra cómo crear una política de seguimiento de destino y aplicarla a un recurso [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) mediante el recurso [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html). Utiliza las funciones intrínsecas [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) y [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) para construir la propiedad `ResourceId` con el nombre lógico del recurso `AWS::ElastiCache::ReplicationGroup` especificado en la misma plantilla. 

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 3
     MinCapacity: 1
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:NodeGroups'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"

  ScalingPolicy:
    Type: "AWS::ApplicationAutoScaling::ScalingPolicy"
    Properties:
      ScalingTargetId: !Ref ScalingTarget
      ServiceNamespace: elasticache
      PolicyName: testpolicy
      PolicyType: TargetTrackingScaling
      ScalableDimension: 'elasticache:replication-group:NodeGroups'
      TargetTrackingScalingPolicyConfiguration:
        PredefinedMetricSpecification:
          PredefinedMetricType: ElastiCachePrimaryEngineCPUUtilization
        TargetValue: 40
```

# Escalado programado
<a name="AutoScaling-with-Scheduled-Scaling-Shards"></a>

El escalado según una programación le permite escalar la aplicación en respuesta a los cambios previstos en la demanda. Para utilizar el escalado programado, deberá crear acciones programadas, que indiquen a ElastiCache para Valkey y Redis OSS que realice actividades de escalado en momentos específicos. Cuando crea una acción programada, especifica un clúster existente, cuando debe ocurrir la actividad de escalado, la capacidad mínima y la capacidad máxima. Puede crear acciones programadas que realizan el escalado de forma puntual o periódica. 

 Solo puede crear una acción programada para los clústeres que ya existen. No puede crear una acción programada a la vez que crea un clúster.

A fin de obtener más información sobre la terminología de la creación, administración y eliminación de acciones programadas, consulte [Comandos de uso frecuente para la creación, administración y eliminación de acciones programadas](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#scheduled-scaling-commonly-used-commands). 

**Para crear de forma periódica:**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon ElastiCache en [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. En el panel de navegación, elija **Valkey** o **Redis OSS**. 

1. Elija el clúster para el que desea agregar una política. 

1. Elija **Manage Auto Scaling policies** (Administrar política de Auto Scaling) en el menú desplegable de **Actions** (Acciones). 

1. Elija la pestaña de **Auto Scaling policies** (Políticas de Auto Scaling).

1. En la sección de **Auto Scaling policies** (Políticas de Auto Scaling), aparece el cuadro de diálogo de **Add Scaling policy** (Agregar política de escalado). Elija **Scheduled scaling** (Escalado programado).

1. En **Policy name** (Nombre de política), ingrese el nombre de la política. 

1. En **Scalable Dimension** (Dimensión escalable), elija **Shards** (Particiones). 

1. En **Target Shards** (Particiones de destino), elija el valor. 

1. En **Recurrence** (Recurrencia), elija **Recurring** (Recurrente). 

1. En **Frequency** (Frecuencia), elija el valor respectivo. 

1. En **Start Date** (Fecha de inicio) y **Start time** (Hora de inicio), elija la hora a partir de la cual la política entrará en vigor. 

1. Elija **Add Policy** (Agregar política). 

**Para crear una acción programada puntual:**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon ElastiCache en [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. En el panel de navegación, elija **Valkey** o **Redis OSS**. 

1. Elija el clúster para el que desea agregar una política. 

1. Elija **Manage Auto Scaling policies** (Administrar política de Auto Scaling) en el menú desplegable de **Actions** (Acciones). 

1. Elija la pestaña de **Auto Scaling policies** (Políticas de Auto Scaling).

1. En la sección de **Auto Scaling policies** (Políticas de Auto Scaling), aparece el cuadro de diálogo de **Add Scaling policy** (Agregar política de escalado). Elija **Scheduled scaling** (Escalado programado).

1. En **Policy name** (Nombre de política), ingrese el nombre de la política. 

1. En **Scalable Dimension** (Dimensión escalable), elija **Shards** (Particiones). 

1. En **Target Shards** (Particiones de destino), elija el valor. 

1. En **Recurrence** (Recurrencia), elija **One Time** (Una vez). 

1. En **Start Date** (Fecha de inicio) y **Start time** (Hora de inicio), elija la hora a partir de la cual la política entrará en vigor. 

1. En **End Date** (Fecha de finalización), elija la fecha hasta la que la política estará vigente. 

1. Elija **Add Policy** (Agregar política). 

**Para eliminar una acción programada**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon ElastiCache en [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. En el panel de navegación, elija **Valkey** o **Redis OSS**. 

1. Elija el clúster para el que desea agregar una política. 

1. Elija **Manage Auto Scaling policies** (Administrar política de Auto Scaling) en el menú desplegable de **Actions** (Acciones). 

1. Elija la pestaña de **Auto Scaling policies** (Políticas de Auto Scaling).

1. En la sección de **Auto Scaling Policies** (Políticas de Auto Scaling), elija la política de Auto Scaling y, a continuación, elija **Delete** (Eliminar) en el cuadro de diálogo de **Actions** (Acciones).

**Para administrar el escalado programado mediante la AWS CLI **

Utilice las siguientes API de escalado automático de aplicaciones:
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scheduled-action.html) 
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-scheduled-actions.html) 
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scheduled-action.html) 

## Utilice CloudFormation para crear una acción programada
<a name="AutoScaling-with-Cloudformation-Declare-Scheduled-Action"></a>

Este fragmento muestra cómo crear una política de seguimiento de destino y aplicarla a un recurso [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) mediante el recurso [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html). Utiliza las funciones intrínsecas [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) y [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) para construir la propiedad `ResourceId` con el nombre lógico del recurso `AWS::ElastiCache::ReplicationGroup` especificado en la misma plantilla. 

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 3
     MinCapacity: 1
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:NodeGroups'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"
     ScheduledActions:
       - EndTime: '2020-12-31T12:00:00.000Z'
         ScalableTargetAction:
           MaxCapacity: '5'
           MinCapacity: '2'
         ScheduledActionName: First
         Schedule: 'cron(0 18 * * ? *)'
```