Panoramica della configurazione per la creazione di un gruppo di istanze miste - Amazon EC2 Auto Scaling

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 per la creazione di un gruppo di istanze miste

Questo argomento fornisce una panoramica e le migliori pratiche per creare un gruppo di istanze miste con Auto Scaling.

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. Scegli un modello di avvio con i parametri per avviare un'EC2istanza. I parametri nei modelli di avvio sono facoltativi, ma Amazon EC2 Auto Scaling 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 strategie di allocazione che determinino in che modo Amazon EC2 Auto Scaling soddisfa le tue capacità On-Demand e Spot tra i possibili tipi di istanze.

  6. Scegli le zone di disponibilità e le VPC sottoreti in cui avviare le tue 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 Amazon EC2 User Guide.

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

  • LaunchTemplateSpecification— Puoi 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 ad Amazon EC2 Auto Scaling 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. Scegli un modello di avvio con i parametri per avviare un'istanza. EC2 I parametri nei modelli di avvio sono facoltativi, ma Amazon EC2 Auto Scaling 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. Specificate gli attributi dell'istanza che soddisfano i requisiti di calcolo, ad esempio vCPUs i requisiti di memoria.

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

  5. Scegli strategie di allocazione che determinino in che modo Amazon EC2 Auto Scaling soddisfa le tue capacità On-Demand e Spot tra i possibili tipi di istanze.

  6. Scegli le zone di disponibilità e le VPC sottoreti in cui avviare le tue 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, InstanceRequirementsconsulta Amazon EC2 Auto Scaling API Reference. 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 LaunchTemplateOverridesAmazon EC2 Auto Scaling API Reference.

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

In alternativa, puoi impostare il valore della capacità desiderata sul numero vCPUs o sulla quantità di memoria. A tale scopo, utilizzate la DesiredCapacityType proprietà nell'CreateAutoScalingGroupAPIoperazione o il campo a discesa 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, Amazon EC2 Auto Scaling può avviare un altro tipo di istanza se la capacità delle istanze è insufficiente nelle zone di disponibilità scelte.

Se la capacità delle istanze Spot è insufficiente, Amazon EC2 Auto Scaling continua a provare a eseguire l'avvio da altri pool di istanze Spot. (I pool che utilizza sono determinati dalla scelta dei tipi di istanza e della strategia di allocazione.) Amazon EC2 Auto Scaling 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 EC2 capacità Amazon più ampio 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 unSDK, potete specificare il SpotMaxPrice parametro. 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 la sezione Prezzi e risparmi nella Amazon EC2 User Guide.

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à è abilitato, Amazon Auto EC2 Scaling tenta di sostituire in modo proattivo le istanze Spot che hanno ricevuto una raccomandazione di 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. In tal caso, Amazon EC2 Auto Scaling attende di avviare le istanze Spot fino a dopo aver avviato la capacità di base delle istanze On-Demand quando il gruppo si ridimensiona. 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, Amazon EC2 Auto Scaling tenta di bilanciare la capacità in modo uniforme nelle zone di disponibilità specificate. Quindi, avvia i tipi di istanza in base alla strategia di allocazione specificata.

Quando la dimensione del gruppo diminuisce, Amazon EC2 Auto Scaling identifica innanzitutto quale dei due tipi (Spot o On-Demand) deve essere interrotto. 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 Configura le politiche di terminazione per Amazon EC2 Auto Scaling.

Disponibilità regionale dei tipi di istanze

La disponibilità dei tipi di EC2 istanze 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. Per cercare i tipi di istanza offerti per posizione, usa il describe-instance-type-offeringscomando. Per ulteriori informazioni, consulta la sezione Ricerca di un tipo di EC2 istanza Amazon nella Amazon EC2 User Guide.

Per ulteriori best practice per le istanze Spot, consulta la sezione 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, è possibile aggiornare le sostituzioni con UpdateAutoScalingGroup API la chiamata 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.