Tutorial: Utiliza la flota de spot con ponderación de instancias
Este tutorial utiliza una empresa ficticia llamada Example Corp para ilustrar el proceso de solicitud de una flota de spot mediante la ponderación de instancias.
Objetivo
Example Corp es una compañía farmacéutica que desea aprovechar la potencia computacional de Amazon EC2 para realizar el cribado de compuestos químicos que podrían utilizarse para combatir el cáncer.
Planificación
Example Corp primero consulta las Prácticas recomendadas para instancias de spot
Tipos de instancias
Example Corp tiene una aplicación que requiere un uso intensivo de memoria y de recursos informáticos que responde mejor con 60 GB de memoria, como mínimo, y ocho CPU virtuales (vCPU). Desean maximizar estos recursos para la aplicación al precio más bajo posible. Example Corp decide que cualquiera de los siguientes tipos de instancias EC2 podría satisfacer sus necesidades:
Tipo de instancia | Memoria (GiB) | vCPU |
---|---|---|
r3.2xlarge |
61 |
8 |
r3.4xlarge |
122 |
16 |
r3.8xlarge |
244 |
32 |
Capacidad de destino en unidades
Con ponderación de instancias, la capacidad de destino puede ser igual a un número de instancias (opción predeterminada) o a una combinación de factores como núcleos (vCPU), memoria (GiB) y almacenamiento (GB). Considerando la base para su aplicación (60 GB de RAM y ocho vCPU) como 1 unidad, Example Corp decide que 20 veces esta cantidad satisfaría sus necesidades. Así que la compañía establece la capacidad de destino de la solicitud de flota de spot en 20.
Ponderaciones de instancias
Después de determinar la capacidad de destino, Example Corp calcula las ponderaciones de instancias. Para calcularlas para cada tipo de instancia, determinan las unidades de cada tipo de instancia que son necesarias para alcanzar la capacidad de destino de la siguiente manera:
-
r3.2xlarge (61,0 GB, 8 vCPU) = 1 unidad de 20
-
r3.4xlarge (122,0 GB, 16 vCPU) = 2 unidades de 20
-
r3.8xlarge (244,0 GB, 32 vCPU) = 4 unidades de 20
Por consiguiente, Example Corp asigna ponderaciones de instancias de 1, 2 y 4 a las respectivas configuraciones de inicialización en la solicitud de flota de spot.
Precio por hora de unidad
Example Corp usa el precio bajo demanda
Tipo de instancia | Precio bajo demanda | Ponderación de instancia | Precio por hora de unidad |
---|---|---|---|
r3.2xLarge |
0,7 USD |
1 |
0,7 USD |
r3.4xLarge |
1,4 USD |
2 |
0,7 USD |
r3.8xLarge |
2,8 USD |
4 |
0,7 USD |
Example Corp podría usar un precio global por hora de unidad de 0,7 USD y ser competitivos para los tres tipos de instancias. También podrían usar un precio global por hora de unidad de 0,7 USD y un precio específico por hora de unidad de 0,9 USD en la especificación de inicialización r3.8xlarge
.
Verificar permisos
Antes de crear una solicitud de flota de spot, Example Corp verifica que tiene un rol de IAM con los permisos necesarios. Para obtener más información, consulte Permisos de flota de spot.
Crear la solicitud
Example Corp crea un archivo, config.json
, con la siguiente configuración para su solicitud de flota de spot:
{ "SpotPrice": "0.70", "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 1 }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.4xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 2 }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.8xlarge", "SubnetId": "subnet-482e4972", "SpotPrice": "0.90", "WeightedCapacity": 4 } ] }
Example Corp crea la solicitud de flota de spot con el comando request-spot-fleet.
aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json
Para obtener más información, consulte Tipos de solicitudes de flota de spot.
Cumplimiento
La estrategia de asignación determina de qué grupos de capacidad de spot proceden las instancias de spot.
Con la estrategia lowestPrice
(que es la estrategia predeterminada), las instancias de spot proceden del grupo con el precio de spot más bajo por unidad en el momento de la prestación del servicio. Para proporcionar 20 unidades de capacidad, la flota de spot inicia 20 instancias r3.2xlarge
(20 dividido por 1), 10 instancias r3.4xlarge
(20 dividido por 2) o 5 instancias r3.8xlarge
(20 dividido por 4).
Si Example Corp usara la estrategia diversified
, las instancias de spot procederían de los tres grupos. La flota de spot iniciaría 6 instancias r3.2xlarge
(que proporcionan 6 unidades), 3 instancias r3.4xlarge
(que proporcionan 6 unidades) y 2 instancias r3.8xlarge
(que proporcionan 8 unidades), con un total de 20 unidades.