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.
Creación de un grupo de instancias mixtas seleccionando manualmente los tipos de instancias
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.
Contenido
Requisitos previos
-
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.
-
Verifique que la plantilla de lanzamiento no solicite ya instancias de spot.
Creación de un grupo de instancias mixtas (consola)
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.
Creación de un grupo de instancias mixtas
Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/
y selecciona Auto Scaling Groups en el panel de navegación. -
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.
-
Elija Create an Auto Scaling group (Crear un grupo de escalado automático).
-
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.
-
Para elegir la plantilla de lanzamiento, haga lo siguiente:
-
En launch template (Plantilla de lanzamiento), elija una plantilla de lanzamiento existente.
-
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.
-
Compruebe que la plantilla de lanzamiento admita todas las opciones que tenga previsto utilizar y, a continuación, elija Next (Siguiente).
-
-
En la página Elegir las opciones de lanzamiento de instancias, haga lo siguiente:
-
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).
-
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. Hacerlo puede resultar útil si los tipos de instancias ofrecen diferentes capacidades de vCPU, memoria, almacenamiento o ancho de banda de red. Para obtener más información, consulte Configuración de un grupo de escalado automático para utilizar ponderación de instancias.
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.
-
-
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.
-
(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.
-
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.
-
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. Lowest price (Precio más bajo) está oculto de forma predeterminada y solo aparece cuando elige Show all strategies (Mostrar todas las estrategias).
-
Si selecciona Precio más bajo, ingrese los grupos con los precios más bajos para diversificar a través de Grupos más baratos.
-
Si elige Capacidad optimizada, si lo desea, puede marcar la casilla Priorizar tipos de instancias para que Amazon EC2 Auto Scaling elija qué tipo de instancia lanzar primero en función del orden en que aparecen sus tipos de instancias.
-
-
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 Utilizar el reequilibrio de capacidad para gestionar las interrupciones de spot de Amazon EC2.
-
En Red, para VPC, selecciona unaVPC. El grupo Auto Scaling debe crearse VPC igual que el grupo de seguridad que especificó en la plantilla de lanzamiento.
-
Para las zonas de disponibilidad y las subredes, elija una o más subredes de las especificadas. VPC 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 las subredes VPC.
-
Elija Siguiente, Siguiente.
-
-
Para el paso Configure group size and scaling policies (Configurar el tamaño del grupo y las políticas de escalado), haga lo siguiente:
-
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 asignó ponderaciones a sus tipos de instancias, debe convertir este valor en la misma unidad de medida que utilizó para asignar las ponderaciones, como el número de. vCPUs
-
En la sección Escalado, en Límites de escalado, si el nuevo valor de la Capacidad deseada es superior a la Capacidad deseada mínima y a la Capacidad deseada máxima, la Capacidad deseada máxima se incrementa 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.
-
-
Elija Skip to review (Omitir para revisar).
-
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)
Creación de un grupo de instancias mixtas mediante la línea de comandos
Utilice uno de los siguientes comandos:
-
create-auto-scaling-group (AWS CLI)
-
Nuevo- ASAutoScalingGroup (AWS Tools for Windows PowerShell)
Configuraciones de ejemplo
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
Estos ejemplos muestran cómo utilizar un archivo de configuración formateado en JSON oYAML. Si usa la AWS CLI versión 1, debe especificar un archivo JSON de configuración con formato. Si utiliza la AWS CLI versión 2, puede especificar un archivo de configuración formateado en o. YAML JSON
Ejemplos
- Ejemplo 1: Lanzamiento de Instancias de spot con la estrategia de asignación capacity-optimized
- Ejemplo 2: Lanzamiento de Instancias de spot con la estrategia de asignación capacity-optimized-prioritized
- Ejemplo 3: Lanzamiento de instancias de spot mediante la estrategia de asignación lowest-price diversificada en dos grupos
- Ejemplo 4: inicialización de instancias de spot con la estrategia de asignación price-capacity-optimized
Ejemplo 1: Lanzamiento de Instancias de spot con la estrategia de asignación capacity-optimized
El siguiente create-auto-scaling-groupcomando 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 satisfacer su capacidad bajo demanda, lanza primero el tipo de c5.large
instancia. 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.
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":, "MaxSize":
1
, "DesiredCapacity":
5
, "VPCZoneIdentifier": "
3
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Como alternativa, puede usar el siguiente create-auto-scaling-group
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
El siguiente create-auto-scaling-groupcomando 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 satisfacer su capacidad bajo demanda, lanza primero el tipo de c5.large
instancia. Cuando Amazon EC2 Auto Scaling intenta cumplir con su capacidad de spot, respeta las prioridades de tipo de instancia haciendo todo lo posible. Sin embargo, primero optimiza la capacidad.
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":, "MaxSize":
1
, "DesiredCapacity":
5
, "VPCZoneIdentifier": "
3
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Como alternativa, puede usar el siguiente create-auto-scaling-group
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
El siguiente create-auto-scaling-groupcomando 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 satisfacer su capacidad bajo demanda, lanza primero el tipo de c5.large
instancia. Para su capacidad puntual, Amazon EC2 Auto Scaling intenta lanzar las instancias puntuales de manera uniforme en los dos grupos de precios más bajos de cada zona de disponibilidad.
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":, "MaxSize":
1
, "DesiredCapacity":
5
, "VPCZoneIdentifier": "
3
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Como alternativa, puede usar el siguiente create-auto-scaling-group
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
El siguiente create-auto-scaling-groupcomando 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 satisfacer su capacidad bajo demanda, lanza primero el tipo de c5.large
instancia. Para su capacidad de spot, Amazon EC2 Auto Scaling intenta lanzar las instancias puntuales desde grupos de instancias puntuales al precio más bajo posible, pero también con una capacidad óptima para el número de instancias que se están lanzando.
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":, "MaxSize":
1
, "DesiredCapacity":
5
, "VPCZoneIdentifier": "
3
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
" }
Como alternativa, puede usar el siguiente create-auto-scaling-group
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