Tutorial: Configura il parco istanze EC2 per usare la ponderazione dell'istanza
In questo tutorial viene utilizzata una società fittizia chiamata Example Corp per illustrare il processo di richiesta di un parco istanze EC2 con l'utilizzo della ponderazione dell'istanza.
Obiettivo
Example Corp, una società farmaceutica, vuole utilizzare la potenza di calcolo di Amazon EC2 per lo screening di composti chimici che potrebbero essere utilizzati per combattere il cancro.
Pianificazione
Prime analisi Example Corp Best Practice Spot
Tipi di istanza
Example Corp dispone di un'applicazione ad alta intensità di calcolo e di memoria che offre le migliori prestazioni con almeno 60 GB di memoria e otto CPU virtuali (vCPU). Il suo scopo è massimizzare tali risorse per l'applicazione al prezzo più basso possibile. Example Corp stabilisce che uno dei seguenti tipi di istanza EC2 soddisfa le proprie esigenze:
| Tipo di istanza | Memoria (GiB) | vCPU |
|---|---|---|
|
r3.2xlarge |
61 |
8 |
|
r3.4xlarge |
122 |
16 |
|
r3.8xlarge |
244 |
32 |
Capacità di destinazione in unità
Con la ponderazione d'istanza, la capacità di destinazione può corrispondere a un numero di istanze (predefinito) o a una combinazione di fattori, come core (vCPU), memoria (GiB) e archiviazione (GB). Considerando la base per la loro applicazione (60 GB di RAM e otto vCPU) come un'unità, Example Corp decide che 20 volte questa quantità soddisferebbe le proprie esigenze. Dunque, la società imposta la capacità target della propria richiesta del parco istanze EC2 a 20 unità.
Pesi dell'istanza
Dopo aver stabilito la capacità di destinazione, Example Corp calcola i pesi dell'istanza. Per calcolare il peso dell'istanza per ogni tipo di istanza, la società stabilisce le unità di ogni tipo di istanza necessarie al raggiungimento della capacità di destinazione come segue:
-
r3.2xlarge (61,0 GB, 8 vCPU) = 1 unità da 20
-
r3.4xlarge (122,0 GB, 16 vCPU) = 2 unità da 20
-
r3.8xlarge (244,0 GB, 32 vCPU) = 4 unità da 20
Pertanto, Example Corp assegna pesi di istanza di 1, 2 e 4 alle rispettive configurazioni di avvio nella propria richiesta di EC2 Fleet.
Prezzo all'ora per unità
Example Corp utilizza il prezzo on demand
| Tipo di istanza | prezzo on demand | Peso dell'istanza | Prezzo all'ora per unità |
|---|---|---|---|
|
r3.2xLarge |
0,7 $ |
1 |
0,7 $ |
|
r3.4xLarge |
1,4 $ |
2 |
0,7 $ |
|
r3.8xLarge |
$2,8 |
4 |
0,7 $ |
Example Corp può utilizzare un prezzo globale di 0,7 $ all'ora per unità ed essere competitiva per tutti e tre i tipi di istanza. Potrebbero anche utilizzare un prezzo globale di 0,7 USD per unità ora e un prezzo specifico di 0,9 USD per unità ora nella specifica di avvio r3.8xlarge.
Verificare le autorizzazioni
Prima di creare un parco istanze EC2, Example Corp verifica che abbia un ruolo IAM con le autorizzazioni necessarie. Per ulteriori informazioni, consulta Prerequisiti di parco istanze EC2.
Creazione di un modello di avvio
Successivamente, Example Corp crea un modello di avvio. L'ID del modello di avvio viene utilizzato nella fase seguente. Per ulteriori informazioni, consulta Creare un modello di avvio Amazon EC2.
Creazione del parco istanze EC2
Example Corp crea un file, config.json, con la configurazione seguente per il proprio parco istanze EC2. Nell'esempio seguente sostituire gli identificatori di risorsa con i propri identificatori di risorsa.
{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-07b3bc7625cdab851", "Version": "1" }, "Overrides": [ { "InstanceType": "r3.2xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 1 }, { "InstanceType": "r3.4xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 2 }, { "InstanceType": "r3.8xlarge", "MaxPrice": "0.90", "SubnetId": "subnet-482e4972", "WeightedCapacity": 4 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 20, "DefaultTargetCapacityType": "spot" } }
Example Corp crea EC2 Fleet utilizzando il comando create-fleet seguente.
aws ec2 create-fleet --cli-input-json file://config.json
Per ulteriori informazioni, consulta Creazione di un parco istanze EC2.
Compimento
La strategia di allocazione stabilisce da quali pool di capacità spot provengono le istanze spot.
Con la strategia lowest-price (ovvero la strategia predefinita), le Istanze spot provengono dal pool con il prezzo per unità più basso al momento dell'elaborazione. Per fornire 20 unità di capacità, EC2 Fleet avvia 20 istanze r3.2xlarge (20 diviso 1), 10 istanze r3.4xlarge (20 diviso 2) o 5 istanze r3.8xlarge (20 diviso 4).
Se Example Corp utilizzasse la strategia diversified, le Istanze spot proverrebbero da tutti e tre i pool. Il parco istanze EC2 avvierebbe 6 istanze r3.2xlarge (per ottenere 6 unità), 3 istanze r3.4xlarge (per ottenere 6 unità) e 2 istanze r3.8xlarge (per ottenere 8 unità), per un totale di 20 unità.