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.
Configurar un grupo de Auto Scaling para usar pesos de instancia
Cuando utilizas varios tipos de instancias, puedes especificar cuántas unidades quieres 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.
Supongamos, por ejemplo, que ejecuta una aplicación que requiere muchos recursos de computación y que funciona mejor con al menos 8 vCPU 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 los pesos, 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.
importante
Para configurar un grupo de escalado automático de modo que cumpla con la capacidad deseada utilizando la cantidad de vCPU o de memoria de cada tipo de instancia, le recomendamos que utilice una selección del tipo de instancia basada en atributos. Al configurar el DesiredCapacityType
parámetro, 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 Crear un grupo de instancias mixtas mediante la selección del tipo de instancia basada en atributos.
Contenido
Consideraciones
En esta sección, se analizan las consideraciones clave para implementar las ponderaciones de manera efectiva.
-
Elija algunos tipos de instancias que se adapten a las necesidades de rendimiento de su aplicación. Decida el peso que debe tener en cuenta cada tipo de instancia para la capacidad deseada de su grupo de Auto Scaling en función de sus capacidades. Estas ponderaciones se aplican a las instancias actuales y futuras.
-
Evite intervalos amplios entre los pesos. Por ejemplo, no especifiques un peso de 1 para un tipo de instancia cuando el siguiente tipo de instancia más grande tenga un peso de 200. La diferencia entre las ponderaciones más bajas y más altas tampoco debe ser exagerada. Las diferencias extremas de peso 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 utiliza pesos basados en vCPU, establezca el número deseado de núcleos, así como el mínimo y el 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ñadas ponderaciones a un grupo existente, incluye las ponderaciones de todos los tipos de instancias que se utilizan actualmente.
-
Al añadir o cambiar los pesos, Amazon EC2 Auto Scaling lanzará o finalizará las instancias para alcanzar la capacidad deseada en función de los nuevos valores de peso.
-
Si elimina un tipo de instancia, las instancias en ejecución de ese tipo conservan su último peso, incluso si ya no están definidas.
Ejemplo: comportamientos relacionados con el peso
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 se lanzan instancias que superan las unidades de capacidad deseadas restantes. Por ejemplo, supongamos que especifica dos tipos de instancias:
c5.2xlarge
yc5.12xlarge
, y que asigna la ponderación 2 ac5.2xlarge
y la ponderación 12 ac5.12xlarge
. Si faltan cinco unidades para satisfacer la capacidad deseada, y Amazon EC2 Auto Scaling aprovisiona unac5.12xlarge
, la capacidad deseada se sobrepasa en siete unidades. -
Al lanzar instancias, Auto Scaling de Amazon EC2 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, utilizando sus estrategias de asignación preferidas. El límite estricto impuesto por Amazon EC2 Auto Scaling es la capacidad deseada más el peso máximo.
Configuración de un grupo de escalado automático para utilizar ponderaciones
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 Crear un grupo de instancias mixtas seleccionando manualmente los tipos de instancias.
Para configurar un nuevo grupo de escalado automático para utilizar ponderaciones (AWS CLI)
Utilice el comando create-auto-scaling-group. 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
) -
Las ponderaciones de las instancias en relación con la diferencia de tamaño relativa (vCPU) entre los tipos de instancia (
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":, "MaxSize":
160
, "DesiredCapacity":
720
, "VPCZoneIdentifier": "
480
subnet-5ea0c127
,subnet-6194ea3b
,subnet-c934b782
", "Tags": [] }
Para configurar un grupo de escalado automático existente para utilizar ponderaciones (AWS CLI)
Utilice el comando update-auto-scaling-group. 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
) -
Las ponderaciones de las instancias en relación con la diferencia de tamaño relativa (vCPU) entre los tipos de instancia (
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":, "MaxSize":
0
, "DesiredCapacity":
100
}
100
Para verificar las ponderaciones con la línea de comandos
Utilice uno de los siguientes comandos:
-
describe-auto-scaling-groups (AWS CLI)
-
Get-AS () AutoScalingGroupAWS Tools for Windows PowerShell
Ejemplo de precio de spot por hora de unidad
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 |