Panoramica della configurazione - Dimensionamento automatico Amazon EC2

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Panoramica della configurazione

Questo capitolo fornisce una panoramica e le best practice per la creazione di un gruppo di istanze miste.

Panoramica

Per creare un gruppo di istanze miste, sono disponibili due opzioni:

Manual selection

La procedura seguente descrive come creare un gruppo di istanze miste scegliendo manualmente i tipi di istanza:

  1. Scegliere un modello di avvio che contenga i parametri per lanciare un'istanza EC2. I parametri nei modelli di lancio sono facoltativi, ma Dimensionamento automatico Amazon EC2 non può avviare un'istanza se l'ID Amazon Machine Image (AMI) non è presente nel modello di avvio.

  2. Scegli l'opzione per sovrascrivere il modello di avvio.

  3. Scegli manualmente i tipi di istanza adatti al tuo carico di lavoro.

  4. Specifica le percentuali di istanze on demand e istanze spot da avviare.

  5. Scegli le strategie di allocazione determinano il modo in cui Dimensionamento automatico Amazon EC2 soddisfa la capacità on demand e spot desiderate dai possibili tipi di istanza.

  6. Scegli le zone di disponibilità e le sottoreti VPC in cui avviare le istanze.

  7. Specificate la dimensione iniziale del gruppo (la capacità desiderata) e la dimensione minima e massima del gruppo.

Le sostituzioni sono necessarie per sovrascrivere il tipo di istanza dichiarato nel modello di avvio e utilizzare più tipi di istanze incorporati nella definizione delle risorse del gruppo con dimensionamento automatico. Per ulteriori informazioni sui tipi di istanza disponibili, consulta Tipi di istanza nella Guida per l'utente di Amazon EC2.

È inoltre possibile configurare i seguenti parametri opzionali per ogni tipo di istanza:

  • LaunchTemplateSpecification— È possibile assegnare un modello di lancio diverso a un tipo di istanza in base alle esigenze. Questa opzione non è al momento disponibile dalla console. Per ulteriori informazioni, consulta Utilizza un modello di avvio diverso per un tipo di istanza.

  • WeightedCapacity— Siete voi a decidere in che misura l'istanza conta ai fini della capacità desiderata rispetto al resto delle istanze del gruppo. Se specifichi un valore WeightedCapacity per un tipo di istanza, devi specificare un valore WeightedCapacity anche per tutti gli altri tipi. Per impostazione predefinita, ogni istanza conta come un'unica istanza ai fini della capacità desiderata. Per ulteriori informazioni, consulta Configurare un gruppo Auto Scaling per utilizzare i pesi delle istanze.

Attribute-based selection

Per consentire a Dimensionamento automatico Amazon EC2 di scegliere automaticamente i tipi di istanza in base agli attributi specifici dell'istanza, utilizza i seguenti passaggi per creare un gruppo di istanze miste specificando i requisiti di elaborazione:

  1. Scegliere un modello di avvio che contenga i parametri per lanciare un'istanza EC2. I parametri nei modelli di lancio sono facoltativi, ma Dimensionamento automatico Amazon EC2 non può avviare un'istanza se l'ID Amazon Machine Image (AMI) non è presente nel modello di avvio.

  2. Scegli l'opzione per sovrascrivere il modello di avvio.

  3. Specifica gli attributi di istanza che corrispondono ai requisiti di calcolo, come ad esempio vCPU e requisiti di memoria.

  4. Specifica le percentuali di istanze on demand e istanze spot da avviare.

  5. Scegli le strategie di allocazione determinano il modo in cui Dimensionamento automatico Amazon EC2 soddisfa la capacità on demand e spot desiderate dai possibili tipi di istanza.

  6. Scegli le zone di disponibilità e le sottoreti VPC in cui avviare le istanze.

  7. Specificate la dimensione iniziale del gruppo (la capacità desiderata) e la dimensione minima e massima del gruppo.

Le sostituzioni sono necessarie per sovrascrivere il tipo di istanza dichiarato nel modello di avvio e utilizzare un set di attributi dell'istanza che descrivono i requisiti di calcolo. Per gli attributi supportati, consulta il riferimento InstanceRequirementsall'API Amazon EC2 Auto Scaling. In alternativa, puoi utilizzare un modello di avvio che contiene già la definizione degli attributi dell'istanza.

Puoi anche configurare il parametro LaunchTemplateSpecification all'interno della struttura delle sostituzioni per assegnare un modello di avvio diverso a una serie di requisiti dell'istanza, in base alle esigenze. Questa opzione non è al momento disponibile dalla console. Per ulteriori informazioni, consulta LaunchTemplateOverrides nel riferimento all'API di riferimento di Amazon EC2 Auto Scaling.

