

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.

# Grupos de Auto Scaling con varios tipos de instancia y opciones de compra
<a name="ec2-auto-scaling-mixed-instances-groups"></a>

Puede lanzar y escalar automáticamente una flota de instancias en diferido e instancias de spot en un solo grupo de escalado automático. Además de recibir descuentos para utilizar las instancias de spot, puede utilizar instancias reservadas o un Savings Plans para recibir descuentos en el precio regular de las instancias bajo demanda. Estos factores le permiten optimizar el ahorro de costos en las instancias de EC2, a la vez que se asegura de obtener la escala y el rendimiento deseados para su aplicación.

Las instancias de spot de son una capacidad de repuesto disponible con grandes descuentos en comparación con el precio bajo demanda de EC2. Las instancias de spot son una opción económica si es flexible con respecto a cuándo es necesario ejecutar las aplicaciones y si las aplicaciones se pueden interrumpir. Se pueden utilizar para diversas aplicaciones flexibles y tolerantes a errores. Los ejemplos incluyen servidores web sin estado, puntos finales de API, aplicaciones de macrodatos y análisis, cargas de trabajo en contenedores, CI/CD canalizaciones, computación de alto rendimiento y alto rendimiento (HPC/HTC), cargas de trabajo de renderizado y otras cargas de trabajo flexibles.

Para obtener más información, consulte [Opciones de compra de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-purchasing-options.html) en la *Guía del usuario de Amazon EC2*.

**Topics**
+ [Información general de la configuración de creación de un grupo de instancias mixtas](mixed-instances-groups-set-up-overview.md)
+ [Estrategias de asignación de varios tipos de instancias](allocation-strategies.md)
+ [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)
+ [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 grupo de escalado automático para utilizar ponderación de instancias](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md)
+ [Utilización de plantillas de lanzamiento múltiples](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md)

# Información general de la configuración de creación de un grupo de instancias mixtas
<a name="mixed-instances-groups-set-up-overview"></a>

En este tema se proporciona información general y prácticas recomendadas para crear un grupo de escalado automático de instancias mixtas.

