

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.

# Políticas de escalado por pasos para Auto Scaling de aplicaciones
<a name="application-auto-scaling-step-scaling-policies"></a>

Una política de escalado escalonado escala la capacidad de la aplicación en incrementos predefinidos en función de CloudWatch las alarmas. Puede definir políticas de escalado independientes para gestionar el escalado horizontal (aumento de la capacidad) y la reducción horizontal (reducción de la capacidad) cuando se supere el umbral de una alarma.

Con las políticas de escalado escalonado, puede crear y gestionar las CloudWatch alarmas que invocan el proceso de escalado. Cuando se infringe una alarma, Auto Scaling de aplicaciones inicia la política de escalado asociada a esa alarma.

La política de escalado por pasos escala la capacidad mediante un conjunto de ajustes, conocidos como *ajustes escalonados*. La magnitud del ajuste varía en función del tamaño de la interrupción de la alarma.
+ Si la infracción supera el primer umbral, Auto Scaling de aplicaciones aplicará el ajuste del primer paso.
+ Si la infracción supera el segundo umbral, Auto Scaling de aplicaciones aplicará el ajuste del segundo paso, y así sucesivamente.

Esto permite que la política de escalado responda adecuadamente a los cambios menores y mayores en la métrica de alarma.

La política continuará respondiendo a las interrupciones adicionales de la alarma, incluso mientras se esté realizando una actividad de escalado. Esto significa que Auto Scaling de aplicaciones evaluará todas las interrupciones de alarma a medida que se produzcan. Se utiliza un periodo de recuperación para protegerse contra el sobreescalamiento debido a que se producen varias interrupciones de alarma en rápida sucesión.

Al igual que el seguimiento de objetivos, el escalado por pasos puede ayudar a escalar automáticamente la capacidad de la aplicación a medida que se producen cambios en el tráfico. Sin embargo, las políticas de seguimiento de objetivos suelen ser más fáciles de implementar y gestionar para satisfacer necesidades de escalamiento constantes.

**Objetivos escalables compatibles**

Puede utilizar políticas de escalado por pasos con los siguientes objetivos escalables:
+ WorkSpaces Flotas de aplicaciones
+ Clústeres de base de datos de Aurora
+ Servicios de ECS
+ Clústeres de EMR
+ SageMaker Variantes de terminales de IA
+ SageMaker Componentes de inferencia de IA
+ SageMaker Simultaneidad aprovisionada sin servidor de IA
+ Spot Fleets
+ Recursos personalizados

**Topics**
+ [Cómo funciona el escalado por pasos](step-scaling-policy-overview.md)
+ [Creación de una política de escalado por pasos](create-step-scaling-policy-cli.md)
+ [Descripción de políticas de escalado por pasos](describe-step-scaling-policy.md)
+ [Eliminación de una política de escalado por pasos](delete-step-scaling-policy.md)

# Cómo funciona el escalado por pasos para Application Auto Scaling
<a name="step-scaling-policy-overview"></a>

En este tema se describe cómo funciona el escalado escalonado y se presentan los elementos clave de una política de escalado escalonado.