Per impostazione predefinita, viene impostato il valore per la capacità desiderata del gruppo con dimensionamento automatico come numero di istanze.

Alternativamente, è possibile impostare il valore della capacità desiderata come numero di vCPU o quantità di memoria. A tale scopo, utilizza le proprietà DesiredCapacityType nell'operazione API CreateAutoScalingGroup o il campo a discesa del tipo di capacità desiderato in AWS Management Console. Si tratta di un'alternativa utile ai pesi delle istanze.

Flessibilità tipologia istanza

Per aumentare la disponibilità, implementa l'applicazione su più tipi di istanza. È consigliabile utilizzare più tipi di istanza per soddisfare i requisiti di capacità. In questo modo, Dimensionamento automatico Amazon EC2 può avviare un altro tipo di istanza se la capacità dell’istanza non è sufficiente nelle zone di disponibilità scelte.

Con le istanze spot, se la capacità dell'istanza è insufficiente, Dimensionamento automatico Amazon EC2 continua a tentare di avviarle da altri pool di istanza Spot. (I pool che utilizza sono determinati dalla scelta dei tipi di istanza e della strategia di allocazione.) Dimensionamento automatico Amazon EC2 ti aiuta a sfruttare i risparmi sui costi delle istanze spot lanciandole al posto delle istanze on demand.

Noi suggeriamo di essere flessibili su almeno 10 tipi di istanza per ogni carico di lavoro. Quando scegli i tipi di istanza, non limitarti solo ai nuovi tipi di istanza più comuni. La scelta di tipi di istanza di vecchia generazione consente tendenzialmente di ottenere un minor numero di interruzioni, in quanto sono meno richiesti dai clienti on demand.

Flessibilità zona di disponibilità

Distribuisci il gruppo con dimensionamento automatico su più zone di disponibilità. Con più zone di disponibilità, è possibile progettare applicazioni che eseguono il failover automatico tra zone di disponibilità per una maggiore resilienza.

Come ulteriore vantaggio, puoi accedere a un pool di capacità Amazon EC2 più profondo rispetto ai gruppi in una singola zona di disponibilità. Poiché in ciascuna zona di disponibilità la capacità varia indipendentemente per ogni tipo di istanza, spesso è possibile ottenere più capacità di calcolo per lo stesso prezzo se si ha una certa flessibilità per entrambi i tipi di istanza e per la Zona di disponibilità.

Per ulteriori informazioni sull’utilizzo delle zone di disponibilità multiple, consulta Esempio: distribuzione di istanze tra le zone di disponibilità.

Prezzo istanza Spot massimo

Quando create il gruppo Auto Scaling utilizzando AWS CLI o un SDK, potete specificare il parametro. SpotMaxPrice Il parametro SpotMaxPrice determina il prezzo massimo che si è disposti a pagare per un'ora di istanza spot.

Quando specifichi il parametro WeightedCapacity nelle sostituzioni ("DesiredCapacityType": "vcpu" o "DesiredCapacityType": "memory-mib" a livello di gruppo), il prezzo massimo rappresenta il prezzo unitario massimo, non il prezzo massimo per un'intera istanza.

Noi suggeriamo di non specificare un prezzo massimo. L'applicazione potrebbe non essere eseguita se non si riceve alcuna istanza spot, ad esempio nel caso in cui il prezzo massimo sia troppo basso. Se non si specifica un prezzo massimo, il prezzo massimo predefinito è il prezzo on demand. Si paga solo il prezzo Spot per le istanze Spot che vengono avviate. Ricevi comunque i forti sconti offerti dalle istanze spot. Questi sconti sono possibili a causa dei prezzi spot stabili resi disponibili con il modello di prezzi spot. Per ulteriori informazioni, consulta Prezzi e risparmi nella Guida per l'utente di Amazon EC2.

Ribilanciamento proattivo della capacità

Se il tuo caso d'uso lo consente, ti consigliamo il ribilanciamento della capacità. Il ribilanciamento della capacità consente di mantenere la disponibilità del carico di lavoro aumentando in modo proattivo il parco istanze con una nuova istanza spot prima che un'istanza spot in esecuzione riceva l'avviso di interruzione dell'istanza spot di due minuti.

Quando il ribilanciamento della capacità viene abilitato, il dimensionamento automatico Amazon EC2 cerca di sostituire proattivamente le istanze Spot per cui è suggerito il ribilanciamento. È possibile decidere di ribilanciare il carico di lavoro su Istanze Spot nuove o esistenti che non presentano un rischio elevato di interruzione.

Per ulteriori informazioni, consulta Utilizza il ribilanciamento della capacità per gestire le interruzioni spot di Amazon EC2.

