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à.
Una politica di dimensionamento del tracciamento degli obiettivi ridimensiona automaticamente la capacità del gruppo Auto Scaling in base a un valore metrico target. Si adatta automaticamente ai modelli di utilizzo unici delle singole applicazioni. Ciò consente all'applicazione di mantenere prestazioni ottimali e un elevato utilizzo delle EC2 istanze per una migliore efficienza dei costi senza interventi manuali.
Con il monitoraggio degli obiettivi, devi selezionare un parametro e un valore target che rappresenti il livello di utilizzo o velocità di trasmissione effettiva ideale per la tua applicazione. Amazon EC2 Auto Scaling crea e gestisce gli CloudWatch allarmi che richiamano eventi di scalabilità quando la metrica si discosta dall'obiettivo. Ad esempio, è simile al modo in cui un termostato mantiene una temperatura target.
Ad esempio, immaginiamo di avere un'applicazione Web attualmente eseguita su due istanze e di volere che l'utilizzo della CPU del gruppo con scalabilità automatica rimanga intorno al 50% quando il carico sull'applicazione varia. Questo ti offre la capacità aggiuntiva per gestire i picchi di traffico senza dover mantenere un numero eccessivo di risorse inattive.
È possibile soddisfare questa esigenza creando una policy di dimensionamento del monitoraggio degli obiettivi che si rivolge a un utilizzo medio della CPU del 50%. Quindi, il gruppo Auto Scaling eseguirà la scalabilità orizzontale o aumenterà la capacità quando la CPU supera il 50 percento per gestire un carico maggiore. Aumenterà o ridurrà la capacità quando la CPU scende al di sotto del 50 percento per ottimizzare i costi nei periodi di basso utilizzo.
Argomenti
Policy di dimensionamento con monitoraggio degli obiettivi multipli
Per ottimizzare le prestazioni di dimensionamento, è possibile utilizzare più policy di dimensionamento con monitoraggio degli obiettivi insieme, a condizione che ciascuna di esse utilizzi un parametro diverso. Ad esempio, l'utilizzo e la velocità di trasmissione effettiva possono influenzarsi a vicenda. Ogni volta che uno di questi parametri cambia, di solito implica che anche altri parametri saranno interessati. L'uso di più metriche fornisce quindi informazioni aggiuntive sul carico a cui è sottoposto il gruppo Auto Scaling. Questo può aiutare Amazon EC2 Auto Scaling a prendere decisioni più informate nel determinare la capacità da aggiungere al gruppo.
L'intenzione di Amazon EC2 Auto Scaling è quella di dare sempre la priorità alla disponibilità. Se una delle politiche di tracciamento di destinazione è pronta per essere scalata orizzontalmente, il gruppo Auto Scaling verrà ridimensionato. Sarà scalabile solo se tutte le politiche di tracciamento del target (con la scala in parte abilitata) sono pronte per essere ampliate.
Selezionare i parametri.
Puoi creare policy di dimensionamento con monitoraggio degli obiettivi sia con parametri predefiniti che personalizzati. Le metriche predefinite consentono di accedere più facilmente alle metriche più comunemente utilizzate per la scalabilità. Le metriche personalizzate consentono di scalare in base ad altre metriche disponibili, comprese le CloudWatch metriche ad alta risoluzione che vengono pubblicate a intervalli più precisi nell'ordine di pochi secondi. Puoi pubblicare le tue metriche ad alta risoluzione o le metriche pubblicate da altri servizi. AWS
Per ulteriori informazioni sulla creazione di politiche di tracciamento degli obiettivi utilizzando metriche ad alta risoluzione, consulta. Crea una politica di tracciamento degli obiettivi utilizzando metriche ad alta risoluzione per una risposta più rapida
Target Tracking supporta le seguenti metriche predefinite:
-
ASGAverageCPUUtilization
: utilizzo medio CPU del gruppo Auto Scaling. -
ASGAverageNetworkIn
: numero medio di byte ricevuti su tutte le interfacce di rete dal gruppo Auto Scaling. -
ASGAverageNetworkOut
: numero medio di byte inviati su tutte le interfacce di rete dal gruppo Auto Scaling. -
ALBRequestCountPerTarget
: conteggio medio di richieste Application Load Balancer per destinazione per il gruppo Auto Scaling.
Importante
Altre informazioni utili sulle metriche relative all'utilizzo della CPU, all'I/O di rete e al numero di richieste di Application Load Balancer per target sono disponibili nell'argomento Elenco delle metriche CloudWatch disponibili per le tue istanze nella EC2 Amazon User Guide e nelle metriche per l'Application Load Balancer nella User Guide CloudWatch for Application Load Balancers, rispettivamente.
Puoi scegliere altre metriche disponibili o le tue CloudWatch metriche specificando una metrica personalizzata. CloudWatch Per un esempio che specifica una specifica metrica personalizzata per una politica di ridimensionamento di Target Tracking utilizzando il, vedi. AWS CLIEsempi di politiche di scalabilità per AWS CLI
Quando scegli un parametro, tieni presente quanto segue:
-
Ti consigliamo di utilizzare solo metriche disponibili a intervalli di un minuto o inferiori per aiutarti a scalare più rapidamente in risposta ai cambiamenti di utilizzo. Le metriche pubblicate a intervalli più bassi consentono alla policy di tracciamento degli obiettivi di rilevare e rispondere più rapidamente ai cambiamenti nell'utilizzo del gruppo Auto Scaling.
-
Se scegli metriche predefinite pubblicate da Amazon EC2, come l'utilizzo della CPU, ti consigliamo di abilitare il monitoraggio dettagliato. Per impostazione predefinita, tutte le EC2 metriche di Amazon vengono pubblicate a intervalli di cinque minuti, ma sono configurabili su un intervallo inferiore di un minuto abilitando il monitoraggio dettagliato. Per informazioni su come abilitare il monitoraggio dettagliato, consulta. Configurare il monitoraggio per le istanze Auto Scaling
-
Non tutti i parametri personalizzati funzionano per il monitoraggio degli obiettivi. Il parametro deve essere un parametro di utilizzo valido e deve descrivere quanto è impegnata un'istanza. Il valore del parametro deve aumentare e diminuire in proporzione al numero di istanze nel gruppo con scalabilità automatica. In questo modo i dati dei parametri possono essere utilizzati per il dimensionamento proporzionalmente al numero di istanze. Ad esempio, l'utilizzo della CPU di un gruppo Auto Scaling funziona (ovvero la metrica EC2 Amazon con la
AutoScalingGroupName
dimensioneCPUUtilization
metrica), se il carico sul gruppo Auto Scaling è distribuito tra le istanze. -
I seguenti parametri non funzionano per il monitoraggio degli obiettivi:
-
Il numero di richieste ricevute dal load balancer rivolto al gruppo con scalabilità automatica (ovvero, il parametro Elastic Load Balancing
RequestCount
). Il numero di richieste ricevute dal load balancer non cambia in base all'utilizzo del gruppo con scalabilità automatica. -
La latenza della richiesta del load balancer (ovvero, il parametro Elastic Load Balancing
Latency
). La latenza della richiesta può aumentare in base all'aumento dell'utilizzo, ma non cambia necessariamente in modo proporzionale. -
La CloudWatch metrica della coda di Amazon SQS.
ApproximateNumberOfMessagesVisible
Il numero di messaggi in una coda potrebbe non cambiare in proporzione alla dimensione del gruppo con scalabilità automatica che elabora i messaggi provenienti dalla coda. Tuttavia, una metrica personalizzata che misura il numero di messaggi nella coda per EC2 istanza nel gruppo Auto Scaling può funzionare. Per ulteriori informazioni, consulta Politica di scalabilità basata su Amazon SQS.
-
-
Per utilizzare il parametro
ALBRequestCountPerTarget
, è necessario specificare il parametroResourceLabel
affinché identifichi il gruppo di destinazione del load balancer associato al parametro. Per un esempio che specifica ilResourceLabel
parametro per una politica di ridimensionamento del tracciamento degli obiettivi utilizzando il, vedere. AWS CLIEsempi di politiche di scalabilità per AWS CLI -
Quando una metrica emette valori 0 reali su CloudWatch (ad esempio
ALBRequestCountPerTarget
), un gruppo Auto Scaling può scalare fino a 0 quando non c'è traffico verso l'applicazione per un periodo di tempo prolungato. Per fare in modo che il gruppo con scalabilità automatica si riduca orizzontalmente a 0 istanze quando non vengono instradate richieste, la capacità minima del gruppo deve essere impostata a 0. -
Invece di pubblicare nuove metriche da utilizzare nella policy di scalabilità, è possibile utilizzare la matematica delle metriche per combinare quelle esistenti. Per ulteriori informazioni, consulta Crea una politica di ridimensionamento del tracciamento degli obiettivi utilizzando la matematica metrica.
Definire il valore target
Quando si crea una policy di dimensionamento del monitoraggio degli obiettivi, è necessario specificare un valore target. Il valore di destinazione rappresenta l'utilizzo medio ideale o la velocità di trasmissione effettiva per il gruppo con scalabilità automatica nel suo complesso. Per utilizzare le risorse in modo efficiente in termini di costi, impostare il valore target il più alto possibile con un buffer ragionevole per aumenti di traffico imprevisti. Quando l'applicazione viene aumentata orizzontalmente in modo ottimale per un normale flusso di traffico, il valore del parametro effettivo deve essere pari o appena inferiore al valore target.
Quando una policy di scalabilità si basa sulla velocità di trasmissione effettiva, ad esempio il conteggio delle richieste per destinazione per un Application Load Balancer, I/O di rete o altri parametri di conteggio, il valore di destinazione rappresenta la velocità di trasmissione effettiva media ottimale da una singola istanza per un periodo di un minuto.
Definisci il tempo di riscaldamento dell'istanza
Come opzione, è possibile specificare il numero di secondi necessari per la preparazione di un'istanza appena avviata. Fino alla scadenza del tempo di riscaldamento specificato, un'istanza non viene conteggiata nelle metriche aggregate dell' EC2 istanza del gruppo Auto Scaling.
Durante il periodo di riscaldamento delle istanze, le politiche di scalabilità vengono ridimensionate solo se il valore della metrica delle istanze che non si stanno riscaldando è superiore all'utilizzo previsto dalla policy.
Se il gruppo si dimensiona di nuovo, le istanze in fase di preparazione vengono conteggiate come parte della capacità desiderata per l'attività di dimensionamento successiva. L'intenzione è di aumentare di continuo (ma non in eccesso).
Durante l'attività di scalabilità orizzontale, tutte le attività di scalabilità avviate dalle politiche di scalabilità vengono bloccate fino al termine del riscaldamento delle istanze. Al termine del riscaldamento delle istanze, se si verifica un problema di scalabilità, tutte le istanze attualmente in fase di chiusura verranno conteggiate ai fini della capacità attuale del gruppo nel calcolo della nuova capacità desiderata. Pertanto, non rimuoviamo dal gruppo Auto Scaling più istanze del necessario.
Valore predefinito
Se non viene impostato alcun valore, la politica di ridimensionamento utilizzerà il valore predefinito, che è il valore per il riscaldamento dell'istanza predefinito definito per il gruppo. Se il riscaldamento dell'istanza predefinito è nullo, torna al valore del cooldown predefinito. Si consiglia di utilizzare il riscaldamento predefinito dell'istanza per semplificare l'aggiornamento di tutte le politiche di ridimensionamento quando cambia il tempo di riscaldamento.
Considerazioni
Le seguenti considerazioni si applicano quando si usano le policy di dimensionamento con monitoraggio degli obiettivi:
-
Non creare, modificare o eliminare gli CloudWatch allarmi utilizzati con una politica di ridimensionamento di Target Tracking. Amazon EC2 Auto Scaling crea e gestisce gli CloudWatch allarmi associati alle tue politiche di scalabilità di tracciamento di destinazione e può modificarli, sostituirli o eliminarli quando necessario per personalizzare l'esperienza di scalabilità delle tue applicazioni e i loro modelli di utilizzo in evoluzione.
-
Una policy di dimensionamento del monitoraggio degli obiettivi dà priorità alla disponibilità durante i periodi di fluttuazione dei livelli di traffico, riducendo orizzontalmente in modo più graduale quando il traffico diminuisce. Se desideri un maggiore controllo, una politica di scalabilità graduale potrebbe essere l'opzione migliore. Puoi disabilitare temporaneamente la parte scalabile di una policy di tracciamento di Target. Questo aiuta a mantenere un numero minimo di istanze per implementazioni di successo.
-
Se nella metrica mancano punti dati, lo stato di CloudWatch allarme passa a.
INSUFFICIENT_DATA
Quando ciò accade, Amazon EC2 Auto Scaling non può scalare il gruppo finché non vengono trovati nuovi punti dati. -
Se la metrica viene riportata scarsamente in base alla progettazione, la matematica metrica può essere utile. Ad esempio, per utilizzare i valori più recenti, utilizzate la
FILL(m1,REPEAT)
funzione dovem1
è la metrica. -
Potrebbero esserci delle differenze tra il valore di destinazione e i punti dati dei parametri reali. Ciò avviene perché agiamo sempre con prudenza, arrotondando per eccesso o per difetto, quando stabiliamo il numero di istanze da aggiungere o rimuovere. Ciò impedisce l'aggiunta di un numero insufficiente di istanze o la rimozione di troppe istanze. Tuttavia, per gruppi Auto Scaling più piccoli e con un numero inferiore di istanze, l'utilizzo del gruppo potrebbe sembrare lontano dal valore di destinazione. Ad esempio, supponiamo che tu imposti un valore di destinazione del 50% per l'utilizzo della CPU e il gruppo con scalabilità automatica lo superi. Potremmo stabilire che l'aggiunta di 1,5 istanze diminuirà l'utilizzo della CPU a quasi il 50%. Poiché non è possibile aggiungere 1,5 istanze, arrotondiamo e aggiungiamo due istanze. Questo potrebbe diminuire l'utilizzo della CPU a un valore al di sotto del 50%, ma garantisce che l'applicazione disponga di un numero sufficiente di risorse per essere supportata. Analogamente, se stabiliamo che la rimozione di 1,5 istanze aumenta l'utilizzo della CPU a oltre il 50%, rimuoviamo una sola istanza.
Per i gruppi Auto Scaling di grandi dimensioni e con più istanze, l'utilizzo viene distribuito su un maggior numero di istanze, nel qual caso l'aggiunta o la rimozione di istanze provoca un intervallo minore tra il valore di destinazione e i punti di dati dei parametri reali.
-
Una policy di dimensionamento con monitoraggio degli obiettivi presuppone l'aumento orizzontale del gruppo con scalabilità automatica quando il parametro specificato supera il valore di destinazione. Quando il parametro specificato è inferiore al valore di destinazione, non è possibile utilizzare una policy di dimensionamento con monitoraggio degli obiettivi per aumentare orizzontalmente il gruppo con scalabilità automatica.