**Topics**
+ [Funcionamiento](#step-scaling-how-it-works)
+ [Ajustes de pasos](#as-scaling-steps)
+ [Tipos de ajuste de escalado](#as-scaling-adjustment)
+ [Periodo de recuperación](#step-scaling-cooldown)
+ [Comandos de uso frecuente](#step-scaling-policy-commonly-used-commands)
+ [Consideraciones](#step-scaling-considerations)
+ [Recursos relacionados](#step-scaling-related-resources)
+ [Acceso a la consola](#step-scaling-console-access)

## Funcionamiento
<a name="step-scaling-how-it-works"></a>

Para usar el escalado escalonado, debe crear una CloudWatch alarma que supervise una métrica para su objetivo escalable. Defina la métrica, el valor límite y el número de periodos de evaluación que determinan una interrupción de la alarma. También debe crear una política de escalado por pasos que defina cómo escalar la capacidad cuando se supere el umbral de alarma y asociarla a su objetivo escalable.

Añada los ajustes escalonados a la política. Puede definir diferentes ajustes escalonados en función del tamaño de la infracción de la alarma. Por ejemplo:
+ Escale horizontalmente la capacidad en 10 unidades si la métrica de alarma alcanza el 60 por ciento
+ Escale horizontalmente la capacidad en 30 unidades si la métrica de alarma alcanza el 75 por ciento
+ Escale horizontalmente la capacidad en 40 unidades si la métrica de alarma alcanza el 85 por ciento

Cuando se supere el umbral de alarma durante el número especificado de periodos de evaluación, Auto Scaling de aplicaciones aplicará los ajustes escalonados definidos en la política. Los ajustes pueden continuar en caso de que se produzcan nuevas infracciones de alarma hasta que se restablezca el estado de alarma. `OK` 

Las actividades de escalado se realizan con periodos de recuperación entre ellos para evitar fluctuaciones rápidas de la capacidad. Si lo desea, puede configurar los periodos de recuperación para su política de escalado. 

## Ajustes de pasos
<a name="as-scaling-steps"></a>

Cuando se crea una política de escalado por pasos, se especifican uno o varios ajustes de pasos que escalan automáticamente la capacidad del destino dinámicamente en función del tamaño de la interrupción de alarma. Cada ajuste por pasos especifica los elementos siguientes:
+ El límite inferior del valor de la métrica
+ El límite superior del valor de la métrica
+ La cantidad que se va a escalar, en función del tipo de ajuste de escalado

CloudWatch agrega los puntos de datos de las métricas en función de la estadística de la métrica asociada a la alarma. CloudWatch Cuando se interrumpe la alarma, se invoca la política de escalado adecuada. Application Auto Scaling aplica el tipo de agregación especificado a los puntos de datos métricos más recientes de CloudWatch (a diferencia de los datos métricos sin procesar). También compara este valor agregado de la métrica con el límite inferior y superior definido por los ajustes por pasos para determinar qué ajuste por pasos debe realizar. 

Usted especifica los límites superiores e inferiores en relación con el umbral de interrupción. Por ejemplo, supongamos que ha creado una CloudWatch alarma y una política de escalado horizontal para cuando la métrica supere el 50 por ciento. A continuación, ha creado una segunda alarma y una política de reducción horizontal para cuando la métrica esté por debajo del 50 por ciento. Realizó una serie de ajustes escalonados con un tipo de ajuste `PercentChangeInCapacity` para cada política: 


**Ejemplo: ajustes de pasos para la política de escalado ascendente**  

| **Límite inferior** | **Límite superior** | **Ajuste** | 
| --- | --- | --- | 
|  0  |  10  |  0  | 
|  10  |  20  |  10  | 
|  20  |  nulo  |  30  | 


**Ejemplo: ajustes por pasos de la política de reducción horizontal**  

| **Límite inferior** | **Límite superior** | **Ajuste** | 
| --- | --- | --- | 
|  -10  |  0  |  0  | 
|  -20  |  -10  |  -10  | 
|  nulo  |  -20  |  -30  | 

Esto crea la siguiente configuración de escalado.

```
Metric value

-infinity          30%    40%          60%     70%             infinity
-----------------------------------------------------------------------
          -30%      | -10% | Unchanged  | +10%  |       +30%        
-----------------------------------------------------------------------
```

Ahora supongamos que usa esta configuración de escalado en los que la capacidad es 10. En los puntos siguientes, se resume el comportamiento de la configuración de escalado en relación con la capacidad del destino escalable:
+ La capacidad original se mantiene mientras que el valor agregado de la métrica sea superior a 40 e inferior a 60.
+ Si el valor de la métrica llega a 60, Auto Scaling de aplicaciones aumenta la capacidad del destino escalable en 1 hasta alcanzar un total de 11. Este valor se basa en el segundo ajuste por pasos de la política de escalado ascendente (añadir el 10 por ciento de 10). Una vez agregada la nueva capacidad, Auto Scaling de aplicaciones aumenta la capacidad actual a 11. Si el valor de la métrica aumenta hasta 70 incluso después de este aumento de la capacidad, Auto Scaling de aplicaciones incrementa la capacidad de destino en 3, lo que hace un total de 14. Este valor se basa en el tercer ajuste por pasos de la política de escalado ascendente (añadir un 30 por ciento de 11, lo que da 3,3, que, al redondear, se queda en 3).
+ Si el valor de la métrica llega a 40, Auto Scaling de aplicaciones reduce la capacidad del destino escalable en 1 hasta 13, en rol del segundo ajuste de paso de la política de reducir horizontalmente (quitar el 10 por ciento de 14, 1,4, redondeado a 1). Si el valor de la métrica disminuye hasta 30 incluso después de esta reducción de capacidad, Auto Scaling de aplicaciones reduce la capacidad objetivo en 3 hasta 10, en rol del tercer ajuste de paso de la política de reducir horizontalmente (agregar el 30 por ciento de 13, 3,9, redondeado a 3).

Cuando especifique los ajustes por pasos de la política de escalado, tenga en cuenta lo siguiente:
+ Los intervalos de los ajustes por pasos no se pueden solapar ni contener huecos.
+ Solo puede haber un ajuste por pasos con un límite inferior nulo (infinito negativo). Si un ajuste por pasos tiene un límite inferior negativo, debe haber un ajuste por pasos con un límite inferior nulo.
+ Solo puede haber un ajuste por pasos con un límite superior nulo (infinito positivo). Si un ajuste por pasos tiene un límite superior positivo, debe haber un ajuste por pasos con un límite superior nulo.
+ Los límites superior e inferior no pueden ser nulos en el mismo ajuste por pasos.
+ Si el valor de la métrica es superior al umbral de infracción, el límite inferior es inclusivo y el límite superior es exclusivo. Si el valor de la métrica es inferior al umbral de infracción, el límite inferior es exclusivo y el límite superior es inclusivo.

## Tipos de ajuste de escalado
<a name="as-scaling-adjustment"></a>

Puede definir una política de escalado que realice la acción de escalado idónea en función del tipo de ajuste de escalado elegido. Puede especificar el tipo de ajuste como un porcentaje de la capacidad actual del objetivo escalable o en números absolutos.

Auto Scaling de aplicaciones admite los siguientes tipos de ajuste para las políticas de escalado por pasos:
+ **ChangeInCapacity**—Aumente o disminuya la capacidad actual del objetivo escalable en el valor especificado. Un valor positivo aumenta la capacidad y un valor negativo reduce la capacidad. Por ejemplo, si la capacidad actual es 3 y el ajuste es 5, Auto Scaling de aplicaciones agrega 5 a la capacidad, lo que suma un total de 8.
+ **ExactCapacity**—Cambie la capacidad actual del objetivo escalable al valor especificado. Especifique un valor positivo con este tipo de ajuste. Por ejemplo, si la capacidad actual es 3 y el ajuste es 5, Auto Scaling de aplicaciones cambia la capacidad a 5.
+ **PercentChangeInCapacity**—Aumente o disminuya la capacidad actual del objetivo escalable en el porcentaje especificado. Un valor positivo aumenta la capacidad y un valor negativo reduce la capacidad. Por ejemplo, si la capacidad actual es 10 y el ajuste es del 10 %, Auto Scaling de aplicaciones agrega 1 a la capacidad, lo que da un total de 11.

  Si el valor resultante no es un entero, Auto Scaling de aplicaciones lo redondea como se indica a continuación:
  + Los valores mayores que 1 se redondean al valor inferior. Por ejemplo, `12.7` se redondea a `12`.
  + Los valores comprendidos entre 0 y 1 se redondean a 1. Por ejemplo, `.67` se redondea a `1`.
  + Los valores comprendidos entre 0 y -1 se redondean a -1. Por ejemplo, `-.58` se redondea a `-1`.
  + Los valores menores que -1 se redondean al valor superior. Por ejemplo, `-6.67` se redondea a `-6`.

  Con **PercentChangeInCapacity**, también puede especificar la cantidad mínima a escalar mediante el `MinAdjustmentMagnitude` parámetro. Suponga, por ejemplo, que crea una política que añade un 25 por ciento y especifica una cantidad mínima de 2. Si el destino escalable tiene una capacidad de 4 y se ejecuta la política de escalado, el 25 por ciento de 4 es 1. Sin embargo, puesto que ha especificado un incremento mínimo de 2, Auto Scaling de aplicaciones agrega 2.

## Periodo de recuperación
<a name="step-scaling-cooldown"></a>

Si lo desea, puede definir un periodo de recuperación en su política de escalado por pasos.

Un periodo de recuperación especifica la cantidad de tiempo que la política de escalado espera a que una actividad de escalado anterior surta efecto.

Hay dos formas de planificar el uso de los periodos de recuperación para una configuración de escalado por pasos:
+ Con el periodo de recuperación de escalado horizontal, la intención es escalar horizontalmente de forma continua (pero no excesivamente). Después de que Application Auto Scaling efectúe de forma correcta el escalado horizontal con una política de escalado, comienza a calcular el tiempo de recuperación. Una política de escalado no volverá a aumentar la capacidad deseada a menos que se desencadene un escalado horizontal mayor o finalice el periodo de recuperación. Mientras el periodo de recuperación del escalado ascendente esté en vigor, la capacidad agregada por la actividad inicial de escalado ascendente se considerará parte de la capacidad deseada para la siguiente actividad de escalado ascendente.
+ Con el periodo de recuperación de las políticas de reducción horizontal, la intención es reducir horizontalmente con precaución para proteger la disponibilidad de la aplicación, de modo que las actividades de reducir horizontalmente se bloqueen hasta que haya transcurrido el periodo de recuperación de la reducción horizontal. No obstante, si otra alarma desencadena una actividad de escalado ascendente durante el periodo de recuperación de escalado descendente, Application Auto Scaling realiza inmediatamente un escalado ascendente del destino. En este caso, el periodo de recuperación de la reducción horizontal se detiene y no se completa.

Por ejemplo, cuando se produce un pico de tráfico, se activa una alarma y Application Auto Scaling agrega capacidad automáticamente para ayudar a gestionar el aumento de carga. Si se establece un periodo de recuperación para la política de escalado horizontal, cuando la alarma activa la política para aumentar la capacidad en 2, la actividad de escalado se realiza correctamente y se inicia el periodo de recuperación del escalado horizontal. Si una alarma vuelve a activarse durante el periodo de recuperación, pero con un ajuste por pasos más estricto que 3, el aumento de 2 se considerará parte de la capacidad actual. Por lo tanto, solo se añade 1 a la capacidad. Esto permite escalar más rápido que esperar a que caduque el tiempo de recuperación, pero sin agregar más capacidad de la que se necesita.

El período de recuperación se mide en segundos y solo se aplica a las actividades de escalado relacionadas con políticas de escalado. Durante un periodo de recuperación, cuando una acción programada comienza a la hora programada, puede desencadenar una actividad de escalado inmediatamente sin esperar a que finalice el periodo de recuperación.

El valor predeterminado es 300 si no se especifica ningún valor.

## Comandos de uso frecuente para la creación, administración y eliminación de políticas de escalado
<a name="step-scaling-policy-commonly-used-commands"></a>

Los comandos comúnmente utilizados para trabajar con políticas de escalado incluyen: 
+ [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)registrar AWS o personalizar los recursos como objetivos escalables (un recurso que Application Auto Scaling puede escalar) y suspender y reanudar el escalado. 
+ [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)para añadir o modificar políticas de escalado para un objetivo escalable existente.
+  [describe-scaling-activities](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scaling-activities.html)para devolver información sobre el escalamiento de las actividades en una AWS región. 
+ [describe-scaling-policies](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scaling-policies.html)para devolver información sobre las políticas de escalado en una AWS región.
+ [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scaling-policy.html)para eliminar una política de escalado. 

## Consideraciones
<a name="step-scaling-considerations"></a>

Las siguientes consideraciones se aplican al trabajar con las políticas de escalado por pasos:
+ Considere si puede predecir los ajustes escalonados de la aplicación con la precisión suficiente como para utilizar la escala por pasos. Si la métrica de escalado aumenta o reduce en proporción a la capacidad del destino escalable, le recomendamos que, en su lugar, utilice una política de escalado de seguimiento de destino. Todavía tiene la opción de usar escalado por pasos como una política adicional para una configuración más avanzada. Por ejemplo, puede configurar una respuesta más agresiva cuando se alcance un determinado nivel de utilización.
+ Asegúrese de elegir un margen adecuado entre los umbrales de escalado horizontal y escalado automático para evitar oscilaciones. La fluctuación es un bucle infinito de reducción horizontal y escalado horizontal. Es decir, si se realiza una acción de escalado, el valor de la métrica cambiaría e iniciaría otra acción de escalado en la dirección inversa.

## Recursos relacionados
<a name="step-scaling-related-resources"></a>

Para obtener más información sobre cómo crear políticas de escalado por pasos para grupos de Auto Scaling, consulte [Pasos y políticas de escalado sencillas para Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html) en la *Guía del usuario de Amazon EC2 Auto Scaling*. 

## Acceso a la consola
<a name="step-scaling-console-access"></a>

El acceso a la consola para ver, agregar, actualizar o eliminar políticas de escalado por pasos en recursos escalables depende del recurso que utilice. Para obtener más información, consulte [Servicios de AWS que puede usar con Application Auto Scaling](integrated-services-list.md).

# Cree una política de escalado escalonado para Application Auto Scaling mediante el AWS CLI
<a name="create-step-scaling-policy-cli"></a>

En este ejemplo, se utilizan AWS CLI comandos para crear una política de escalado por pasos para un servicio de Amazon ECS. Para un destino escalable diferente, especifique su espacio de nombres en `--service-namespace`, su dimensión escalable en `--scalable-dimension` y su ID de recurso en `--resource-id`.

Cuando utilice el AWS CLI, recuerde que sus comandos se ejecutan en la Región de AWS configuración de su perfil. Si desea ejecutar los comandos en otra región, cambie la región predeterminada de su perfil o utilice el parámetro `--region` con el comando.

**Topics**
+ [Paso 1: Registro de un destino escalable](#step-scaling-register-scalable-target)
+ [Paso 2: Cree una política de escalado escalonado](#create-step-scaling-policy)
+ [Paso 3: Cree una alarma que invoque una política de escalado](#step-scaling-create-alarm)

## Paso 1: Registro de un destino escalable
<a name="step-scaling-register-scalable-target"></a>

Si aún no lo ha hecho, registre el destino escalable. Utilice el [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)comando para registrar un recurso específico en el servicio de destino como destino escalable. En el siguiente ejemplo se registra un Servicio ECS de Amazon con Auto Scaling de aplicaciones. Auto Scaling de aplicaciones puede escalar el número de tareas a un mínimo de 2 tareas y un máximo de 10. Reemplace cada *user input placeholder* por su propia información.

**Linux, macOS o Unix**

```
aws application-autoscaling register-scalable-target --service-namespace ecs \
  --scalable-dimension ecs:service:DesiredCount \
  --resource-id service/my-cluster/my-service \
  --min-capacity 2 --max-capacity 10
```

**Windows**

```
aws application-autoscaling register-scalable-target --service-namespace ecs ^
  --scalable-dimension ecs:service:DesiredCount ^
  --resource-id service/my-cluster/my-service ^
  --min-capacity 2 --max-capacity 10
```

**Output**  
Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable. A continuación, se muestra un ejemplo del resultado.

```
{
    "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
```

## Paso 2: Cree una política de escalado escalonado
<a name="create-step-scaling-policy"></a>

Para crear una política de escalado escalonado para su objetivo escalable, puede utilizar los siguientes ejemplos como ayuda para empezar.

------
#### [ Scale out ]

**Para crear una política de escalado escalonado para ampliar (aumentar la capacidad)**

1. Utilice el siguiente `cat` comando para almacenar una configuración de política de escalado escalonado en un archivo JSON denominado `config.json` en su directorio principal. El siguiente es un ejemplo de configuración con un tipo de ajuste `PercentChangeInCapacity` que aumenta la capacidad del objetivo escalable en función de los siguientes ajustes escalonados (suponiendo un umbral de CloudWatch alarma de 70): 
   + Aumente la capacidad en un 10 por ciento cuando el valor de la métrica sea superior o igual a 70 pero inferior a 85
   + Aumente la capacidad en un 20 por ciento cuando el valor de la métrica sea superior o igual a 85 pero inferior a 95
   + Aumente la capacidad en un 30 por ciento cuando el valor de la métrica sea mayor o igual a 95

   ```
   $ cat ~/config.json
   {
     "AdjustmentType": "PercentChangeInCapacity",
     "MetricAggregationType": "Average",
     "Cooldown": 60,
     "MinAdjustmentMagnitude": 1,
     "StepAdjustments": [ 
       {
         "MetricIntervalLowerBound": 0.0,
         "MetricIntervalUpperBound": 15.0,
         "ScalingAdjustment": 10
       },
       {
         "MetricIntervalLowerBound": 15.0,
         "MetricIntervalUpperBound": 25.0,
         "ScalingAdjustment": 20
       },
       {
         "MetricIntervalLowerBound": 25.0,
         "ScalingAdjustment": 30
       }
     ]
   }
   ```

   Para obtener más información, consulte la *Referencia [StepScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html)de la API Application Auto Scaling*.

1. Utilice el siguiente [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)comando, junto con el `config.json` archivo que creó, para crear una política de escalado denominada`my-step-scaling-policy`.

   **Linux, macOS o Unix**

   ```
   aws application-autoscaling put-scaling-policy --service-namespace ecs \
     --scalable-dimension ecs:service:DesiredCount \
     --resource-id service/my-cluster/my-service \
     --policy-name my-step-scaling-policy --policy-type StepScaling \
     --step-scaling-policy-configuration file://config.json
   ```

   **Windows**

   ```
   aws application-autoscaling put-scaling-policy --service-namespace ecs ^
     --scalable-dimension ecs:service:DesiredCount ^
     --resource-id service/my-cluster/my-service ^
     --policy-name my-step-scaling-policy --policy-type StepScaling ^
     --step-scaling-policy-configuration file://config.json
   ```

**Output**  
El resultado incluye el ARN que actúa como un nombre único para la política. Lo necesita para crear una CloudWatch alarma para su política. A continuación, se muestra un ejemplo del resultado.

   ```
   {
       "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:resource/ecs/service/my-cluster/my-service:policyName/my-step-scaling-policy"
   }
   ```

------
#### [ Scale in ]

**Crear una política de escalado escalonado para ampliarlo (reducir la capacidad)**

1. Utilice el siguiente `cat` comando para almacenar una configuración de política de escalado escalonado en un archivo JSON denominado `config.json` en su directorio principal. El siguiente es un ejemplo de configuración con un tipo de ajuste `ChangeInCapacity` que reduce la capacidad del objetivo escalable en función de los siguientes ajustes escalonados (suponiendo un umbral de CloudWatch alarma de 50): 
   + Reduzca la capacidad en un 1% cuando el valor de la métrica sea inferior o igual a 50 pero superior a 40
   + Reduzca la capacidad en 2 cuando el valor de la métrica sea inferior o igual a 40 pero superior a 30
   + Disminuya la capacidad en 3 cuando el valor de la métrica sea inferior o igual a 30

   ```
   $ cat ~/config.json
   {
     "AdjustmentType": "ChangeInCapacity",
     "MetricAggregationType": "Average",
     "Cooldown": 60,
     "StepAdjustments": [ 
       {
         "MetricIntervalUpperBound": 0.0,
         "MetricIntervalLowerBound": -10.0,
         "ScalingAdjustment": -1
       },
       {
         "MetricIntervalUpperBound": -10.0,
         "MetricIntervalLowerBound": -20.0,
         "ScalingAdjustment": -2
       },
       {
         "MetricIntervalUpperBound": -20.0,
         "ScalingAdjustment": -3
       }
     ]
   }
   ```

   Para obtener más información, consulte la *Referencia [StepScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_StepScalingPolicyConfiguration.html)de la API Application Auto Scaling*.

1. Utilice el siguiente [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)comando, junto con el `config.json` archivo que creó, para crear una política de escalado denominada`my-step-scaling-policy`.

   **Linux, macOS o Unix**

   ```
   aws application-autoscaling put-scaling-policy --service-namespace ecs \
     --scalable-dimension ecs:service:DesiredCount \
     --resource-id service/my-cluster/my-service \
     --policy-name my-step-scaling-policy --policy-type StepScaling \
     --step-scaling-policy-configuration file://config.json
   ```

   **Windows**

   ```
   aws application-autoscaling put-scaling-policy --service-namespace ecs ^
     --scalable-dimension ecs:service:DesiredCount ^
     --resource-id service/my-cluster/my-service ^
     --policy-name my-step-scaling-policy --policy-type StepScaling ^
     --step-scaling-policy-configuration file://config.json
   ```

**Output**  
El resultado incluye el ARN que actúa como un nombre único para la política. Necesita este ARN para crear una CloudWatch alarma para su póliza. A continuación, se muestra un ejemplo del resultado.

   ```
   {
       "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:resource/ecs/service/my-cluster/my-service:policyName/my-step-scaling-policy"
   }
   ```

------

## Paso 3: Cree una alarma que invoque una política de escalado
<a name="step-scaling-create-alarm"></a>

Por último, utilice el siguiente CloudWatch [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)comando para crear una alarma y utilizarla con su política de escalado escalonado. En este ejemplo, tiene una alarma basada en la utilización media de la CPU. La alarma está configurada para que adopte el estado ALARM si alcanza un umbral del 70 % durante al menos dos periodos de evaluación consecutivos de 60 segundos. Para especificar una CloudWatch métrica diferente o usar su propia métrica personalizada, especifique su nombre `--metric-name` y su espacio de nombres en. `--namespace` 

**Linux, macOS o Unix**

```
aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service \
  --metric-name CPUUtilization --namespace AWS/ECS --statistic Average \
  --period 60 --evaluation-periods 2 --threshold 70 \
  --comparison-operator GreaterThanOrEqualToThreshold \
  --dimensions Name=ClusterName,Value=default Name=ServiceName,Value=sample-app-service \
  --alarm-actions PolicyARN
```

**Windows**

```
aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service ^
  --metric-name CPUUtilization --namespace AWS/ECS --statistic Average ^
  --period 60 --evaluation-periods 2 --threshold 70 ^
  --comparison-operator GreaterThanOrEqualToThreshold ^
  --dimensions Name=ClusterName,Value=default Name=ServiceName,Value=sample-app-service ^
  --alarm-actions PolicyARN
```

# Describa las políticas de escalado por pasos para Application Auto Scaling mediante el AWS CLI
<a name="describe-step-scaling-policy"></a>

Puede describir todas las políticas de escalado de un espacio de nombres de servicio mediante el [describe-scaling-policies](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scaling-policies.html)comando. El siguiente ejemplo describe todas las políticas de escalado de todos los servicios de Amazon ECS. Para incluirlos solo para un servicio específico de Amazon ECS, añade la `--resource-id` opción.

```
aws application-autoscaling describe-scaling-policies --service-namespace ecs
```

Puede filtrar los resultados a solo las políticas de escalado por pasos mediante el parámetro `--query`. Para obtener más información acerca de syntax para `query`, consulte [Control de la salida de comandos de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output.html) en la *Guía del usuario de AWS Command Line Interface *.

**Linux, macOS o Unix**

```
aws application-autoscaling describe-scaling-policies --service-namespace ecs \
  --query 'ScalingPolicies[?PolicyType==`StepScaling`]'
```

**Windows**

```
aws application-autoscaling describe-scaling-policies --service-namespace ecs ^
  --query "ScalingPolicies[?PolicyType==`StepScaling`]"
```

**Output**  
A continuación, se muestra un ejemplo del resultado.

```
[
    {
        "PolicyARN": "PolicyARN",
        "StepScalingPolicyConfiguration": {
            "MetricAggregationType": "Average",
            "Cooldown": 60,
            "StepAdjustments": [
                {
                    "MetricIntervalLowerBound": 0.0,
                    "MetricIntervalUpperBound": 15.0,
                    "ScalingAdjustment": 1
                },
                {
                    "MetricIntervalLowerBound": 15.0,
                    "MetricIntervalUpperBound": 25.0,
                    "ScalingAdjustment": 2
                },
                {
                    "MetricIntervalLowerBound": 25.0,
                    "ScalingAdjustment": 3
                }
            ],
            "AdjustmentType": "ChangeInCapacity"
        },
        "PolicyType": "StepScaling",
        "ResourceId": "service/my-cluster/my-service",
        "ServiceNamespace": "ecs",
        "Alarms": [
            {
                "AlarmName": "Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service",
                "AlarmARN": "arn:aws:cloudwatch:region:012345678910:alarm:Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service"
            }
        ],
        "PolicyName": "my-step-scaling-policy",
        "ScalableDimension": "ecs:service:DesiredCount",
        "CreationTime": 1515024099.901
    }
]
```

# Elimine una política de escalado por pasos para Application Auto Scaling mediante el AWS CLI
<a name="delete-step-scaling-policy"></a>

Puede eliminar una política de escalado cuando ya no la necesite. Para eliminar tanto la política de escalado como la CloudWatch alarma asociada, complete las siguientes tareas.

**Para eliminar una política de escalado**  
Utilice el comando [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scaling-policy.html).

**Linux, macOS o Unix**

```
aws application-autoscaling delete-scaling-policy --service-namespace ecs \
  --scalable-dimension ecs:service:DesiredCount \
  --resource-id service/my-cluster/my-service \
  --policy-name my-step-scaling-policy
```

**Windows**

```
aws application-autoscaling delete-scaling-policy --service-namespace ecs ^
  --scalable-dimension ecs:service:DesiredCount ^
  --resource-id service/my-cluster/my-service ^
  --policy-name my-step-scaling-policy
```

**Para eliminar la CloudWatch alarma**  
Utilice el comando [delete-alarms](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/delete-alarms.html). Puede eliminar una o más alarmas a la vez. Por ejemplo, utilice el siguiente comando para eliminar las alarmas `Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service` y `Step-Scaling-AlarmLow-ECS:service/my-cluster/my-service`.

```
aws cloudwatch delete-alarms --alarm-name Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service Step-Scaling-AlarmLow-ECS:service/my-cluster/my-service
```