Scalabilità dinamica per Amazon EC2 Auto Scaling - 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à.

Scalabilità dinamica per Amazon EC2 Auto Scaling

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

Amazon EC2 Auto Scaling supporta i seguenti tipi di politiche di scalabilità dinamica:

  • 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'CPUutilizzo medio o il numero medio di richieste per obiettivo.

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 policy di scalabilità dinamica indica ad Amazon EC2 Auto Scaling di tenere traccia di una metrica CloudWatch specifica e definisce quali azioni intraprendere quando si attiva l' CloudWatch allarme associato. 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 di avere un gruppo Auto Scaling con due istanze in cui un'istanza è al 60 percento CPU e l'altra al 40 percento. CPU In media, sono al 50 percentoCPU.) Quando la policy è in vigore, Amazon EC2 Auto Scaling aumenta o diminuisce la capacità desiderata del gruppo quando viene superata la soglia di allarme.

Quando viene richiamata una politica di scalabilità dinamica, se il calcolo della capacità produce un numero al di fuori dell'intervallo di dimensioni minime e massime del gruppo, Amazon Auto EC2 Scaling garantisce che la nuova capacità non superi mai i limiti di dimensione 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 richiama questa politica, Amazon EC2 Auto Scaling aggiunge solo 1 istanza al gruppo per evitare che il gruppo superi la sua dimensione massima.

  • 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 richiama questa politica, Amazon EC2 Auto Scaling rimuove solo 1 istanza dal gruppo per evitare che il gruppo diventi inferiore alla sua dimensione minima.

Quando la capacità desiderata raggiunge il limite massimo, l'aumento orizzontale si arresta. Se la domanda diminuisce e la capacità diminuisce, Amazon EC2 Auto Scaling può nuovamente scalare orizzontalmente.

L'eccezione si verifica quando si utilizzano i pesi delle istanze. In questo caso, Amazon EC2 Auto Scaling può superare il limite massimo di dimensione, ma solo fino al peso massimo dell'istanza. 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 richiama la policy, Amazon EC2 Auto Scaling sceglie di lanciare un tipo di istanza con un peso di 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 come interagiscono più politiche di scalabilità dinamica, prendi in considerazione un'applicazione che utilizza un gruppo Auto Scaling e una coda SQS Amazon 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 politica di tracciamento degli obiettivi che utilizza una metrica personalizzata per aggiungere e rimuovere capacità in base al numero di SQS messaggi in 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 raggiunga picchi e superi la soglia dell'allarme metrico SQS personalizzato.

Quando si verificano queste situazioni, Amazon EC2 Auto Scaling sceglie la politica che offre la massima capacità sia per la scalabilità orizzontale che per la scalabilità in entrata. Supponiamo, ad esempio, che la policy for CPUUtilization avvii un'istanza, mentre la policy per la SQS coda avvii due istanze. Se i criteri di scalabilità orizzontale per entrambe le policy vengono soddisfatti contemporaneamente, Amazon Auto EC2 Scaling dà la precedenza alla politica di 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 pone fine a tre istanze, un'altra policy riduce il numero di istanze del 25% e il gruppo ha otto istanze al momento della scalabilità, Amazon Auto Scaling EC2 dà la precedenza alla policy che fornisce il maggior numero di istanze per il gruppo. Di conseguenza, il gruppo con scalabilità automatica termina due istanze (25% di 8 = 2). L'intenzione è impedire ad Amazon EC2 Auto Scaling di rimuovere 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à graduale 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.