**Topics**
+ [Descripción general de](#mixed-instances-groups-overview)
+ [Flexibilidad del tipo de instancias](#mixed-instances-group-instance-flexibility)
+ [Flexibilidad de zona de disponibilidad](#mixed-instances-group-az-flexibility)
+ [precio máximo de spot](#mixed-instances-group-spot-max-price)
+ [Reequilibrio de la capacidad proactivo](#use-capacity-rebalancing)
+ [Comportamiento del escalado](#mixed-instances-group-scaling-behavior)
+ [Disponibilidad regional de los tipos de instancias](#setup-overview-regional-availability-of-instance-types)
+ [Recursos relacionados](#setup-overview-related-resources)
+ [Limitaciones](#setup-overview-limitations)

## Descripción general de
<a name="mixed-instances-groups-overview"></a>

Para crear un grupo de instancias mixtas, tiene dos opciones:
+ [Selección del tipo de instancia basada en atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md): defina sus requisitos de computación para elegir los tipos de instancia automáticamente en función de los atributos específicos de las instancias.
+ [Selección manual del tipo de instancia](create-mixed-instances-group-manual-instance-type-selection.md): elija manualmente los tipos de instancia que se adapten a su carga de trabajo.

------
#### [ Manual selection ]

En los siguientes pasos, se describe cómo crear un grupo de instancias mixtas mediante la elección manual de tipos de instancias: 

1. Elija una plantilla de lanzamiento que tenga los parámetros para lanzar una instancia de EC2. Los parámetros en las plantillas de lanzamiento son opcionales, pero Amazon EC2 Auto Scaling no puede lanzar una instancia si falta el ID de amilong (AMI) en la plantilla de lanzamiento.

1. Elija la opción para anular la plantilla de lanzamiento.

1. Elija manualmente los tipos de instancias que se adapten a su carga de trabajo.

1. Especificar los porcentajes de las instancias bajo demanda y las instancias de spot que se van a lanzar.

1. Seleccione las estrategias de asignación que determinan cómo Amazon EC2 Auto Scaling satisface las capacidades a pedido y de spot de los posibles tipos de instancias.

1. Elija las zonas de disponibilidad y las subredes de la VPC en las que lanzar las instancias.

1. Especifique el tamaño inicial del grupo (la capacidad deseada) y el tamaño mínimo y máximo del grupo.

Las anulaciones son necesarias para anular el tipo de instancia declarado en la plantilla de lanzamiento y utilizar varios tipos de instancias que estén integrados en la propia definición de recursos del grupo de escalado automático. Para obtener más información acerca de los tipos de instancias que hay disponibles, consulte [Tipos de instancias](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) en la *Guía del usuario de Amazon EC2*. 

También puede configurar los siguientes parámetros opcionales para cada tipo de instancia:
+ `LaunchTemplateSpecification`: puede asignar una plantilla de inicialización diferente a un tipo de instancia según sea necesario. Esta opción no está disponible desde la consola en este momento. Para obtener más información, consulte [Utilización de plantillas de lanzamiento múltiples](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md).
+ `WeightedCapacity`: usted decide cuánto representa la instancia para la capacidad deseada en relación con el resto de las instancias de su grupo. Si especifica un valor de `WeightedCapacity` para un tipo de instancias, debe especificar un valor de `WeightedCapacity` para todos ellos. De forma predeterminada, cada instancia cuenta como una instancia para la capacidad deseada. Para obtener más información, consulte [Configuración de un grupo de escalado automático para utilizar ponderación de instancias](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

------
#### [ Attribute-based selection ]

Para permitir que Amazon EC2 Auto Scaling elija los tipos de instancia automáticamente en función de sus atributos de instancia específicos, utilice los siguientes pasos para crear un grupo de instancias mixtas especificando sus requisitos de procesamiento:

1. Elija una plantilla de lanzamiento que tenga los parámetros para lanzar una instancia de EC2. Los parámetros en las plantillas de lanzamiento son opcionales, pero Amazon EC2 Auto Scaling no puede lanzar una instancia si falta el ID de amilong (AMI) en la plantilla de lanzamiento.

1. Elija la opción para anular la plantilla de lanzamiento.

1. Especifique los atributos de la instancia que coincidan con sus requisitos de procesamiento, como los requisitos de memoria y v. CPUs 

1. Especificar los porcentajes de las instancias bajo demanda y las instancias de spot que se van a lanzar.

1. Seleccione las estrategias de asignación que determinan cómo Amazon EC2 Auto Scaling satisface las capacidades a pedido y de spot de los posibles tipos de instancias.

1. Elija las zonas de disponibilidad y las subredes de la VPC en las que lanzar las instancias.

1. Especifique el tamaño inicial del grupo (la capacidad deseada) y el tamaño mínimo y máximo del grupo.

Las anulaciones son necesarias para anular el tipo de instancia declarado en la plantilla de lanzamiento y utilizar un conjunto de atributos de instancia que describan sus requisitos de procesamiento. Para conocer los atributos compatibles, consulte [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)la referencia de la *API Amazon EC2 Auto Scaling*. También puede utilizar una plantilla de lanzamiento que ya tenga la definición de atributos de instancia. 

También puede configurar el parámetro `LaunchTemplateSpecification` dentro de la estructura de anulaciones para asignar una plantilla de inicialización diferente a un conjunto de requisitos de instancia, según sea necesario. Esta opción no está disponible desde la consola en este momento. Para obtener más información, consulte la [LaunchTemplateOverrides](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateOverrides.html)referencia de la *API Amazon EC2 Auto Scaling*.

De forma predeterminada, establece la cantidad de instancias como la capacidad deseada de su grupo de escalado automático. 

Como alternativa, puede establecer el valor de la capacidad deseada en el número de v CPUs o la cantidad de memoria. Para ello, utilice la propiedad `DesiredCapacityType` de la operación de la API `CreateAutoScalingGroup` o el campo desplegable del **Tipo de capacidad deseado** en la Consola de administración de AWS. Esta es una alternativa útil a las [ponderaciones de las instancias](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

------

## Flexibilidad del tipo de instancias
<a name="mixed-instances-group-instance-flexibility"></a>

Para mejorar la disponibilidad, implemente la aplicación en varios tipos de instancias. Se recomienda utilizar varios tipos de instancias para satisfacer los requisitos de capacidad. De esta forma, Amazon EC2 Auto Scaling puede lanzar otro tipo de instancia si no hay suficiente capacidad en las zonas de disponibilidad elegidas.

Si no hay suficiente capacidad de instancia con las instancias de spot, Amazon EC2 Auto Scaling sigue intentando lanzarlas desde otros grupos de instancias spot. (Los grupos que usa están determinados por la elección de los tipos de instancias y la estrategia de asignación). Amazon EC2 Auto Scaling le permite aprovechar el ahorro de costos de las instancias de spot lanzándolas en lugar de las instancias bajo demanda.

Recomendamos ser flexible con al menos 10 tipos de instancias para cada carga de trabajo. Al elegir los tipos de instancias, no se limite a los nuevos tipos de instancias más populares. Elegir tipos de instancias de generación anterior tiende a provocar menos interrupciones de spot porque tienen menos demanda de los clientes bajo demanda.

## Flexibilidad de zona de disponibilidad
<a name="mixed-instances-group-az-flexibility"></a>

Recomendamos ampliamente que extienda el grupo de escalado automático en varias zonas de disponibilidad. Con varias zonas de disponibilidad, puede diseñar aplicaciones que realizan una conmutación por error automática entre zonas para aumentar la resiliencia. 

Como beneficio adicional, puede acceder a un grupo de capacidad de Amazon EC2 más amplio en comparación con los grupos de una sola zona de disponibilidad. Dado que la capacidad fluctúa de manera independiente para cada tipo de instancias en una zona de disponibilidad, a menudo puede obtener más capacidad informática con flexibilidad en el tipo de instancias y la zona de disponibilidad. 

Para obtener más información acerca del uso de varias zonas de disponibilidad, consulte [Ejemplo: distribuir instancias entre zonas de disponibilidad](auto-scaling-benefits.md#arch-AutoScalingMultiAZ).

## precio máximo de spot
<a name="mixed-instances-group-spot-max-price"></a>

Al crear el grupo de Auto Scaling con el AWS CLI o un SDK, puede especificar el `SpotMaxPrice` parámetro. El parámetro `SpotMaxPrice` determina el precio máximo que está dispuesto a pagar por una hora de instancia de spot. 

Al especificar el parámetro `WeightedCapacity` en las anulaciones (o `"DesiredCapacityType": "vcpu"` o `"DesiredCapacityType": "memory-mib"` a nivel de grupo), el precio máximo representa el precio unitario máximo, no el precio máximo de una instancia completa. 

Le recomendamos enfáticamente que no especifique un precio máximo. Su aplicación podría no ejecutarse si no recibe sus instancias de spot, como cuando el precio máximo es demasiado bajo. Si no especifica un precio máximo, el predeterminado es el precio bajo demanda. Solo pagará el precio de spot de las instancias de spot que lance. Seguirá recibiendo grandes descuentos por parte de las instancias de spot. Estos descuentos son posibles debido a los precios de spot estables disponibles mediante el [modelo de precios de las instancias de spot](https://aws.amazon.com/blogs/compute/new-amazon-ec2-spot-pricing/). Para obtener más información, consulte [Precios y ahorro](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html#spot-pricing) en la *Guía del usuario de Amazon EC2*. 

## Reequilibrio de la capacidad proactivo
<a name="use-capacity-rebalancing"></a>

Si su caso de uso lo permite, le recomendamos el reequilibrio de la capacidad. El reequilibrio de capacidad permite mantener la disponibilidad de la carga de trabajo al sustituir de forma proactiva las instancias de spot que corren el riesgo de sufrir interrupciones.

Cuando se habilita el reequilibrio de la capacidad, Amazon EC2 Auto Scaling intenta reemplazar de forma proactiva las instancias de spot que han recibido una recomendación de reequilibrio. Esto da la oportunidad de reequilibrar la carga de trabajo con nuevas instancias de spot que no tengan un riesgo elevado de interrupción. 

Para obtener más información, consulte [Reequilibrio de la capacidad en Auto Scaling para reemplazar las instancias de spot en riesgo](ec2-auto-scaling-capacity-rebalancing.md).

## Comportamiento del escalado
<a name="mixed-instances-group-scaling-behavior"></a>

Al crear un grupo de instancias mixtas, este utiliza instancias bajo demanda de forma predeterminada. Para utilizar instancias de spot, debe modificar el porcentaje del grupo que lanzar como instancias bajo demanda. Puede especificar cualquier número del 0 al 100 para el porcentaje bajo demanda.

De forma opcional, también puede designar un número base de instancias bajo demanda para comenzar. Si lo hace, Amazon EC2 Auto Scaling no lanza las instancias de spot hasta que se lance la capacidad base de instancias bajo demanda cuando el grupo escale horizontalmente. Lo que esté más allá de la capacidad base utiliza porcentajes bajo demanda para determinar cuántas instancias bajo demanda y de spot se deben lanzar. 

Amazon EC2 Auto Scaling convierte el porcentaje en el número equivalente de instancias. Si el resultado crea un número fraccionario, redondea al siguiente número entero a favor de las instancias bajo demanda.

La tabla siguiente muestra el comportamiento del grupo de escalado automático a medida que reduce y aumenta su tamaño.


**Ejemplo: Comportamiento del escalado**  

| Opciones de compra | Tamaño de grupo y número de instancias de ejecución en las opciones de compra | 
| --- |--- |
|  | **10** | **20** | **30** | **40** | 
| --- |--- |--- |--- |--- |
| **Ejemplo 1**: base de 10, 50/50 % bajo demanda/spot |  |  |  |  | 
| Instancias bajo demanda (importe base) | 10 | 10 | 10 | 10 | 
| instancias bajo demanda | 0 | 5 | 10 | 15 | 
| Spot Instances | 0 | 5 | 10 | 15 | 
| **Ejemplo 2**: base de 0, 0/100 % bajo demanda/spot |  |  |  |  | 
| Instancias bajo demanda (importe base) | 0 | 0 | 0 | 0 | 
| instancias bajo demanda | 0 | 0 | 0 | 0 | 
| Spot Instances | 10 | 20 | 30 | 40 | 
| **Ejemplo 3**: base de 0, 60/40 % bajo demanda/spot |  |  |  |  | 
| Instancias bajo demanda (importe base) | 0 | 0 | 0 | 0 | 
| instancias bajo demanda | 6 | 12 | 18 | 24 | 
| Spot Instances | 4 | 8 | 12 | 16 | 
| **Ejemplo 4**: base de 0, 100/0 % bajo demanda/spot |  |  |  |  | 
| Instancias bajo demanda (importe base) | 0 | 0 | 0 | 0 | 
| instancias bajo demanda | 10 | 20 | 30 | 40 | 
| Spot Instances | 0 | 0 | 0 | 0 | 
| **Ejemplo 5**: base de 12, 0/100 % bajo demanda/spot |  |  |  |  | 
| Instancias bajo demanda (importe base) | 10 | 12 | 12 | 12 | 
| instancias bajo demanda | 0 | 0 | 0 | 0 | 
| Spot Instances | 0 | 8 | 18 | 28 | 

Cuando el tamaño del grupo *aumenta*, Amazon EC2 Auto Scaling intenta equilibrar su capacidad de manera uniforme en las zonas de disponibilidad especificadas. A continuación, lanza tipos de instancia de acuerdo con la estrategia de asignación especificada. 

Cuando el tamaño del grupo *disminuye*, Amazon EC2 Auto Scaling identifica primero cuál de los dos tipos (spot o bajo demanda) debe ser terminado. A continuación, intenta terminar las instancias de forma equilibrada en todas las zonas de disponibilidad especificadas. También favorece la finalización de las instancias de una forma que se ajuste más a sus estrategias de asignación. Para obtener más información sobre las políticas de terminación, consulte [Configuración de políticas de terminación de Amazon EC2 Auto Scaling](ec2-auto-scaling-termination-policies.md).

## Disponibilidad regional de los tipos de instancias
<a name="setup-overview-regional-availability-of-instance-types"></a>

La disponibilidad de los tipos de instancias de EC2 varía en función del usuario. Región de AWS Por ejemplo, es posible que los tipos de instancias de última generación aún no estén disponibles en una región determinada. Debido a las variaciones en la disponibilidad de las instancias de una región a otra, es posible que tenga problemas a la hora de realizar solicitudes programáticas si en su región no están disponibles varios tipos de instancias en sus anulaciones. Si utiliza varios tipos de instancias que no estén disponibles en su región, la solicitud podría fallar por completo. Para resolver el problema, vuelva a intentar la solicitud con distintos tipos de instancias y asegúrese de que cada tipo de instancia esté disponible en la región. Para buscar los tipos de instancias que se ofrecen por ubicación, utilice el [describe-instance-type-offerings](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-type-offerings.html)comando. Para obtener más información, consulte [Finding an Amazon EC2 instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-discovery.html) en la *Guía del usuario de Amazon EC2*. 

## Recursos relacionados
<a name="setup-overview-related-resources"></a>

Para obtener más prácticas recomendadas para instancias de spot, consulte [Prácticas recomendadas para instancias de spot de EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-best-practices.html) en la *Guía del usuario de Amazon EC2*. 

## Limitaciones
<a name="setup-overview-limitations"></a>

Después de agregar anulaciones a un grupo de escalado automático mediante una [política de instancias mixtas](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_MixedInstancesPolicy.html), puede actualizar las anulaciones con la llamada a la API `UpdateAutoScalingGroup`, pero no eliminarlas. Para eliminar por completo las anulaciones, primero debe cambiar el grupo de escalado automático para utilizar una plantilla o una configuración de inicialización en lugar de una política de instancias mixtas. A continuación, puede volver a añadir una política de instancias mixtas sin anularla.

# Estrategias de asignación de varios tipos de instancias
<a name="allocation-strategies"></a>

Cuando utiliza varios tipos de instancias, administra cómo Amazon EC2 Auto Scaling satisface sus capacidades bajo demanda y de spot de los posibles tipos de instancias. Para ello, debe especificar estrategias de asignación. 

Para revisar las prácticas recomendadas para un grupo de instancias mixtas, consulte [Información general de la configuración de creación de un grupo de instancias mixtas](mixed-instances-groups-set-up-overview.md).

**Topics**
+ [Spot Instances](#spot-allocation-strategy)
+ [instancias bajo demanda](#on-demand-allocation-strategy)
+ [Cómo funcionan las estrategias de asignación con las ponderaciones](#lowest-price-allocation-strategy)

## Spot Instances
<a name="spot-allocation-strategy"></a>

Amazon EC2 Auto Scaling ofrece las siguientes estrategias de asignación para instancias de spot: 

`price-capacity-optimized` (recomendado)  
La estrategia de asignación optimizada por precio y capacidad analiza tanto el precio como la capacidad para seleccionar los grupos de instancias de spot que tienen menos probabilidades de interrupción y el precio más bajo posible.  
Le recomendamos esta estrategia cuando empiece. Para obtener más información, consulte [Introducción a la estrategia de price-capacity-optimized asignación para las instancias puntuales de EC2](https://aws.amazon.com/blogs/compute/introducing-price-capacity-optimized-allocation-strategy-for-ec2-spot-instances/) en el AWS blog.

`capacity-optimized`  
Amazon EC2 Auto Scaling solicita las instancias de spot desde el grupo con capacidad óptima para el número de instancias que va a lanzar.   
Con las instancias de spot, los precios cambian lentamente en función de tendencias a largo plazo registradas en la oferta y la demanda. Sin embargo, la capacidad fluctúa en tiempo real. La estrategia `capacity-optimized` inicia instancias de spot de forma automática en los grupos con mayor disponibilidad, analizando los datos de capacidad en tiempo real y prediciendo cuáles son los que tienen una mayor disponibilidad. Esto ayuda a minimizar las posibles interrupciones de trabajo que pueden tener un costo de interrupción superior asociado al reinicio del trabajo y la creación de puntos de control. Para brindar una mayor probabilidad de lanzar primero a ciertos tipos de instancia, utilice `capacity-optimized-prioritized`. 

`capacity-optimized-prioritized`  
Se establece el orden de los tipos de instancia para las anulaciones de plantillas de lanzamiento de mayor a menor prioridad (de la primera a la última de la lista). Amazon EC2 Auto Scaling respeta las prioridades de tipo de instancia haciendo todo lo posible, pero optimiza primero la capacidad. Esta es una buena opción para cargas de trabajo en las que se debe minimizar la posibilidad de interrupción, pero también importa la preferencia por ciertos tipos de instancia. Si la estrategia de asignación bajo demanda se establece en `prioritized`, se aplica la misma prioridad cuando se completa la capacidad bajo demanda. 

`lowest-price` (no se recomienda)  
No recomendamos la estrategia `lowest-price` porque presenta el mayor riesgo de interrupción para las instancias de spot.
Amazon EC2 Auto Scaling solicita sus instancias de spot mediante los grupos con el precio más bajo dentro de una zona de disponibilidad, en el número N de grupos de spot que especifique para la configuración de **Grupos más baratos**. Por ejemplo, si especifica cuatro tipos de instancia y cuatro zonas de disponibilidad, el grupo de escalado automático puede acceder a un máximo de 16 grupos de spot. (Cuatro en cada zona de disponibilidad). Si especifica dos grupos de spot (N = 2) para la estrategia de asignación, el grupo de escalado automático puede recurrir a los dos grupos más baratos por zona de disponibilidad para cumplir con su capacidad de spot.  
La estrategia `lowest-price` solo está disponible cuando se utiliza la AWS CLI.  
Amazon EC2 Auto Scaling hace el esfuerzo de obtener instancias de spot del número N de grupos que especifique. Sin embargo, si un grupo se queda sin capacidad de spot antes de cubrir su capacidad deseada, Amazon EC2 Auto Scaling continúa cumpliendo con su solicitud extrayendo capacidad del siguiente grupo más barato. Para que se logre la capacidad deseada, es posible que reciba instancias de spot de una cantidad de grupos mayor al número N de grupos que especificó. Del mismo modo, si la mayoría de los grupos no tienen capacidad de spot, es posible que reciba su capacidad deseada total de menos grupos que el número N de grupos que especificó.

**nota**  
Si configura la instancia de spot para lanzarla con la característica [SEV-SNP de AMD](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sev-snp.html) activada, se le cobrará una tarifa de uso por hora adicional que equivale al 10 % de la [tarifa horaria bajo demanda](https://aws.amazon.com/ec2/pricing/on-demand/) del tipo de instancia seleccionado. Si la estrategia de asignación utiliza el precio como variable, Amazon EC2 Auto Scaling no incluye esta tarifa adicional; solo se utiliza el precio de spot.

## instancias bajo demanda
<a name="on-demand-allocation-strategy"></a>

Amazon EC2 Auto Scaling ofrece las siguientes estrategias de asignación que se pueden utilizar para instancias bajo demanda: 

`lowest-price`  
Amazon EC2 Auto Scaling implementa automáticamente el tipo de instancia más barato en cada zona de disponibilidad según el precio bajo demanda actual.  
Para garantizar que se logre la capacidad deseada, es posible que reciba instancias bajo demanda de más de un tipo de instancia en cada zona de disponibilidad. Esto depende de la cantidad de capacidad que solicite.

`prioritized`  
Amazon EC2 Auto Scaling utiliza el orden de los tipos de instancia en la lista de anulaciones de la plantilla de lanzamiento para determinar qué tipo de instancia se utilizará en primer lugar cuando se cumpla con la capacidad bajo demanda. Por ejemplo, supongamos que se especifican tres anulaciones de plantilla de lanzamiento en el siguiente orden: `c5.large`, `c4.large` y `c3.large`. Cuando se lanzan las instancias bajo demanda, el grupo de escalado automático satisface la capacidad bajo demanda en el siguiente orden: `c5.large`, `c4.large` y luego `c3.large`.   
Tenga en cuenta lo siguiente cuando administre el orden de prioridad de las instancias a petición:  
+ Puede pagar el uso por adelantado para conseguir importantes descuentos en las instancias bajo demanda a través de Savings Plans o las instancias reservadas. Para obtener más información, consulte la página [Precios de Amazon EC2](https://aws.amazon.com/ec2/pricing/). 
+ Con las instancias reservadas, se aplicará un descuento sobre los precios normales de las instancias en diferido si Amazon EC2 Auto Scaling lanza tipos de instancias coincidentes. Esto significa que, si tiene instancias reservadas de `c4.large` sin utilizar, puede establecer la prioridad del tipo de instancia para asignar la prioridad más alta de sus instancias reservadas a un tipo de instancia `c4.large`. Cuando se lanza una instancia `c4.large`, obtendrá el precio de instancia reservada. 
+ Con Savings Plans, el descuento sobre los precios normales de las instancias bajo demanda se aplica cuando se utilizan Savings Plans para instancias de Amazon EC2 o Savings Plans para computación. Con Savings Plans, tiene más flexibilidad a la hora de priorizar los tipos de instancia. Siempre que utilice tipos de instancia que estén incluidos en su Savings Plans, puede asignarles cualquier orden de prioridad. Ocasionalmente, puede, además, cambiar todo el orden de los tipos de instancia y seguir beneficiándose de la tarifa de Savings Plans con descuento. Para obtener más información sobre Savings Plans, consulte la [Guía del usuario de Savings Plans](https://docs.aws.amazon.com/savingsplans/latest/userguide/).

## Cómo funcionan las estrategias de asignación con las ponderaciones
<a name="lowest-price-allocation-strategy"></a>

Cuando especifique el parámetro `WeightedCapacity` en las anulaciones (o `"DesiredCapacityType": "vcpu"` o `"DesiredCapacityType": "memory-mib"` a nivel de grupo), las estrategias de asignación funcionan exactamente igual que con otros grupos de escalado automático. 

Suponga que tiene un grupo de Auto Scaling con varios tipos de instancias que tienen cantidades variables de vCPUs. Lo utiliza `lowest-price` para sus estrategias de asignación puntual y bajo demanda. Si elige asignar las ponderaciones en función del recuento de vCPU de cada tipo de instancia, Amazon EC2 Auto Scaling lanza cualquier tipo de instancia que tenga el precio más bajo según los valores de ponderación asignados (por ejemplo, por vCPU) al momento de ejecutarse. Si se trata de una instancia de spot, significa el precio de spot más bajo por vCPU. Si se trata de una instancia bajo demanda, significa el precio bajo demanda más bajo por vCPU.

 Para obtener más información, consulte [Configuración de un grupo de escalado automático para utilizar ponderación de instancias](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

# Creación de grupos de instancias mixtas mediante la selección del tipo de instancia basada en atributos
<a name="create-mixed-instances-group-attribute-based-instance-type-selection"></a>

En lugar de usar la elección manual de los tipos de instancia para un grupo de instancias mixtas, puede especificar un conjunto de atributos de instancia que describan los requisitos de computación. A medida que Amazon EC2 Auto Scaling lanza instancias, todos los tipos de instancia que utiliza el grupo de escalado automático deben coincidir con los atributos de instancia requeridos. Esto se conoce como *selección del tipo de instancia basada en atributos*.

Este enfoque es ideal para las cargas de trabajo y los marcos que tienen flexibilidad en cuanto a qué tipos de instancia utilizan, tales como contenedores, macrodatos y CI/CD.

A continuación, se describen los beneficios de la selección del tipo de instancia basada en atributos:
+ **Flexibilidad óptima para instancias de spot**: Amazon EC2 Auto Scaling puede seleccionar entre una amplia gama de tipos de instancia para inicializar instancias de spot. Esto se realiza conforme a la práctica recomendada de spot que consiste en ser flexible en cuanto a los tipos de instancia, lo que brinda al servicio de spot de Amazon EC2 más posibilidades de encontrar y asignar la cantidad necesaria de capacidad de computación.
+ **Uso fácil de los tipos de instancias correctos**: con tantos tipos de instancias disponibles, encontrar los tipos de instancias adecuados para su carga de trabajo puede necesitar mucho tiempo. Cuando especifica atributos de instancia, los tipos de instancia tendrán automáticamente los atributos necesarios para la carga de trabajo.
+ **Uso automático de nuevos tipos de instancias**: los grupos de escalado automático pueden utilizar tipos de instancias de última generación a medida que se inicializan. Los tipos de instancias de última generación se utilizan de forma automática cuando coinciden con sus requisitos y se ajustan a las estrategias de asignación que elija para su grupo de escalado automático. 

**Topics**
+ [Cómo funciona la selección de tipo de instancia basada en atributos](#how-attribute-based-instance-type-selection-works)
+ [Protección de precios](#understand-price-protection)
+ [Protección del rendimiento](#understand-performance-protection)
+ [Requisitos previos](#attribute-based-instance-type-selection-prerequisites)
+ [Creación de un grupo de instancias mixtas mediante la selección del tipo de instancia basada en atributos (consola)](#attribute-based-instance-type-selection-console)
+ [Creación de un grupo de instancias mixtas mediante la selección del tipo de instancia basada en atributos (AWS CLI)](#attribute-based-instance-type-selection-aws-cli)
+ [Configuración de ejemplo](#attribute-based-instance-type-selection-example-configurations)
+ [Obtención de una vista previa de los tipos de instancia](#attribute-based-instance-type-selection-preview)
+ [Recursos relacionados](#attribute-based-instance-type-selection-related-resources)

## Cómo funciona la selección de tipo de instancia basada en atributos
<a name="how-attribute-based-instance-type-selection-works"></a>

Con la selección de tipo de instancia basada en atributos, en lugar de proporcionar una lista de tipos de instancias específicos, proporciona una lista de atributos que requieren sus instancias, como:
+ **Recuento de vCPU**: el número mínimo y máximo de v CPUs por instancia.
+ **Memoria**: el mínimo y el máximo GiBs de memoria por instancia.
+ **Almacenamiento local**: si se usarán volúmenes de almacén de instancias o EBS para el almacenamiento local.
+ **Rendimiento ampliable**: si se usará la familia de instancias T, incluidos los tipos T4g, T3a, T3 y T2. 

Hay muchas opciones disponibles para definir los requisitos de las instancias. Para obtener una descripción de cada opción y los valores predeterminados, consulte la referencia [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)de la *API Amazon EC2 Auto Scaling*.

Cuando su grupo de escalado automático necesite inicializar una instancia, buscará los tipos de instancia que coincidan con los atributos especificados y que estén disponibles en esa zona de disponibilidad. Las estrategias de asignación luego determinan los tipos de instancia que se van a inicializar. De forma predeterminada, la selección del tipo de instancia basada en atributos tiene habilitada una característica de protección de precios para evitar que su grupo de escalado automático inicialice tipos de instancias que superen los umbrales de su presupuesto.

De forma predeterminada, utiliza la cantidad de instancias como la unidad de medida cuando establece la capacidad deseada de su grupo de escalado automático, lo que significa que cada instancia cuenta como una unidad. 

Como alternativa, puede establecer el valor de la capacidad deseada en el número de v CPUs o la cantidad de memoria. Para ello, utilice el campo desplegable del **tipo de capacidad deseado** en la operación Consola de administración de AWS o de la `UpdateAutoScalingGroup` API `CreateAutoScalingGroup` o. `DesiredCapacityType` A continuación, Amazon EC2 Auto Scaling inicializa la cantidad de instancias necesaria para cumplir con la capacidad de vCPU o memoria deseada. Por ejemplo, si usa v CPUs como el tipo de capacidad deseado y usa instancias con 2 v CPUs cada una, una capacidad deseada de 10 v CPUs lanzaría 5 instancias. Esta es una alternativa útil a las [ponderaciones de las instancias](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md).

## Protección de precios
<a name="understand-price-protection"></a>

Con la protección de precios, puede especificar el precio máximo que está dispuesto a pagar por las instancias de EC2 inicializadas por su grupo de escalado automático. La protección de precios es una característica que impide que su grupo de escalado automático utilice tipos de instancias que consideraría demasiado caros, incluso si se ajustan a los atributos especificados. 

La protección de precios está habilitada de forma predeterminada y tiene umbrales de precios diferentes para las instancias bajo demanda y las instancias de spot. Cuando Amazon EC2 Auto Scaling necesita inicializar nuevas instancias, no se inicializa ningún tipo de instancia cuyo precio supere el umbral correspondiente.

**Topics**
+ [Protección de precios bajo demanda](#on-demand-price-price-protection)
+ [Protección de precios de spot](#spot-price-price-protection)
+ [Personalización de la protección de precios](#customize-price-price-protection)

### Protección de precios bajo demanda
<a name="on-demand-price-price-protection"></a>

En el caso de las instancias bajo demanda, usted define el precio máximo bajo demanda que está dispuesto a pagar como un porcentaje superior al precio bajo demanda identificado. El precio bajo demanda identificado es el precio del tipo de instancia C, M o R de la generación actual más barato con sus atributos especificados. 

Si no se define explícitamente un valor de protección de precios bajo demanda, se utilizará un precio máximo bajo demanda predeterminado un 20 por ciento superior al precio bajo demanda identificado.

### Protección de precios de spot
<a name="spot-price-price-protection"></a>

De manera predeterminada, Amazon EC2 Auto Scaling aplicará automáticamente una protección óptima del precio de las instancias de spot para seleccionar de manera coherente entre una amplia gama de tipos de instancia. También puede configurar manualmente la protección de precios. Sin embargo, dejar que Amazon EC2 Auto Scaling lo haga puede aumentar la probabilidad de que se agote la capacidad de spot.

Puede especificar manualmente la protección de precios con una de las opciones siguientes. Si configura manualmente la protección de precios, le recomendamos utilizar la primera opción.
+ **Un porcentaje de un *precio identificado bajo demanda***: el precio identificado bajo demanda es el precio del tipo de instancia C, M o R de la generación actual con el precio más bajo, con los atributos especificados.
+ **Un porcentaje superior al *precio de spot identificado***: el precio de spot identificado es el precio del tipo de instancia C, M o R de la generación actual con el precio más bajo, con sus atributos especificados. No le recomendamos utilizar esta opción porque los precios de spot pueden fluctuar y, por lo tanto, su umbral de protección de precios también.

### Personalización de la protección de precios
<a name="customize-price-price-protection"></a>

Puede personalizar los umbrales de protección de precios en la consola Amazon EC2 Auto Scaling o utilizando AWS CLI o. SDKs 
+ En la consola, utilice las configuraciones de **protección de precios bajo demanda** y **protección de precios de spot** en los **atributos de instancias adicionales**. 
+ En la [InstanceRequirements](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_InstanceRequirements.html)estructura, para especificar el umbral de protección del precio de las instancias bajo demanda, utilice la `OnDemandMaxPricePercentageOverLowestPrice` propiedad. Para especificar el umbral de protección del precio de las instancias de spot, utilice la propiedad `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice` o `SpotMaxPricePercentageOverLowestPrice`. 

Si estableces el **tipo de capacidad deseado** (`DesiredCapacityType`) en **v CPUs** o **GiB de memoria**, la protección de precios se aplica en función del precio por vCPU o memoria, en lugar del precio por instancia. 

También puede desactivar la protección de precios. Para indicar que no hay umbral de protección de precios, especifique un valor de porcentaje alto, como `999999`.

**nota**  
Si ningún tipo de instancia C, M o R actual de la generación actual coincide con los atributos especificados, la protección de precios sigue vigente. Si no se encuentra ninguna coincidencia, el precio identificado corresponde a los tipos de instancias de la generación actual con el precio más bajo o, en su defecto, a los tipos de instancias de la generación anterior con el precio más bajo que coincidan con sus atributos. 

## Protección del rendimiento
<a name="understand-performance-protection"></a>

La *protección de rendimiento* es una característica que asegura que su grupo de escalado automático utilice tipos de instancias similares o superiores a un rendimiento base especificado. Para utilizar la protección del rendimiento, debe especificar una familia de instancias como referencia base. Las capacidades de la familia de instancias especificada definen el nivel mínimo aceptable de rendimiento. Cuando Auto Scaling selecciona los tipos de instancias, tiene en cuenta los atributos especificados y el rendimiento base especificado. Los tipos de instancias que no cumplen con la referencia de rendimiento se excluyen automáticamente de la selección, incluso si coinciden con los demás atributos especificados. De este modo se garantiza que todos los tipos de instancias seleccionados ofrezcan un rendimiento similar o superior a la referencia establecida por la familia de instancias especificada. Auto Scaling utiliza esta referencia para orientar la selección del tipo de instancia, pero no se garantiza que los tipos de instancia seleccionados superen siempre la referencia para cada aplicación.

Actualmente, esta característica solo admite el rendimiento de la CPU como factor de rendimiento de referencia. El rendimiento de la CPU de la familia de instancias especificada sirve como referencia de rendimiento, lo que garantiza que los tipos de instancia seleccionados sean similares a esta referencia o la superen. Las familias de instancias con los mismos procesadores de CPU conducen a los mismos resultados de filtrado, aunque su rendimiento de red o de disco difiera. Por ejemplo, si se especifica `c6in` o `c6i` como referencia base, se obtendrían resultados de filtrado basados en el rendimiento idénticos, ya que ambas familias de instancias utilizan el mismo procesador de CPU.

**Familias de instancias no admitidas**  
No se admiten las siguientes familias de instancias para la protección del rendimiento:
+ `c1`
+ `g3` \$1 `g3s`
+ `hpc7g`
+ `m1` \$1 `m2`
+ `mac1` \$1 `mac2` \$1 `mac2-m1ultra` \$1 `mac2-m2` \$1 `mac2-m2pro`
+ `p3dn` \$1 `p4d` \$1 `p5`
+ `t1`
+ `u-12tb1` \$1 `u-18tb1` \$1 `u-24tb1` \$1 `u-3tb1` \$1 `u-6tb1` \$1 `u-9tb1` \$1 `u7i-12tb` \$1 `u7in-16tb` \$1 `u7in-24tb` \$1 `u7in-32tb`

Si para habilitar la protección del rendimiento, especifica una familia de instancias admitida, los tipos de instancias devueltos excluirán las familias de instancias no admitidas que se indican más arriba.

**Ejemplo: establecimiento de una referencia de rendimiento base de la CPU**  
En el siguiente ejemplo, el requisito de instancias consiste en realizar el lanzamiento con tipos de instancias que tengan núcleos de CPU con el mismo rendimiento que la familia de instancias de `c6i`. Esto filtrará los tipos de instancias con procesadores de CPU de menor rendimiento, incluso si cumplen con los demás requisitos de instancia especificados, como el número de v. CPUs Por ejemplo, si los atributos de instancia que especificaste incluyen 4 v CPUs y 16 GB de memoria, se `c6i` excluirá de la selección un tipo de instancia con estos atributos pero con un rendimiento de CPU inferior al de estos.

```
"BaselinePerformanceFactors": {
        "Cpu": {
            "References": [
                {
                    "InstanceFamily": "c6i"
                }
            ]
        }
```

**Consideraciones**  
Cuando utilice la protección del rendimiento, tenga en cuenta lo siguiente:
+ Puede especificar tipos de instancias o atributos de instancia, pero no ambos al mismo tiempo.
+ Puede especificar un máximo de cuatro estructuras `InstanceRequirements` en una configuración de solicitud.

## Requisitos previos
<a name="attribute-based-instance-type-selection-prerequisites"></a>
+ Cree una plantilla de lanzamiento. Para obtener más información, consulte [Creación de una plantilla de lanzamiento para un grupo de Auto Scaling](create-launch-template.md).
+ Verifique que la plantilla de lanzamiento no solicite ya instancias de spot. 

## Creación de un grupo de instancias mixtas mediante la selección del tipo de instancia basada en atributos (consola)
<a name="attribute-based-instance-type-selection-console"></a>

Utilice el siguiente procedimiento para crear un grupo de instancias mixtas mediante la selección del tipo de instancia basada en atributos. Para ayudarlo a realizar los pasos de forma eficiente, se omiten algunas secciones opcionales.

Para la mayoría de las cargas de trabajo de uso general, basta con especificar la cantidad de v CPUs y la memoria que necesitas. Para los casos de uso avanzados, puede especificar atributos como el tipo de almacenamiento, las interfaces de red, el fabricante de la CPU y el tipo de acelerador.

Para revisar las prácticas recomendadas para un grupo de instancias mixtas, consulte [Información general de la configuración de creación de un grupo de instancias mixtas](mixed-instances-groups-set-up-overview.md).

**Creación de un grupo de instancias mixtas**

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. En la barra de navegación de la parte superior de la pantalla, elija la misma Región de AWS que utilizó cuando creó la plantilla de lanzamiento.

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

1. En la página **Choose launch template or configuration (Elegir una plantilla de lanzamiento o configuración)**, ingrese un **nombre para el grupo de escalado automático**.

1. Para elegir la plantilla de lanzamiento, haga lo siguiente:

   1. En **launch template (Plantilla de lanzamiento)**, elija una plantilla de lanzamiento existente.

   1. Para **Launch template version (Versión de plantilla de lanzamiento)**, decida si el grupo de escalado automático utiliza el valor predeterminado, la última versión o una versión específica de la plantilla de lanzamiento para escalado horizontal. 

   1. Compruebe que la plantilla de lanzamiento admita todas las opciones que tiene previsto utilizar y, a continuación, elija **Next (Siguiente)**.

1. En la página **Elegir las opciones de lanzamiento de instancias**, haga lo siguiente:

   1. En **Instance type requirements** (Requisitos de los tipos de instancia), elija **Override launch template** (Anular la plantilla de lanzamiento).
**nota**  
Si eligió una plantilla de lanzamiento que ya contiene un conjunto de atributos de instancia, como las vCPU y la memoria, se muestran los atributos de la instancia. Estos atributos se añaden a las propiedades del grupo de escalado automático, donde puede actualizarlos desde la consola de escalado automático de Amazon EC2 Auto Scaling, en cualquier momento.

   1. En **Especificar los atributos de la instancia**, comience por introducir su v CPUs y sus requisitos de memoria.
      + Para **v CPUs**, introduce el número mínimo y máximo deseado de vCPUs. Para no especificar ningún límite, seleccione **Sin mínimo**, **Sin máximo** o ambos.
      + En **Memory (GiB)** (Memoria [GiB]), ingrese la cantidad mínima y máxima de memoria deseada. Para no especificar ningún límite, seleccione **No minimum** (Sin mínimo), **No maximum** (Sin máximo) o ambos.

   1. (Opcional) En **Additional instance attributes** (Atributos de instancia adicionales), puede especificar opcionalmente uno o varios atributos para expresar sus requisitos de computación con más detalle. Cada atributo adicional agrega más restricciones a la solicitud.

   1. Expanda **Vista previa de tipos de instancia coincidentes** para ver los tipos de instancias que tienen los atributos especificados.

   1. En **Opciones de compra de instancias**, para la **Distribución de instancias**, especifique los porcentajes del grupo que se lanzará como instancias bajo demanda e instancias de spot, respectivamente. Si la suya es una aplicación sin estado, tolerante a errores y capaz de gestionar la interrupción de una instancia, puede especificar un mayor porcentaje de instancias de spot.

   1. (Opcional) Cuando especifique un porcentaje para las instancias de spot, seleccione **Incluir capacidad base bajo demanda** y luego especifique la cantidad mínima de la capacidad inicial del grupo de escalado automático que deben satisfacer las instancias bajo demanda. Lo que esté más allá de la capacidad base utiliza la configuración de **Instances distribution** (Distribución de las instancias) para determinar cuántas instancias bajo demanda y de spot deben lanzarse. 

   1. En **Allocation strategies** (Estrategias de asignación), se selecciona de forma automática la opción **Lowest price** (Precio más bajo) para **On-Demand allocation strategy** (Estrategia de asignación bajo demanda) y no es posible cambiarla.

   1. En **Spot allocation strategy** (Estrategia de asignación de spot), elija una estrategia de asignación. **Price capacity optimized** (Capacidad de precios optimizada) se selecciona de forma predeterminada.

   1. En **Reequilibrio de la capacidad**, elija si desea habilitar o desactivar el reequilibrio de la capacidad. Use el reequilibrio de la capacidad para responder automáticamente cuando sus instancias de spot se aproximen a su finalización por una interrupción de spot. Para obtener más información, consulte [Reequilibrio de la capacidad en Auto Scaling para reemplazar las instancias de spot en riesgo](ec2-auto-scaling-capacity-rebalancing.md). 

   1. En **Network** (Red), para la opción **VPC**, elija una VPC. El grupo de escalado automático debe crearse en la misma VPC que el grupo de seguridad especificado en la plantilla de lanzamiento.

   1. En **Availability Zones and subnets** (Zonas de disponibilidad y subredes), elija una o más subredes de la VPC especificada. Utilice subredes en varias zonas de disponibilidad para lograr una alta disponibilidad. Para obtener más información, consulte [Consideraciones a la hora de elegir subredes de VPC](asg-in-vpc.md#as-vpc-considerations).

   1. Elija **Siguiente**, **Siguiente**.

1. Para el paso **Configure group size and scaling policies** (Configurar el tamaño del grupo y las políticas de escalado), haga lo siguiente:

   1. Para medir la capacidad deseada en unidades distintas de las instancias, elija la opción adecuada para **Tamaño del grupo**, **Tipo de capacidad deseada**. Se admiten **unidades**CPUs, **v** y **GiB de memoria**. De forma predeterminada, Amazon EC2 Auto Scaling especifica **Units** (Unidades), lo que se traduce en número de instancias.

   1. Para la **Capacidad deseada**, establezca el tamaño inicial de su grupo de escalado automático. 

   1. En la sección **Escalado**, en **Límites de escalado**, si el nuevo valor de **Capacidad deseada** es superior a **Capacidad deseada mínima** y a **Capacidad deseada máxima**, **Capacidad deseada máxima** se incrementará automáticamente al nuevo valor de capacidad deseada. Puede cambiar estos límites según sea necesario. Para obtener más información, consulte [Establecimiento de límites de escalado para el grupo de escalado automático](asg-capacity-limits.md).

1. Elija **Skip to review (Omitir para revisar)**.

1. En la página **Review (Revisar)**, elija **Create Auto Scaling group (Crear grupo de escalado automático)**.

## Creación de un grupo de instancias mixtas mediante la selección del tipo de instancia basada en atributos (AWS CLI)
<a name="attribute-based-instance-type-selection-aws-cli"></a>

**Creación de un grupo de instancias mixtas mediante la línea de comandos**  
Utilice uno de los siguientes comandos:
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) (AWS CLI)
+ [Nuevo- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-ASAutoScalingGroup.html) ()AWS Tools for Windows PowerShell

## Configuración de ejemplo
<a name="attribute-based-instance-type-selection-example-configurations"></a>

Para crear un grupo de Auto Scaling con una selección de tipo de instancia basada en atributos mediante el AWS CLI, utilice el siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando. 

Se especifican los siguientes atributos de instancia:
+ `VCpuCount`— Los tipos de instancia deben tener un mínimo de cuatro v CPUs y un máximo de ocho v. CPUs 
+ `MemoryMiB`: los tipos de instancia deben tener un mínimo de 16 384 MiB de memoria. 
+ `CpuManufacturers`: los tipos de instancia deben tener una CPU fabricada por Intel. 

### JSON
<a name="attribute-based-instance-type-selection-aws-cli-json"></a>

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

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

```
{
    "AutoScalingGroupName": "my-asg",
    "DesiredCapacityType": "units",
    "MixedInstancesPolicy": {
        "LaunchTemplate": {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "$Default"
            },
            "Overrides": [{
                "InstanceRequirements": {
                    "VCpuCount": {"Min": 4, "Max": 8},
                    "MemoryMiB": {"Min": 16384},
                    "CpuManufacturers": ["intel"]
                }
            }]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 50,
            "SpotAllocationStrategy": "price-capacity-optimized"
        }
    },
    "MinSize": 0,
    "MaxSize": 100,
    "DesiredCapacity": 4,
    "DesiredCapacityType": "units",
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

Para establecer el valor de la capacidad deseada como el número de v CPUs o la cantidad de memoria, especifique `"DesiredCapacityType": "vcpu"` o `"DesiredCapacityType": "memory-mib"` en el archivo. El tipo de capacidad deseada predeterminado es `units`, que establece el valor de la capacidad deseada como la cantidad de instancias.

### YAML
<a name="attribute-based-instance-type-selection-aws-cli-yaml"></a>

Como alternativa, puede usar el siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando para crear el grupo Auto Scaling. Esto 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
```

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

```
---
AutoScalingGroupName: my-asg
DesiredCapacityType: units
MixedInstancesPolicy:
  LaunchTemplate:
    LaunchTemplateSpecification:
      LaunchTemplateName: my-launch-template
      Version: $Default
    Overrides:
    - InstanceRequirements:
         VCpuCount:
           Min: 2
           Max: 4
         MemoryMiB:
           Min: 2048
         CpuManufacturers:
         - intel
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 50
    SpotAllocationStrategy: price-capacity-optimized
MinSize: 0
MaxSize: 100
DesiredCapacity: 4
DesiredCapacityType: units
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

Para establecer el valor de la capacidad deseada como el número de v CPUs o la cantidad de memoria, especifique `DesiredCapacityType: vcpu` o `DesiredCapacityType: memory-mib` en el archivo. El tipo de capacidad deseada predeterminado es `units`, que establece el valor de la capacidad deseada como la cantidad de instancias.

Para ver un ejemplo de cómo utilizar varias plantillas de lanzamiento con la selección del tipo de instancia basada en atributos, consulte [Utilización de plantillas de lanzamiento múltiples](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md).

## Obtención de una vista previa de los tipos de instancia
<a name="attribute-based-instance-type-selection-preview"></a>

Puede obtener una vista previa de los tipos de instancia que son compatibles con sus requisitos de computación sin necesidad de lanzarlos y ajustar los requisitos en caso de ser necesario. Cuando crea el grupo de escalado automático en la consola de Amazon EC2 Auto Scaling, aparece una vista previa de los tipos de instancia en la sección **Preview matching instance types** (Vista previa de los tipos de instancia coincidentes) en la página **Choose instance launch options** (Elegir opciones de lanzamiento de las instancias).

Como alternativa, puedes previsualizar los tipos de instancias realizando una llamada a la [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html)API de Amazon EC2 con el AWS CLI o un SDK. Transfiera los parámetros `InstanceRequirements` de la solicitud en el mismo formato que utilizaría para crear o actualizar un grupo de escalado automático. Para obtener más información, consulte [Vista previa de tipos de instancia con atributos especificados](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-get-instance-types-from-instance-requirements) en la *Guía del usuario de Amazon EC2*.

## Recursos relacionados
<a name="attribute-based-instance-type-selection-related-resources"></a>

Para obtener más información sobre la selección del tipo de instancia basada en atributos, consulte Selección del tipo de [instancia basada en atributos para EC2 Auto Scaling y EC2 Fleet en el blog](https://aws.amazon.com/blogs/aws/new-attribute-based-instance-type-selection-for-ec2-auto-scaling-and-ec2-fleet/). AWS 

Puede declarar la selección del tipo de instancia basada en atributos al crear un grupo de escalado automático mediante CloudFormation. Para obtener más información, consulte el fragmento de ejemplo en la sección [Ejemplos de plantillas de escalado automático](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-autoscaling.html#scenario-mixed-instances-group-template-examples) en la *Guía del usuario de CloudFormation *.

# Creación de un grupo de instancias mixtas seleccionando manualmente los tipos de instancias
<a name="create-mixed-instances-group-manual-instance-type-selection"></a>

En este tema, se muestra cómo lanzar varios tipos de instancia en un solo grupo de escalado automático eligiendo manualmente los tipos de instancia. 

Si prefiere utilizar los atributos de instancia como criterios para seleccionar tipos de instancia, 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**
+ [Requisitos previos](#manual-instance-type-selection-prerequisites)
+ [Creación de un grupo de instancias mixtas (consola)](#manual-instance-type-selection-console)
+ [Creación de un grupo de instancias mixtas (AWS CLI)](#manual-instance-type-selection-aws-cli)
+ [Configuraciones de ejemplo](#manual-instance-type-selection-example-configurations)

## Requisitos previos
<a name="manual-instance-type-selection-prerequisites"></a>
+ Cree una plantilla de lanzamiento. Para obtener más información, consulte [Creación de una plantilla de lanzamiento para un grupo de Auto Scaling](create-launch-template.md).
+ Verifique que la plantilla de lanzamiento no solicite ya instancias de spot. 

## Creación de un grupo de instancias mixtas (consola)
<a name="manual-instance-type-selection-console"></a>

Para crear un grupo de instancias mixtas, elija manualmente qué tipos de instancias puede lanzar su grupo. Para ayudarlo a realizar los pasos de forma eficiente, se omiten algunas secciones opcionales.

Para revisar las prácticas recomendadas para un grupo de instancias mixtas, consulte [Información general de la configuración de creación de un grupo de instancias mixtas](mixed-instances-groups-set-up-overview.md).

**Creación de un grupo de instancias mixtas**

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. En la barra de navegación de la parte superior de la pantalla, elija la misma Región de AWS que utilizó cuando creó la plantilla de lanzamiento.

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

1. En la página **Choose launch template or configuration (Elegir una plantilla de lanzamiento o configuración)**, ingrese un **nombre para el grupo de escalado automático**.

1. Para elegir la plantilla de lanzamiento, haga lo siguiente:

   1. En **launch template (Plantilla de lanzamiento)**, elija una plantilla de lanzamiento existente.

   1. Para **Launch template version (Versión de plantilla de lanzamiento)**, decida si el grupo de escalado automático utiliza el valor predeterminado, la última versión o una versión específica de la plantilla de lanzamiento para escalado horizontal. 

   1. Compruebe que la plantilla de lanzamiento admita todas las opciones que tenga previsto utilizar y, a continuación, elija **Next** (Siguiente).

1. En la página **Elegir las opciones de lanzamiento de instancias**, haga lo siguiente:

   1. En **Instance type requirements** (Requisitos de tipo de instancias), elija **Override launch template** (Anular la plantilla de lanzamiento) y, a continuación, elija **Manually add instance types** (Agregar los tipos de instancia de forma manual). 

   1. Elija los tipos de instancia. Puede utilizar nuestras recomendaciones como punto de partida. La opción **Family and generation flexible** (Familia y generación flexible) está seleccionada de forma predeterminada.
      + Para cambiar el orden de los tipos de instancia, utilice las flechas. Si elige una estrategia de asignación que admita la priorización, el orden de los tipos de instancia establece su prioridad de lanzamiento.
      + Para eliminar un tipo de instancia, elija **X**.
      + (Opcional) En los cuadros de la columna **Ponderación**, asigne a cada tipo de instancia una ponderación relativa. Para ello, ingrese el número de unidades que una instancia de ese tipo cuenta para alcanzar la capacidad deseada del grupo. Esto podría resultar útil si, por ejemplo, los tipos de instancia ofrecen diferentes funcionalidades de vCPU, memoria, almacenamiento o ancho de banda de la red. Para obtener más información, consulte [Configuración de un grupo de escalado automático para utilizar ponderación de instancias](ec2-auto-scaling-mixed-instances-groups-instance-weighting.md). 

        Tenga en cuenta que, si elige usar las recomendaciones de **Tamaño flexible**, todos los tipos de instancia que formen parte de esta sección tendrán automáticamente un valor de ponderación. Si no quiere especificar ningún peso, desactiva los cuadros de la columna **Weight** (Peso) para todos los tipos de instancia.

   1. En **Instance purchase options** (Opciones de compra) para la **distribución de instancias**, especifique los porcentajes del grupo que se lanzará como instancias bajo demanda e instancias de spot, respectivamente. Si la suya es una aplicación sin estado, tolerante a errores y capaz de gestionar la interrupción de una instancia, puede especificar un mayor porcentaje de instancias de spot.

   1. (Opcional) Cuando especifique un porcentaje para las instancias de spot, seleccione **Incluir capacidad base bajo demanda** y luego especifique la cantidad mínima de la capacidad inicial del grupo de escalado automático que deben satisfacer las instancias bajo demanda. Lo que esté más allá de la capacidad base utiliza la configuración de **Instances distribution** (Distribución de las instancias) para determinar cuántas instancias bajo demanda y de spot deben lanzarse. 

   1. En **Allocation strategies** (Estrategias de asignación), para **On-Demand allocation strategy** (Estrategia de asignación bajo demanda), elija una estrategia de asignación. Al elegir manualmente los tipos de instancia, se selecciona **Prioritized** (Priorizada) de forma predeterminada.

   1. En **Spot allocation strategy** (Estrategia de asignación de spot), elija una estrategia de asignación. **Price capacity optimized** (Capacidad de precios optimizada) se selecciona de forma predeterminada.

      Si elige **Capacidad optimizada**, puede opcionalmente marcar la casilla **Priorizar los tipos de instancia** para que Amazon EC2 Auto Scaling pueda elegir qué tipo de instancia lanzar primero en función del orden en que aparecen los tipos de instancia. 

   1. En **Reequilibrio de la capacidad**, elija si desea habilitar o desactivar el reequilibrio de la capacidad. Use el reequilibrio de la capacidad para responder automáticamente cuando sus instancias de spot se aproximen a su finalización por una interrupción de spot. Para obtener más información, consulte [Reequilibrio de la capacidad en Auto Scaling para reemplazar las instancias de spot en riesgo](ec2-auto-scaling-capacity-rebalancing.md). 

   1. En **Network** (Red), para la opción **VPC**, elija una VPC. El grupo de escalado automático debe crearse en la misma VPC que el grupo de seguridad especificado en la plantilla de lanzamiento.

   1. En **Availability Zones and subnets** (Zonas de disponibilidad y subredes), elija una o más subredes de la VPC especificada. Utilice subredes en varias zonas de disponibilidad para lograr una alta disponibilidad. Para obtener más información, consulte [Consideraciones a la hora de elegir subredes de VPC](asg-in-vpc.md#as-vpc-considerations).

   1. Elija **Siguiente**, **Siguiente**.

1. Para el paso **Configure group size and scaling policies** (Configurar el tamaño del grupo y las políticas de escalado), haga lo siguiente:

   1. En **Tamaño de grupo**, para **Capacidad deseada**, introduzca el número inicial de instancias que desea lanzar. 

      De forma predeterminada, la capacidad deseada se expresa como la cantidad de instancias. Si ha asignado ponderaciones a sus tipos de instancia, debe convertir este valor en la misma unidad de medida que utilizó para asignar las ponderaciones, por ejemplo, el número de vCPUs. 

   1. En la sección **Escalado**, en **Límites de escalado**, si el nuevo valor de **Capacidad deseada** es superior a **Capacidad deseada mínima** y a **Capacidad deseada máxima**, **Capacidad deseada máxima** se incrementará automáticamente al nuevo valor de capacidad deseada. Puede cambiar estos límites según sea necesario. Para obtener más información, consulte [Establecimiento de límites de escalado para el grupo de escalado automático](asg-capacity-limits.md).

1. Elija **Skip to review (Omitir para revisar)**.

1. En la página **Review (Revisar)**, elija **Create Auto Scaling group (Crear grupo de escalado automático)**.

## Creación de un grupo de instancias mixtas (AWS CLI)
<a name="manual-instance-type-selection-aws-cli"></a>

**Creación de un grupo de instancias mixtas mediante la línea de comandos**  
Utilice uno de los siguientes comandos:
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) (AWS CLI)
+ [Nuevo- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

## Configuraciones de ejemplo
<a name="manual-instance-type-selection-example-configurations"></a>

En las siguientes configuraciones de ejemplo se muestra cómo crear grupos de instancias mixtas mediante las diferentes estrategias de asignación de spot.

**nota**  
En estos ejemplos se muestra cómo utilizar un archivo de configuración con formato JSON o YAML. Si usa 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.

**Topics**
+ [Ejemplo 1: Lanzamiento de Instancias de spot con la estrategia de asignación `capacity-optimized`](#capacity-optimized-aws-cli)
+ [Ejemplo 2: Lanzamiento de Instancias de spot con la estrategia de asignación `capacity-optimized-prioritized`](#capacity-optimized-prioritized-aws-cli)
+ [Ejemplo 3: Lanzamiento de instancias de spot mediante la estrategia de asignación `lowest-price` diversificada en dos grupos](#lowest-price-aws-cli)
+ [Ejemplo 4: inicialización de instancias de spot con la estrategia de asignación `price-capacity-optimized`](#price-capacity-optimized-aws-cli)

### Ejemplo 1: Lanzamiento de Instancias de spot con la estrategia de asignación `capacity-optimized`
<a name="capacity-optimized-aws-cli"></a>

El siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando crea un grupo de Auto Scaling que especifica lo siguiente:
+ El porcentaje del grupo que se va a lanzar como instancias bajo demanda (`0`) y un número base de instancias bajo demanda con el que se va a comenzar (`1`).
+ Los tipos de instancia que se van a lanzar por orden de prioridad (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`).
+ Las subredes en las que se lanzarán las instancias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`). Cada una corresponde a una zona de disponibilidad diferente.
+ La plantilla de lanzamiento (`my-launch-template`) y la versión de la plantilla de lanzamiento (`$Default`).

Cuando Amazon EC2 Auto Scaling intenta cubrir su capacidad en diferido, lanza primero el tipo de instancia `c5.large`. Las instancias de spot proceden del grupo de spot óptimo en cada zona de disponibilidad en función de la capacidad de la instancia de spot.

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

```
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": "$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"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandBaseCapacity": 1,
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

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

Como alternativa, puede usar el siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando para crear el grupo Auto Scaling. Esto 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
```

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

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  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
  InstancesDistribution:
    OnDemandBaseCapacity: 1
    OnDemandPercentageAboveBaseCapacity: 0
    SpotAllocationStrategy: capacity-optimized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Ejemplo 2: Lanzamiento de Instancias de spot con la estrategia de asignación `capacity-optimized-prioritized`
<a name="capacity-optimized-prioritized-aws-cli"></a>

El siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando crea un grupo de Auto Scaling que especifica lo siguiente:
+ El porcentaje del grupo que se va a lanzar como instancias bajo demanda (`0`) y un número base de instancias bajo demanda con el que se va a comenzar (`1`).
+ Los tipos de instancia que se van a lanzar por orden de prioridad (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`).
+ Las subredes en las que se lanzarán las instancias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`). Cada una corresponde a una zona de disponibilidad diferente.
+ La plantilla de lanzamiento (`my-launch-template`) y la versión de la plantilla de lanzamiento (`$Latest`).

Cuando Amazon EC2 Auto Scaling intenta cubrir su capacidad en diferido, lanza primero el tipo de instancia `c5.large`. Cuando Amazon EC2 Auto Scaling intenta satisfacer la capacidad de spot, respeta las prioridades del tipo de instancia sobre la base del mejor esfuerzo. Sin embargo, primero optimiza la capacidad.

#### JSON
<a name="capacity-optimized-prioritized-aws-cli-json"></a>

```
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": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandBaseCapacity": 1,
            "OnDemandPercentageAboveBaseCapacity": 0,
            "SpotAllocationStrategy": "capacity-optimized-prioritized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="capacity-optimized-prioritized-aws-cli-yaml"></a>

Como alternativa, puede usar el siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando para crear el grupo Auto Scaling. Esto 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
```

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

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  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
  InstancesDistribution:
    OnDemandBaseCapacity: 1
    OnDemandPercentageAboveBaseCapacity: 0
    SpotAllocationStrategy: capacity-optimized-prioritized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Ejemplo 3: Lanzamiento de instancias de spot mediante la estrategia de asignación `lowest-price` diversificada en dos grupos
<a name="lowest-price-aws-cli"></a>

El siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando crea un grupo de Auto Scaling que especifica lo siguiente:
+ El porcentaje del grupo que lanzar como instancias bajo demanda (`50`). (Esto no especifica un número base de instancias bajo demanda para empezar).
+ Los tipos de instancia que se van a lanzar por orden de prioridad (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`). 
+ Las subredes en las que se lanzarán las instancias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`). Cada una corresponde a una zona de disponibilidad diferente.
+ La plantilla de lanzamiento (`my-launch-template`) y la versión de la plantilla de lanzamiento (`$Latest`).

Cuando Amazon EC2 Auto Scaling intenta cubrir su capacidad en diferido, lanza primero el tipo de instancia `c5.large`. Para su capacidad de spot, Amazon EC2 Auto Scaling intenta lanzar las instancias de spot de manera uniforme en los dos grupos de precio más bajo de cada zona de disponibilidad. 

#### JSON
<a name="lowest-price-aws-cli-json"></a>

```
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": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 50,
            "SpotAllocationStrategy": "lowest-price",
            "SpotInstancePools": 2
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="lowest-price-aws-cli-yaml"></a>

Como alternativa, puede usar el siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando para crear el grupo Auto Scaling. Esto 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
```

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

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  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
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 50
    SpotAllocationStrategy: lowest-price
    SpotInstancePools: 2
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

### Ejemplo 4: inicialización de instancias de spot con la estrategia de asignación `price-capacity-optimized`
<a name="price-capacity-optimized-aws-cli"></a>

El siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando crea un grupo de Auto Scaling que especifica lo siguiente:
+ El porcentaje del grupo que lanzar como instancias bajo demanda (`30`). (Esto no especifica un número base de instancias bajo demanda para empezar).
+ Los tipos de instancia que se van a lanzar por orden de prioridad (`c5.large`, `c5a.large`, `m5.large`, `m5a.large`, `c4.large`, `m4.large`, `c3.large`, `m3.large`). 
+ Las subredes en las que se lanzarán las instancias (`subnet-5ea0c127`, `subnet-6194ea3b`, `subnet-c934b782`). Cada una corresponde a una zona de disponibilidad diferente.
+ La plantilla de lanzamiento (`my-launch-template`) y la versión de la plantilla de lanzamiento (`$Latest`).

Cuando Amazon EC2 Auto Scaling intenta cubrir su capacidad en diferido, lanza primero el tipo de instancia `c5.large`. Para su capacidad de spot, Amazon EC2 Auto Scaling intenta lanzar las instancias de spot desde grupos de instancias de spot con el precio más bajo posible, pero también con una capacidad óptima para la cantidad de instancias que lanza.

#### JSON
<a name="price-capacity-optimized-aws-cli-json"></a>

```
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": "c5.large"
                },
                {
                    "InstanceType": "c5a.large"
                },
                {
                    "InstanceType": "m5.large"
                },
                {
                    "InstanceType": "m5a.large"
                },
                {
                    "InstanceType": "c4.large"
                },
                {
                    "InstanceType": "m4.large"
                },
                {
                    "InstanceType": "c3.large"
                },
                {
                    "InstanceType": "m3.large"
                }
            ]
        },
        "InstancesDistribution": {
            "OnDemandPercentageAboveBaseCapacity": 30,
            "SpotAllocationStrategy": "price-capacity-optimized"
        }
    },
    "MinSize": 1,
    "MaxSize": 5,
    "DesiredCapacity": 3,
    "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782"
}
```

#### YAML
<a name="price-capacity-optimized-aws-cli-yaml"></a>

Como alternativa, puede usar el siguiente [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)comando para crear el grupo Auto Scaling. Esto 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
```

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

```
---
AutoScalingGroupName: my-asg
MixedInstancesPolicy:
  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
  InstancesDistribution:
    OnDemandPercentageAboveBaseCapacity: 30
    SpotAllocationStrategy: price-capacity-optimized
MinSize: 1
MaxSize: 5
DesiredCapacity: 3
VPCZoneIdentifier: subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782
```

# 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 | 

# Utilización de plantillas de lanzamiento múltiples
<a name="ec2-auto-scaling-mixed-instances-groups-launch-template-overrides"></a>

Además de utilizar varios tipos de instancia, también puede utilizar varias plantillas de lanzamiento.

Por ejemplo, supongamos que configura un grupo de escalado automático para aplicaciones de uso informático intensivo y desea incluir una combinación de tipos de instancias C5, C5a y C6g. Sin embargo, las instancias C6g cuentan con un procesador AWS Graviton basado en la arquitectura Arm de 64 bits, mientras que las instancias C5 y C5a funcionan con procesadores Intel x86 de 64 bits. Tanto AMIs las instancias C5 como las C5a funcionan en cada una de esas instancias, pero no en las instancias C6g. Para solucionar este problema, use una plantilla de lanzamiento diferente para las instancias de C6g. Puede seguir utilizando la misma plantilla de lanzamiento para las instancias C5 y C5a.

Esta sección contiene los procedimientos que se utilizan para realizar tareas relacionadas con el AWS CLI uso de varias plantillas de lanzamiento. Actualmente, esta característica solo está disponible si utiliza la AWS CLI o un SDK, y no está disponible desde la consola. 

**Topics**
+ [Configuración de un grupo de escalado automático para utilizar varias plantillas de lanzamiento](#configue-auto-scaling-group-to-use-multiple-launch-templates)
+ [Recursos relacionados](#multiple-launch-templates-related-resources)

## Configuración de un grupo de escalado automático para utilizar varias plantillas de lanzamiento
<a name="configue-auto-scaling-group-to-use-multiple-launch-templates"></a>

Puede configurar un grupo de escalado automático para que utilice varias plantillas de lanzamiento, como se muestra en los siguientes ejemplos. 

**Configuración de un nuevo grupo de escalado automático para que utilice varias plantillas de lanzamiento (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. Especifica los tipos de instancias `c5.large`, `c5a.large` y `c6g.large`, y define una nueva plantilla de lanzamiento para el tipo de instancias `c6g.large`, para asegurarse de que se utiliza una AMI adecuada para lanzar instancias de ARM. Amazon EC2 Auto Scaling utiliza el orden de los tipos de instancias para determinar qué tipo de instancias se utilizará en primer lugar al cumplir con la capacidad en diferido.

```
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-for-x86",
        "Version":"$Latest"
      },
      "Overrides":[
        {
          "InstanceType":"c6g.large",
          "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template-for-arm",
            "Version": "$Latest"
          }
        },
        {
          "InstanceType":"c5.large"
        },
        {
          "InstanceType":"c5a.large"
        }
      ]
    },
    "InstancesDistribution":{
      "OnDemandBaseCapacity": 1,
      "OnDemandPercentageAboveBaseCapacity": 50,
      "SpotAllocationStrategy": "capacity-optimized"
    }
  },
  "MinSize":1,
  "MaxSize":5,
  "DesiredCapacity":3,
  "VPCZoneIdentifier":"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
  "Tags":[ ]
}
```

**Configuración de un grupo de escalado automático existente para que utilice varias plantillas de lanzamiento (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 siguiente comando asigna la plantilla de lanzamiento nombrada `my-launch-template-for-arm` al tipo de `c6g.large` instancia del grupo de escalado automático denominado *`my-asg`*.

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

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

```
{
  "AutoScalingGroupName":"my-asg",
  "MixedInstancesPolicy":{
    "LaunchTemplate":{
      "Overrides":[
        {
          "InstanceType":"c6g.large",
          "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template-for-arm",
            "Version": "$Latest"
          }
        },
        {
          "InstanceType":"c5.large"
        },
        {
          "InstanceType":"c5a.large"
        }
      ]
    }
  }
}
```

**Cómo configurar un nuevo grupo de escalado automático para utilizar varias plantillas de lanzamiento con una selección del tipo de instancia basada en atributos (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 siguiente comando crea un nuevo grupo de Auto Scaling especificando una plantilla de lanzamiento para las instancias de AWS Graviton con una AMI ARM y una plantilla de lanzamiento adicional para las instancias basadas en AMD o Intel con una AMI x86. Luego utiliza dos veces la [selección de instancias basada en atributos](create-mixed-instances-group-attribute-based-instance-type-selection.md) para seleccionar entre un rango amplio de tipos de instancia para cada arquitectura de CPU. Puede añadir una configuración similar a un grupo de Auto Scaling existente con el [update-autoscaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html)comando.

```
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-for-arm",
        "Version":"$Latest"
      },
      "Overrides":[
        {
          "InstanceRequirements": {
            "VCpuCount": {"Min": 2},
            "MemoryMiB": {"Min": 2048},
            "CpuManufacturers": ["amazon-web-services"]
          }
         },
         {
           "InstanceRequirements": {
            "VCpuCount": {"Min": 2},
            "MemoryMiB": {"Min": 2048},
            "CpuManufacturers": ["intel", "amd"]
          },
          "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template-for-x86",
            "Version": "$Latest"
          }
         }
      ]
    },
    "InstancesDistribution":{
      "OnDemandPercentageAboveBaseCapacity": 0, 
      "SpotAllocationStrategy": "price-capacity-optimized"
    }
  },
  "MinSize":1,
  "MaxSize":10,
  "DesiredCapacity":6,
  "VPCZoneIdentifier":"subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782",
  "Tags":[ ]
}
```

**Para verificar las plantillas de lanzamiento para un grupo de Auto Scaling**  
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)
+ [Get- ASAuto ScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

## Recursos relacionados
<a name="multiple-launch-templates-related-resources"></a>

[Puedes encontrar un ejemplo de cómo especificar varias plantillas de lanzamiento mediante la selección del tipo de instancia basada en atributos en una CloudFormation plantilla en AWS Re:post.](https://repost.aws/articles/ARQeKDQX68TcqipYaaisl6bA/cloudformation-auto-scaling-group-sample-template-for-mixed-x86-intel-amd-and-aws-graviton-instances)