

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.

# Habilitar el reequilibrio de la capacidad para reemplazar de forma proactiva las instancias de spot en riesgo
<a name="enable-capacity-rebalancing-console-cli"></a>

Puede usar Consola de administración de AWS o AWS CLI para habilitar el reequilibrio de capacidad para su grupo de Auto Scaling. Cuando se habilita el reequilibrio de la capacidad, Amazon EC2 Auto Scaling intentará reemplazar de forma proactiva las instancias de spot en su grupo que han recibido una recomendación de reequilibrio de instancias de EC2.

## Habilitar el reequilibrio de la capacidad (consola)
<a name="enable-capacity-rebalancing-console"></a>

Puede habilitar o desactivar el reequilibrio de la capacidad al crear o actualizar un grupo de escalado automático.

**Para habilitar el reequilibrio de la capacidad para un nuevo grupo de escalado automático**

1. Abra la consola Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)y seleccione **Auto Scaling Groups** en el panel de navegación.

1. Elija **Create Auto Scaling group (Crear grupo de escalado automático)**.

1. Para el **paso 1: Elegir la plantilla de lanzamiento o la configuración**, ingrese un nombre para el grupo de escalado automático, elija una plantilla de lanzamiento y, a continuación, elija **Siguiente** para continuar con el próximo paso.

1. Para el **paso 2: Elegir las opciones de lanzamiento de instancias**, en **Requisitos de tipo de instancias**, elija la configuración para crear un grupo de instancias mixtas. Esto incluye los tipos de instancias que puede lanzar, las opciones de compra de instancias y las estrategias de asignación para las instancias de spot y bajo demanda. De forma predeterminada, estas opciones no están configuradas. Para configurarlas, debe seleccionar **Override launch template** (Anular plantilla de lanzamiento). Para obtener más información sobre cómo crear un grupo de instancias mixtas, consulte [Grupos de Auto Scaling con varios tipos de instancia y opciones de compra](ec2-auto-scaling-mixed-instances-groups.md).

1. En **Red**, elija las opciones que desee. Compruebe que las subredes que desea utilizar se encuentran en diferentes zonas de disponibilidad.

1. En la sección **Estrategias de asignación**, elija una estrategia de asignación de spot. Para habilitar o deshabilitar el reequilibrio de la capacidad, seleccione o desmarque la casilla debajo de **Reequilibrio de la capacidad**. Esta opción solo aparece cuando uno solicita un porcentaje del grupo de escalado automático que se lanzará como instancias de spot en la sección **Opciones de compra de instancias**.

1. Cree el grupo de escalado automático.

1. (Opcional) Añada enlaces de ciclo de vida según sea necesario. Para obtener más información, consulte [Incorporación de los enlaces de ciclo de vida en su grupo de escalado automático](adding-lifecycle-hooks.md).

**Habilitación o deshabilitación del reequilibrio de la capacidad para un grupo de escalado automático existente**

1. Abra la consola Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)y seleccione **Auto Scaling Groups** en el panel de navegación.

1. Seleccione la casilla situada junto al grupo de escalado automático. Se abre un panel dividido en la parte inferior de la página. 

1. En la pestaña **Details** (Detalles), elija **Allocation strategies** (Estrategias de asignación) y **Edit** (Editar).

1. En la sección **Estrategias de asignación**, habilite o deshabilite el reequilibrio de la capacidad seleccionando o desmarcando la casilla debajo de **Reequilibrio de la capacidad**. 

1. Elija **Actualizar**.

## Habilitar el reequilibrio de la capacidad (AWS CLI)
<a name="enable-capacity-rebalancing-aws-cli"></a>

Los siguientes ejemplos muestran cómo utilizar el AWS CLI para activar y desactivar el reequilibrio de capacidad. 

Utilice el [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)o con el siguiente parámetro: 
+ `--capacity-rebalance` / `--no-capacity-rebalance`: valor booleano que indica si el reequilibrio de la capacidad está habilitado.

