

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
<a name="AutoScaling-Defining-Policy"></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. 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](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/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-Predefined-Metric)
+ [Edición de una política de escalado](AutoScaling-Editing-Policy.md)
+ [Eliminación de una política de escalado](AutoScaling-Deleting-Policy.md)
+ [Uso CloudFormation para políticas de Auto Scaling](AutoScaling-with-Cloudformation.md)
+ [Escalado programado](AutoScaling-with-Scheduled-Scaling-Replicas.md)

## Uso de una métrica predefinida
<a name="AutoScaling-Predefined-Metric"></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. 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](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/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-Predefined-Metric)
+ [Uso de una métrica personalizada](#AutoScaling-Custom-Metric)
+ [Uso de periodos de recuperación](#AutoScaling-Using-Cooldowns)
+ [Desactivación de actividad de escalado descendente](#AutoScaling-Disabling-Scalein)
+ [Aplicar una política de escalado a un clúster de OSS para Valkey y Redis ElastiCache](#AutoScaling-Applying-Policy)

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

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 la siguiente métrica predefinida en ElastiCache Replicas Auto Scaling: 

`ElastiCacheReplicaEngineCPUUtilization`— El valor medio de la métrica CloudWatch EnginecPuUtilization en todas las réplicas del clúster. Puede encontrar el valor de la métrica agregada en la sección correspondiente a las réplicas requeridas y a las CloudWatch réplicas de ElastiCache `ReplicationGroupId, Role` roles. ReplicationGroupId 

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. 

### Uso de una métrica personalizada
<a name="AutoScaling-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 basada en cualquier métrica de OSS ElastiCache de Valkey y Redis que cambie en proporción a la escala. 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 réplicas del clúster. Este aumento o reducción proporcionales son necesarios para utilizar los datos de las métricas a fin de ampliar o reducir proporcionalmente el número de réplicas. 

**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 en función de un uso medio de la CPU del 50 % en todas las réplicas 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": "REPLICA"}
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

### Uso de periodos de recuperación
<a name="AutoScaling-Using-Cooldowns"></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 acerca de `ScaleInCooldown` y `ScaleOutCooldown`, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/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 `ElastiCacheReplicaEngineCPUUtilization` se usa para ajustar un clúster en función del uso medio de la CPU del 40 % en todas las réplicas 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": "ElastiCacheReplicaEngineCPUUtilization"
    },
    "ScaleInCooldown": 600,
    "ScaleOutCooldown": 300
}
```

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

Puede impedir que la configuración de la política de escalado de seguimiento de objetivos se escale en su clúster de OSS ElastiCache para Valkey y Redis deshabilitando la actividad de escalado interno. La deshabilitación de la actividad de escalado horizontal evita que la política de escalado elimine réplicas, a la vez que permite a la política de escalado agregarlas 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 acerca de `DisableScaleIn`, consulte [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html) en la *referencia de la API de Auto Scaling de aplicaciones*. 

**Example**  
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 `ElastiCacheReplicaEngineCPUUtilization` ajusta un clúster en función del uso medio de la CPU del 40 % en todas las réplicas de ese clúster. La configuración deshabilita la actividad de escalado descendente para la política de escalado. 

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

### Aplicar una política de escalado a un clúster de OSS para Valkey y Redis ElastiCache
<a name="AutoScaling-Applying-Policy"></a>

Tras registrar el clúster ElastiCache para el autoescalado de Valkey y Redis OSS y definir una política de escalado, se aplica la política de escalado al clúster registrado. Para aplicar una política de escalado a un clúster OSS ElastiCache para Valkey y Redis, puede utilizar la API Application Auto Scaling AWS CLI o la API Application Auto Scaling. 

**Usando la AWS CLI**

Para aplicar una política de escalado a su clúster de OSS ElastiCache para Valkey y Redis, utilice el comando [put-scaling-policy con](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scaling-policy.html) 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 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` 
+ --service-namespace: establezca este valor en elasticache. 
+ --scalable-dimension: establezca este valor en `elasticache:replication-group:Replicas`. 
+ --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. 

**Example**  
En el siguiente ejemplo, se aplica una política de escalado de seguimiento de objetivos denominada `myscalablepolicy` a un clúster denominado con `myscalablecluster` ElastiCache autoescalado. 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: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 del API**

Para aplicar una política de escalado a su ElastiCache clúster con la API Application Auto Scaling, utilice la operación [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScalingPolicy.html)Application Auto Scaling API con los siguientes parámetros: 
+ PolicyName — El nombre de la política de escalado. 
+ PolicyType — Establezca este valor en`TargetTrackingScaling`. 
+ ResourceID: 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 ElastiCache clúster OSS de Redis, por ejemplo`replication-group/myscalablecluster`. 
+ ServiceNamespace — Establezca este valor en elasticache. 
+ ScalableDimension — Defina este valor en. `elasticache:replication-group:Replicas` 
+ TargetTrackingScalingPolicyConfiguration — La configuración de la política de escalado de seguimiento de objetivos que se utilizará en el clúster. 

**Example**  
En el siguiente ejemplo, se aplica una política de escalado de seguimiento de objetivos denominada `scalablepolicy` a un clúster denominado con `myscalablecluster` ElastiCache autoescalado. Puede usar una configuración de la política en función de la 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"
        }
    }
}
```