

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.

# Configuración de un grupo de escalado automático para utilizar ponderación de instancias
<a name="ec2-auto-scaling-mixed-instances-groups-instance-weighting"></a>

Cuando utiliza varios tipos de instancias, puede especificar cuántas unidades desea asociar a cada tipo de instancia y, a continuación, especificar la capacidad del grupo con la misma unidad de medida. Esta opción de especificación de capacidad se conoce como ponderaciones.

Por ejemplo, supongamos que ejecuta una aplicación de procesamiento intensivo que funciona mejor con al menos 8 v CPUs y 15 GiB de RAM. Si utiliza `c5.2xlarge` como unidad base, cualquiera de los siguientes tipos de instancias EC2 satisfaría las necesidades de la aplicación. 


**Ejemplo de tipos de instancias**  

| Tipo de instancia | vCPU | Memoria (GiB) | 
| --- | --- | --- | 
| c5.2xlarge  |  8  | 16 | 
| c5.4xlarge | 16 | 32 | 
| c5.12xlarge | 48 | 96 | 
| c5.18xlarge  | 72 | 144 | 
| c5.24xlarge | 96 | 192 | 

De forma predeterminada, todos los tipos de instancias tienen la misma ponderación, independientemente de su tamaño. En otras palabras, tanto si Amazon EC2 Auto Scaling lanza un tipo de instancias grande como pequeño, todas las instancias cuentan a la hora de determinar la capacidad deseada del grupo de escalado automático.

Sin embargo, con las ponderaciones, se asigna un valor numérico que especifica cuántas unidades se van a asociar a cada tipo de instancia. Por ejemplo, si las instancias tienen diferentes tamaños, una instancia `c5.2xlarge` podría tener una ponderación de 2, mientras que una instancia `c5.4xlarge` (que es dos veces mayor) podría tener una ponderación de 4, etc. Luego, cuando Amazon EC2 Auto Scaling escala el grupo, estas ponderaciones se traducen en la cantidad de unidades que cada instancia tiene en cuenta para calcular la capacidad deseada. 

Las ponderaciones no cambian los tipos de instancias que Amazon EC2 Auto Scaling decide lanzar; en su lugar, lo hacen las estrategias de asignación. Para obtener más información, consulte [Estrategias de asignación de varios tipos de instancias](allocation-strategies.md).

**importante**  
Para configurar un grupo de Auto Scaling para que alcance la capacidad deseada utilizando el número de v CPUs o la cantidad de memoria de cada tipo de instancia, recomendamos usar la selección del tipo de instancia basada en atributos. Al configurar el parámetro `DesiredCapacityType`, se especifica automáticamente el número de unidades que se van a asociar a cada tipo de instancia en función del valor que haya establecido para este parámetro. Para obtener más información, consulte [Creación de grupos de instancias mixtas mediante la selección del tipo de instancia basada en atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md).