Antes de ejecutar el [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando, necesitará el nombre de una plantilla de lanzamiento que esté configurada para usarse con un grupo de Auto Scaling. Para obtener más información, consulte [Creación de una plantilla de lanzamiento para un grupo de Auto Scaling](create-launch-template.md). 

**nota**  
En los procedimientos siguientes se muestra cómo utilizar un archivo de configuración con formato JSON o YAML. Si utiliza la AWS CLI versión 1, debe especificar un archivo de configuración con formato JSON. Si usa la AWS CLI versión 2, puede especificar un archivo de configuración formateado en YAML o JSON.

### JSON
<a name="enable-capacity-rebalancing-aws-cli-json"></a>

**Para crear y configurar un nuevo grupo de escalado automático**
+ Use el siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando para crear un nuevo grupo de Auto Scaling y habilitar el reequilibrio de capacidad. Este comando hace referencia a un archivo JSON como único parámetro de su grupo de escalado automático.

  ```
  aws autoscaling create-auto-scaling-group --cli-input-json {{file://~/config.json}}
  ```

  Si aún no tiene un archivo de configuración de la CLI que especifique una [política de instancias mixtas](ec2-auto-scaling-mixed-instances-groups.md), cree uno.

  Agregue la siguiente línea al objeto JSON de nivel superior en el archivo de configuración. 

  ```
  {
      "CapacityRebalance": true
  }
  ```

  A continuación se muestra un ejemplo de un archivo `config.json`. 

  ```
  {
      "AutoScalingGroupName": "{{my-asg}}",
      "DesiredCapacity": {{12}},
      "MinSize": {{12}},
      "MaxSize": {{15}},
      "CapacityRebalance": true,
      "MixedInstancesPolicy": {
          "InstancesDistribution": {
              "OnDemandBaseCapacity": {{0}},
              "OnDemandPercentageAboveBaseCapacity": {{25}},
              "SpotAllocationStrategy": "price-capacity-optimized"
          },
          "LaunchTemplate": {
              "LaunchTemplateSpecification": {
                  "LaunchTemplateName": "{{my-launch-template}}",
                  "Version": "{{$Default}}"
              },
              "Overrides": [
                  {
                      "InstanceType": "{{c5.large}}"
                  },
                  {
                      "InstanceType": "{{c5a.large}}"
                  },
                  {
                      "InstanceType": "{{m5.large}}"
                  },
                  {
                      "InstanceType": "{{m5a.large}}"
                  },
                  {
                      "InstanceType": "{{c4.large}}"
                  },
                  {
                      "InstanceType": "{{m4.large}}"
                  },
                  {
                      "InstanceType": "{{c3.large}}"
                  },
                  {
                      "InstanceType": "{{m3.large}}"
                  }
              ]
          }
      },
      "TargetGroupARNs": "{{arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff}}",
      "VPCZoneIdentifier": "{{subnet-5ea0c127}},{{subnet-6194ea3b}},{{subnet-c934b782}}"
  }
  ```

### YAML
<a name="enable-capacity-rebalancing-aws-cli-yaml"></a>

**Para crear y configurar un nuevo grupo de escalado automático**
+ Use el siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando para crear un nuevo grupo de Auto Scaling y habilitar el reequilibrio de capacidad. Este comando hace referencia a un archivo YAML como único parámetro de su grupo de escalado automático.

  ```
  aws autoscaling create-auto-scaling-group --cli-input-yaml {{file://~/config.yaml}}
  ```

  Agregue la siguiente línea al archivo de configuración con formato YAML.

  ```
  CapacityRebalance: true
  ```

  A continuación se muestra un ejemplo de un archivo `config.yaml`. 

  ```
  ---
  AutoScalingGroupName: {{my-asg}}
  DesiredCapacity: {{12}}
  MinSize: {{12}}
  MaxSize: {{15}}
  CapacityRebalance: true
  MixedInstancesPolicy:
    InstancesDistribution:
      OnDemandBaseCapacity: {{0}}
      OnDemandPercentageAboveBaseCapacity: {{25}}
      SpotAllocationStrategy: price-capacity-optimized
    LaunchTemplate:
      LaunchTemplateSpecification:
        LaunchTemplateName: {{my-launch-template}}
        Version: {{$Default}}
      Overrides:
      - InstanceType: {{c5.large}}
      - InstanceType: {{c5a.large}}
      - InstanceType: {{m5.large}}
      - InstanceType: {{m5a.large}}
      - InstanceType: {{c4.large}}
      - InstanceType: {{m4.large}}
      - InstanceType: {{c3.large}}
      - InstanceType: {{m3.large}}
  TargetGroupARNs:
  - {{arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-alb-target-group/943f017f100becff}}
  VPCZoneIdentifier: {{subnet-5ea0c127}},{{subnet-6194ea3b}},{{subnet-c934b782}}
  ```

**Para habilitar el reequilibrio de la capacidad para un grupo de escalado automático existente**
+ Use el siguiente [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando para habilitar el reequilibrio de capacidad.

  ```
  aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
    --capacity-rebalance
  ```

**Para verificar que el reequilibrio de la capacidad esté habilitado para un grupo de escalado automático**
+ Utilice el siguiente [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html)comando para comprobar que el reequilibrio de capacidad esté activado y para ver los detalles. 

  ```
  aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name {{my-asg}}
  ```

  A continuación, se muestra un ejemplo de respuesta.

  ```
  {
      "AutoScalingGroups": [
          {
              "AutoScalingGroupName": "my-asg",
              "AutoScalingGroupARN": "{{arn}}",
              ...
              "CapacityRebalance": true
          }
      ]
  }
  ```

**Para desactivar el reequilibrio de la capacidad**  
Utilice el [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)comando con la `--no-capacity-rebalance` opción de deshabilitar el reequilibrio de capacidad.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name {{my-asg}} \
  --no-capacity-rebalance
```

## Recursos relacionados
<a name="capacity-rebalancing-related-resources"></a>

Para obtener más información sobre el reequilibrio de capacidad, consulte [Gestionar proactivamente el ciclo de vida de las instancias puntuales mediante la nueva función de reequilibrio de capacidad para Amazon EC2 Auto](https://aws.amazon.com/blogs/compute/proactively-manage-spot-instance-lifecycle-using-the-new-capacity-rebalancing-feature-for-ec2-auto-scaling/) Scaling en el blog de informática. AWS 

Para obtener más información acerca de las recomendaciones de reequilibrio de instancias de EC2, consulte [Recomendación de reequilibrio de instancias de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/rebalance-recommendations.html) en la *Guía del usuario de Amazon EC2*.

Para obtener más información acerca de los enlaces de ciclo de vida, consulte los siguientes recursos.
+ [Tutorial: Configuración de un enlace de ciclo de vida que invoca una función Lambda](tutorial-lifecycle-hook-lambda.md)(usando) EventBridge
+ [Tutorial: Uso del script de datos y los metadatos de la instancia para recuperar el estado del ciclo de vida](tutorial-lifecycle-hook-instance-metadata.md)

## Limitaciones
<a name="capacity-rebalancing-limitations"></a>
+ Amazon EC2 Auto Scaling puede reemplazar la instancia que recibe la notificación de reequilibrio solo si la instancia no está protegida contra la reducción horizontal. Sin embargo, la protección de reducir horizontalmente no impide la terminación debido a una interrupción de spot. Para obtener más información, consulte [Uso de la protección frente a la reducción horizontal de instancias para controlar la terminación de instancias](ec2-auto-scaling-instance-protection.md).
+ La compatibilidad con el reequilibrio de la capacidad está disponible en todas las Regiones de AWS comerciales donde está disponible Amazon EC2 Auto Scaling, excepto la región de Oriente Medio (EAU).