Dimensionamento dinamico per Dimensionamento automatico Amazon EC2 - 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à.

Dimensionamento dinamico per Dimensionamento automatico Amazon EC2

Il dimensionamento dinamico consente di dimensionare la capacità del gruppo con scalabilità automatica in base alle modifiche del traffico.

Dimensionamento automatico Amazon EC2 supporta i seguenti tipi di policy di dimensionamento dinamico:

  • Scalabilità del monitoraggio degli obiettivi: aumenta e diminuisci la capacità attuale del gruppo in base a una CloudWatch metrica Amazon e a un valore target. Il funzionamento è simile al modo in cui il termostato regola la temperatura di una casa: si seleziona la temperatura e il termostato fa il resto.

  • Dimensionamento per fasi: aumenta e diminuisce la capacità attuale del gruppo in base a una serie di regolazioni del dimensionamento, chiamate regolazioni per fasi, che variano in base alla dimensione dell'utilizzo fuori limite segnalato dall'allarme.

  • Dimensionamento semplice: aumenta e diminuisce la capacità attuale del gruppo in base a una singola regolazione del dimensionamento, con un tempo di raffreddamento tra ogni attività di dimensionamento..

Ti consigliamo vivamente di utilizzare le politiche di scalabilità di Target Tracking e di scegliere una metrica che cambi in modo inversamente proporzionale alla variazione della capacità del tuo gruppo Auto Scaling. Quindi, se raddoppi la dimensione del tuo gruppo Auto Scaling, la metrica diminuisce del 50 percento. Ciò consente ai dati dei parametri di attivare con precisione gli eventi di scalabilità proporzionale. Sono incluse metriche come l'utilizzo medio della CPU o il numero medio di richieste per target.

Con il tracciamento del target, il gruppo Auto Scaling si ridimensiona in modo direttamente proporzionale al carico effettivo dell'applicazione. Ciò significa che oltre a soddisfare il fabbisogno immediato di capacità in risposta alle modifiche del carico, una policy di monitoraggio degli obiettivi può anche adattarsi alle modifiche del carico che si verificano nel tempo, ad esempio a causa di variazioni stagionali.

Le politiche di tracciamento di Target eliminano inoltre la necessità di definire manualmente gli CloudWatch allarmi e le regolazioni di ridimensionamento. Amazon EC2 Auto Scaling lo gestisce automaticamente in base all'obiettivo impostato.

Come funziona il dimensionamento dinamico

Una politica di scalabilità dinamica indica ad Amazon EC2 Auto Scaling di tenere traccia di CloudWatch una metrica specifica e definisce l'azione da intraprendere quando CloudWatch l'allarme associato è in ALARM. I parametri utilizzati per attivare lo stato di allarme sono un'aggregazione dei parametri provenienti da tutte le istanze del gruppo con scalabilità automatica. (Ad esempio, supponiamo che tu abbia un gruppo con scalabilità automatica con due istanze, in cui un'istanza è al 60% della CPU e l'altra è al 40%; quindi, la CPU è a una media del 50%). Quando la policy è in vigore, Dimensionamento automatico Amazon EC2 regola la capacità desiderata del gruppo verso l'alto o verso il basso in caso di superamento della soglia di un allarme.

Quando viene richiamata una policy di dimensionamento, se il calcolo della capacità produce un numero al di fuori dell'intervallo delle dimensioni minima e massima del gruppo, Dimensionamento automatico Amazon EC2 assicura che la nuova capacità non superi mai i limiti delle dimensioni minima e massima. La capacità viene misurata in due modi: utilizzando le stesse unità scelte quando si imposta la capacità desiderata in termini di istanze o utilizzando unità di capacità (se vengono applicati i pesi delle istanze).

  • Esempio 1: un gruppo con scalabilità automatica ha una capacità massima di 3, una capacità corrente di 2 e una policy di dimensionamento dinamico che aggiunge 3 istanze. Quando si esegue questa policy, Dimensionamento automatico Amazon EC2 aggiunge solo un'istanza al gruppo, per impedire che vengano superate le dimensioni massime.

  • Esempio 2: un gruppo con scalabilità automatica ha una capacità minima di 2, una capacità corrente di 3 e una policy di dimensionamento dinamico che rimuove 2 istanze. Quando si invoca questa policy, Dimensionamento automatico Amazon EC2 rimuove solo un'istanza dal gruppo, per impedire che il gruppo scenda al di sotto delle dimensioni minime.

Quando la capacità desiderata raggiunge il limite massimo, l'aumento orizzontale si arresta. Se la domanda cala e la capacità diminuisce, Dimensionamento automatico Amazon EC2 può aumentare nuovamente le dimensioni.