**Topics**
+ [Consideraciones](#weights-considerations)
+ [Comportamientos de ponderación de instancias](#instance-weighting-behaviors)
+ [Configuración de un grupo de escalado automático para utilizar ponderaciones](configue-auto-scaling-group-to-use-weights.md)
+ [Ejemplo de precio de spot por hora de unidad](weights-spot-price-per-unit-hour-example.md)

## Consideraciones
<a name="weights-considerations"></a>

En esta sección, se analizan las consideraciones clave para implementar con eficacia las ponderaciones.
+ Elija algunos tipos de instancias que se ajusten a las necesidades de rendimiento de su aplicación. Decida la ponderación con la que debe contar cada tipo de instancias en la capacidad deseada del grupo de escalado automático en función de sus capacidades. Estas ponderaciones se aplican a las instancias actuales y futuras.
+ Evite intervalos amplios entre las ponderaciones. Por ejemplo, no especifique una ponderación de 1 para un tipo de instancia si el siguiente tipo de instancia mayor tiene una ponderación de 200. La diferencia entre las ponderaciones más bajas y más altas tampoco debe ser exagerada. Las diferencias extremas de ponderación pueden afectar negativamente a la optimización de la relación costo-rendimiento.
+ Especifique la capacidad deseada del grupo en unidades, no en instancias. Por ejemplo, si las ponderaciones se basan en la vCPU, establezca el número deseado de núcleos que quiere utilizar, así como el número mínimo y máximo.
+ Establezca las ponderaciones y la capacidad deseada para que esta sea al menos dos o tres veces mayor que su ponderación más alta.

Tenga en cuenta lo siguiente al actualizar los grupos existentes:
+ Cuando añada ponderaciones a un grupo existente, incluya las ponderaciones de todos los tipos de instancias que se utilizan actualmente.
+ Cuando añada o cambie ponderaciones existentes, Amazon EC2 Auto Scaling inicializará o terminará las instancias para alcanzar su capacidad deseada en función de los nuevos valores de ponderación.
+ Si quita un tipo de instancia, las instancias en ejecución de ese tipo seguirán teniendo la última ponderación, aunque ya no estén definidas.

## Comportamientos de ponderación de instancias
<a name="instance-weighting-behaviors"></a>

Cuando utiliza ponderaciones de instancias, Amazon EC2 Auto Scaling se comporta de la siguiente manera:
+ La capacidad actual será igual o superior a la capacidad deseada. La capacidad actual puede superar la capacidad deseada si las instancias inicializadas superan las unidades de capacidad deseadas restantes. Por ejemplo, supongamos que especifica dos tipos de instancias: `c5.2xlarge` y `c5.12xlarge`, y que asigna la ponderación 2 a `c5.2xlarge` y la ponderación 12 a `c5.12xlarge`. Si faltan cinco unidades para satisfacer la capacidad deseada, y Amazon EC2 Auto Scaling aprovisiona una `c5.12xlarge`, la capacidad deseada se sobrepasa en siete unidades. 
+ Al inicializar instancias, Amazon EC2 Auto Scaling prioriza la distribución de la capacidad entre las zonas de disponibilidad y el respeto de las estrategias de asignación en lugar de superar la capacidad deseada.
+ Amazon EC2 Auto Scaling puede superar el límite máximo de capacidad para mantener el equilibrio entre las zonas de disponibilidad con las estrategias de asignación que desee. El límite máximo exigido por Amazon EC2 Auto Scaling es su capacidad deseada más la ponderación más alta.

# Configuración de un grupo de escalado automático para utilizar ponderaciones
<a name="configue-auto-scaling-group-to-use-weights"></a>

Puede configurar un grupo de escalado automático para usar ponderaciones, como se muestra en los siguientes ejemplos de AWS CLI . Para obtener instrucciones sobre cómo utilizar la consola, consulte [Creación de un grupo de instancias mixtas seleccionando manualmente los tipos de instancias](create-mixed-instances-group-manual-instance-type-selection.md).

**Configuración de un nuevo grupo de escalado automático para utilizar ponderaciones (AWS CLI)**  
Utilice el comando [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html). Por ejemplo, el comando siguiente crea un nuevo grupo de escalado automático y asigna ponderaciones al especificar lo siguiente:
+ El porcentaje del grupo que lanzar como instancias en diferido (`0`) 
+ La estrategia de asignación de instancias de spot de cada zona de disponibilidad (`capacity-optimized`)
+ Los tipos de instancia que se van a lanzar por orden de prioridad (`m4.16xlarge`, `m5.24xlarge`)
+ Los pesos de las instancias que corresponden a la diferencia de tamaño relativo (vCPUs) entre los tipos de instancias (`16`,) `24`
+ Las subredes en las que lanzar las instancias (`subnet-5ea0c127`, `subnet-c934b782`)`subnet-6194ea3b`, cada una de ellas correspondiente a una zona de disponibilidad diferente
+ La plantilla de lanzamiento (`my-launch-template`) y la versión de la plantilla de lanzamiento (`$Latest`)

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

El archivo `config.json` contiene la salida siguiente.

```
{
    "AutoScalingGroupName": "my-asg",
    "MixedInstancesPolicy": {
        "LaunchTemplate": {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "$Latest"
            },
            "Overrides": [
                {
                    "InstanceType": "m4.16xlarge",
                    "WeightedCapacity": "16"
                },
                {
                    "InstanceType": "m5.24xlarge",
                    "WeightedCapacity": "24"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized"
        }
    },
    "MinSize": 160,
    "MaxSize": 720,
    "DesiredCapacity": 480,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
    "Tags": []
}
```

**Configuración de un grupo de escalado automático existente para utilizar ponderaciones (AWS CLI)**  
Utilice el comando [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html). Por ejemplo, el comando siguiente asigna ponderaciones a los tipos de instancias de un grupo de escalado automático existente al especificar lo siguiente:
+ Los tipos de instancia que se van a lanzar por orden de prioridad (`c5.18xlarge`, `c5.24xlarge`, `c5.2xlarge`, `c5.4xlarge`)
+ Los pesos de las instancias que corresponden a la diferencia de tamaño relativo (vCPUs) entre los tipos de instancias (`18`,`24`,`2`,`4`)
+ La nueva capacidad deseada, que es mayor que la ponderación más alta

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

El archivo `config.json` contiene la salida siguiente.

```
{
    "AutoScalingGroupName": "my-existing-asg",
    "MixedInstancesPolicy": {
        "LaunchTemplate": {
            "Overrides": [
                {
                    "InstanceType": "c5.18xlarge",
                    "WeightedCapacity": "18"
                },
                {
                    "InstanceType": "c5.24xlarge",
                    "WeightedCapacity": "24"
                },
                {
                    "InstanceType": "c5.2xlarge",
                    "WeightedCapacity": "2"
                },
                {
                    "InstanceType": "c5.4xlarge",
                    "WeightedCapacity": "4"
                }
            ]
        }
    },
    "MinSize": 0,
    "MaxSize": 100,
    "DesiredCapacity": 100
}
```

**Verificación de las ponderaciones con la línea de comandos**  
Utilice uno de los siguientes comandos:
+ [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) (AWS CLI)
+ [Obtenga- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

# Ejemplo de precio de spot por hora de unidad
<a name="weights-spot-price-per-unit-hour-example"></a>

En la siguiente tabla, se compara el precio por hora de las instancias de spot en diferentes zonas de disponibilidad del Este de EE. UU. (Norte de Virginia) con el precio de las instancias bajo demanda de la misma región. Los precios mostrados son solo ejemplos; no son los precios actuales. Estos son sus costos *por hora de instancia*. 


**Ejemplo: Precio de las instancias de spot por hora de instancia**  

| Tipo de instancia | us-east-1a | us-east-1b | us-east-1c | Precios bajo demanda | 
| --- | --- | --- | --- | --- | 
| c5.2xlarge  | 0,180 USD | 0,191 USD | 0,170 USD | 0,34 USD  | 
| c5.4xlarge | 0,341 USD | 0,361 USD | 0,318 USD | 0,68 USD | 
| c5.12xlarge  | 0,779 USD | 0,777 USD  | 0,777 USD  | 2,04 USD | 
| c5.18xlarge  | 1,207 USD | 1,475 USD | 1,357 USD | 3,06 USD | 
| c5.24xlarge | 1,555 USD | 1,555 USD | 1,555 USD | 4,08 USD | 

Con las ponderaciones de instancias, puede evaluar los costos en función del uso *por hora de unidad*. Puede calcular el precio por hora de unidad dividiendo el precio de un tipo de instancia por el número de unidades que representa. En las instancias bajo demanda, el precio por hora de unidad es el mismo cuando se implementa un solo tipo de instancia y cuando se implementa un tamaño diferente del mismo tipo de instancia. Sin embargo, el precio de spot por hora de unidad varía en función del grupo de spot. 

En el siguiente ejemplo, se muestra cómo funciona el cálculo del precio de spot por hora de unidad con las ponderaciones de las instancias. Para facilitar el cálculo, supongamos que desea lanzar instancias de spot solo en `us-east-1a`. El precio por hora de unidad se muestra en la siguiente tabla.


**Ejemplo: precio de spot por hora de unidad**  

| Tipo de instancia | us-east-1a | Ponderación de instancia | Precio por hora de unidad  | 
| --- | --- | --- | --- | 
| c5.2xlarge  | 0,180 USD | 2 | 0,090 USD | 
| c5.4xlarge | 0,341 USD | 4 | 0,085 USD | 
| c5.12xlarge  | 0,779 USD | 12 | 0,065 USD | 
| c5.18xlarge  | 1,207 USD | 18 | 0,067 USD | 
| c5.24xlarge | 1,555 USD | 24 | 0,065 USD | 