Comportamento del dimensionamento

Quando crei un gruppo di istanze miste, per impostazione predefinita vengono utilizzate le istanze on demand. Per utilizzare le istanze spot, è necessario modificare la percentuale del gruppo da avviare come istanze on demand. Per la percentuale on demand, puoi specificare qualsiasi numero tra 0 e 100.

Facoltativamente, puoi stabilire un numero di base di istanze on demand da cui iniziare. Se procedi in tal senso, Dimensionamento automatico Amazon EC2 avvia le istanze Spot solo dopo aver avviato questa capacità di base sulle istanze on demand nella fase di aumento orizzontale del gruppo. Qualsiasi cosa oltre la capacità di base utilizza la percentuale on demand per stabilire quante istanze on demand e istanze Spot avviare.

Amazon EC2 Auto Scaling converte la percentuale nel numero equivalente di istanze. Se il risultato crea un numero frazionario, arrotonda al numero intero successivo a favore delle istanze on demand.

La seguente tabella mostra il comportamento del gruppo con dimensionamento automatico quando aumentano le dimensioni.

Esempio: comportamento di dimensionamento
Opzioni di acquisto Dimensione del gruppo e numero totale di istanze in esecuzione tra le opzioni d'acquisto
10 20 30 40

Esempio 1: base di 10, 50/50% on demand/spot

Istanze On-Demand (importo base) 10 10 10 10
Istanze on demand 0 5 10 15
Spot Instances 0 5 10 15

Esempio 2: base di 0, 0/100% on demand/spot

Istanze On-Demand (importo base) 0 0 0 0
Istanze on demand 0 0 0 0
Spot Instances 10 20 30 40

Esempio 3: base di 0, 60/40% on demand/spot

Istanze On-Demand (importo base) 0 0 0 0
Istanze on demand 6 12 18 24
Spot Instances 4 8 12 16

Esempio 4: base di 0, 0/100% on demand/spot

Istanze On-Demand (importo base) 0 0 0 0
Istanze on demand 10 20 30 40
Spot Instances 0 0 0 0

Esempio 5: base di 12, 0/100% on demand/spot

Istanze On-Demand (importo base) 10 12 12 12
Istanze on demand 0 0 0 0
Spot Instances 0 8 18 28

Quando la dimensione del gruppo aumenta, Dimensionamento automatico Amazon EC2 cerca di assicurare che la capacità sia equilibrata in modo uniforme tra le zone di disponibilità specificate. Quindi, avvia i tipi di istanza in base alla strategia di allocazione specificata.

Quando la dimensione del gruppo diminuisce, Dimensionamento automatico Amazon EC2 identifica innanzitutto quale dei due tipi (spot oppure on demand) debba essere terminato. Quindi, tenta di terminare le istanze in modo equilibrato nelle zone di disponibilità specificate. Inoltre, favorisce la terminazione delle istanze in modo da allinearsi maggiormente alle strategie di allocazione. Per ulteriori informazioni sulla terminazione automatica, consulta Configurazione delle politiche di terminazione per Amazon EC2 Auto Scaling.

Disponibilità regionale dei tipi di istanze

La disponibilità dei tipi di istanze EC2 varia a seconda del tipo di istanza. Regione AWS Ad esempio, in una determinata Regione i tipi di istanza di ultima generazione potrebbero non essere ancora disponibili. A causa delle variazioni nella disponibilità delle istanze tra le regioni, potresti riscontrare problemi durante le richieste programmatiche se nella tua regione non sono disponibili più tipi di istanze nelle sostituzioni. L'utilizzo di più tipi di istanze non disponibili nella propria regione potrebbe causare il completo fallimento della richiesta. Per risolvere il problema, riprova la richiesta con diversi tipi di istanza, assicurandoti che ogni tipo di istanza sia disponibile nella regione. Utilizzare il comando describe-instance-type offerings per filtrare i tipi di istanza offerti in base alla posizione. Per ulteriori informazioni, consulta la sezione Ricerca di un tipo di istanza Amazon EC2 nella Amazon EC2 User Guide.

Per ulteriori best practice per le istanze Spot, consulta Best practice for EC2 Spot nella Amazon EC2 User Guide.

Limitazioni

Dopo aver aggiunto le sostituzioni a un gruppo di Auto Scaling utilizzando una politica di istanze miste, puoi aggiornare le sostituzioni con UpdateAutoScalingGroup la chiamata API ma non eliminarle. Per rimuovere completamente le sostituzioni, devi prima cambiare il gruppo Auto Scaling in modo che utilizzi un modello di avvio o una configurazione di avvio anziché una politica di istanze miste. Quindi, puoi aggiungere nuovamente una politica per le istanze miste senza alcuna sostituzione.