L'eccezione si verifica quando si utilizzano i pesi delle istanze. In questo caso, Dimensionamento automatico Amazon EC2 può dimensionare oltre il limite massimo, ma solo fino al peso massimo delle istanze. Lo scopo è avvicinarsi il più possibile alla nuova capacità desiderata, pur rispettando le strategie di allocazione specificate per il gruppo. Le strategie di allocazione determinano quali tipi di istanza avviare. Il peso determina con quante unità ciascuna istanza contribuisce alla capacità desiderata del gruppo, in base al tipo di istanza.

  • Esempio 3: un gruppo con scalabilità automatica ha una capacità massima di 12, una capacità corrente di 10 e una policy di dimensionamento dinamico che aggiunge 5 unità di capacità. Ai tipi di istanza è assegnato uno di questi tre pesi: 1, 4 o 6. Quando si richiama la policy di dimensionamento, Dimensionamento automatico Amazon EC2 sceglie di avviare un tipo di istanza con un peso pari a 6, in base alla strategia di allocazione. Come risultato, il gruppo avrà una capacità desiderata di 12 e una capacità corrente di 16.

Più policy di dimensionamento

Nella maggior parte dei casi, una policy di dimensionamento con monitoraggio degli obiettivi è sufficiente per configurare il gruppo con scalabilità automatica, affinché questo incrementi e decrementi automaticamente. Una policy di dimensionamento con monitoraggio degli obiettivi consente di selezionare un risultato desiderato e fare in modo che il gruppo con scalabilità automatica aggiunga e rimuova le istanze come necessario per ottenere questo risultato.

Per una configurazione di dimensionamento avanzata, il gruppo con scalabilità automatica può avere più di una policy di dimensionamento. Ad esempio, è possibile definire una o più policy di dimensionamento con monitoraggio degli obiettivi, una o più policy di dimensionamento per fasi o entrambe. Ciò offre una maggiore flessibilità, per affrontare diversi scenari.

Per illustrare il modo in cui più policy di dimensionamento operano insieme, consideriamo un'applicazione che utilizza un gruppo con scalabilità automatica e una coda Amazon SQS per inviare richieste a una singola istanza EC2. Per garantire che l'applicazione offra prestazioni ottimali, vi sono due policy che controllano quando il gruppo con scalabilità automatica deve essere dimensionato orizzontalmente. Una è una policy con monitoraggio degli obiettivi che utilizza un parametro personalizzato per aumentare e ridurre la capacità in base al numero di messaggi SQS nella coda. L'altra è una politica di scalabilità graduale che utilizza il CloudWatch CPUUtilization parametro Amazon per aggiungere capacità quando l'istanza supera il 90% di utilizzo per un periodo di tempo specificato.

Quando ci sono più policy attive nello stesso momento, c'è la possibilità che ogni policy indichi al gruppo con scalabilità automatica di aumentare o ridurre orizzontalmente le risorse nello stesso momento. Ad esempio, è possibile che la CPUUtilization metrica aumenti e superi la soglia dell' CloudWatch allarme nello stesso momento in cui la metrica personalizzata SQS aumenta e supera la soglia dell'allarme metrico personalizzato.

In queste situazioni, Dimensionamento automatico Amazon EC2 sceglie la policy che offre la capacità maggiore per aumentare o ridurre orizzontalmente. Supponiamo ad esempio che la policy per CPUUtilization avvii un'istanza e che la policy per la coda SQS avvii due istanze. Se i parametri per il dimensionamento orizzontale per tutte le policy saranno soddisfatti nello stesso momento, Dimensionamento automatico Amazon EC2 privilegerà la policy della coda SQS. In questo modo il gruppo con scalabilità automatica avvierà due istanze.

L'approccio che prevede di dare precedenza alla policy che fornisce la capacità maggiore si applica anche quando le policy riducono orizzontalmente impiegando criteri diversi. Ad esempio, se una policy termina tre istanze, un'altra policy riduce il numero di istanze del 25% e il gruppo ha otto istanze al momento della riduzione orizzontale, Dimensionamento automatico Amazon EC2 privilegia la policy che offre il maggior numero di istanze per il gruppo. Di conseguenza, il gruppo con scalabilità automatica termina due istanze (25% di 8 = 2). Lo scopo è evitare che Dimensionamento automatico Amazon EC2 rimuova troppe istanze.

Suggeriamo, tuttavia, di prestare attenzione quando si utilizzano le policy di dimensionamento con monitoraggio degli obiettivi insieme alle policy di dimensionamento per fasi, per evitare che insorgano conflitti che possono causare comportamenti indesiderati. Ad esempio, se la politica di scalabilità dei passaggi avvia una scalabilità dell'attività prima che la politica di tracciamento di Target sia pronta per essere ampliata, la scalabilità dell'attività non verrà bloccata. Una volta completata la scalabilità dell'attività, la policy di tracciamento di Target potrebbe indicare al gruppo di eseguire nuovamente la scalabilità orizzontale.