Puoi configurare la scalabilità automatica per un gruppo di istanze gestite (MIG) per aggiungere o rimuovere in automatico le istanze di macchine virtuali (VM) in base agli incrementi o alle riduzioni del carico. Tuttavia, se l'inizializzazione dell'applicazione richiede alcuni minuti o più, l'aggiunta di istanze in risposta alle modifiche in tempo reale potrebbe non aumentare la capacità dell'applicazione abbastanza rapidamente. Ad esempio, se si verifica un grande aumento del carico (come quando gli utenti si svegliano la mattina), alcuni utenti potrebbero riscontrare ritardi durante l'inizializzazione dell'applicazione nelle nuove istanze.
Puoi utilizzare la scalabilità automatica predittiva per migliorare i tempi di risposta delle applicazioni con tempi di inizializzazione lunghi e i cui workload variano in modo prevedibile a cicli giornalieri o settimanali.
Quando attivi la scalabilità automatica predittiva, Compute Engine prevede il carico futuro in base alla cronologia del tuo MIG e fa lo scale out dal MIG prima del carico previsto, in modo che le nuove istanze siano già pronte all'arrivo del carico. Senza la scalabilità automatica predittiva un gestore della scalabilità automatica può scalare un gruppo solo in modo reattivo, in base alle variazioni del carico osservate in tempo reale. Con la scalabilità automatica predittiva abilitata, il gestore della scalabilità automatica usa i dati in tempo reale e con i dati storici per coprire sia il carico attuale sia quello previsto. Per ulteriori informazioni, consulta Come funziona la scalabilità automatica predittiva e Verificare se la scalabilità automatica predittiva è adatta al tuo workload.
Prima di iniziare
- Se vuoi utilizzare gli esempi della riga di comando in questa guida, installa Google Cloud CLI o avvia Cloud Shell.
- Scopri i concetti fondamentali del gestore della scalabilità automatica.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Google Cloud .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- La scalabilità automatica predittiva funziona solo quando Utilizzo CPU viene usato come metrica di scalabilità. Le metriche di Cloud Load Balancing o Cloud Monitoring non sono supportate.
- Compute Engine richiede una cronologia della scalabilità automatica basata sulla CPU di 3 giorni prima di poter generare previsioni.
- Le previsioni si basano sui pattern del carico settimanale e giornaliero. Compute Engine non prevede eventi mensili, annuali o una tantum né pattern di carico inferiori a 10 minuti. Puoi utilizzare la scalabilità automatica basata su pianificazione per richiedere capacità per carichi una tantum o di altro tipo.
- L'inizializzazione dell'applicazione richiede molto tempo, ad esempio se configuri un periodo di inizializzazione di più di 2 minuti.
- Il workload varia in modo prevedibile a cicli giornalieri o settimanali.
Nella console, vai alla pagina Gruppi di istanze.
Nell'elenco, fai clic sul nome di un MIG esistente per aprire la pagina di riepilogo del gruppo.
Fai clic su Modifica.
Se non esiste una configurazione di scalabilità automatica, in Scalabilità automatica, fai clic su Configura scalabilità automatica.
In Modalità di scalabilità automatica, seleziona On: aggiungi e rimuovi istanze al gruppo per abilitare la scalabilità automatica.
Specifica il numero minimo e massimo di istanze che il gestore della scalabilità automatica dovrà creare in questo gruppo.
Se nella sezione Indicatori di scalabilità automatica non esiste ancora una metrica Utilizzo CPU, aggiungine una:
- Fai clic su Aggiungi un indicatore.
- Nel menu a discesa Tipo di indicatore, seleziona Utilizzo CPU.
- Inserisci la metrica Utilizzo CPU target desiderata. Questo valore viene
trattato come una percentuale. Ad esempio, per il 75% di utilizzo della CPU, inserisci
75
. - In Scalabilità automatica predittiva, seleziona Ottimizza per la disponibilità per
attivare la scalabilità automatica predittiva.
- In alternativa, se vuoi disattivare l'algoritmo predittivo e utilizzare solo il gestore della scalabilità automatica in tempo reale, seleziona Off.
- Fai clic su Fine.
In Periodo di inizializzazione, specifica il tempo necessario per l'inizializzazione della tua applicazione in una nuova istanza. Questa impostazione indica al gestore della scalabilità automatica predittiva di fare lo scale out con ulteriore anticipo rispetto al carico previsto, in modo che le applicazioni vengano inizializzate quando arriva il carico.
Fai clic su Salva.
optimize-availability
: per attivare l'algoritmo predittivonone
(valore predefinito): per disattivare l'algoritmo predittivo- Scalabilità automatica predittiva abilitata.
- Utilizzo della CPU target del 75%.
- Numero massimo di istanze impostato su 20.
- Un periodo di inizializzazione (
--cool-down-period
) impostato su 5 minuti. Questa impostazione indica al gestore della scalabilità automatica predittiva di fare lo scale out 5 minuti prima del carico previsto, in modo che le applicazioni vengano inizializzate all'arrivo del carico. OPTIMIZE_AVAILABILITY
: per attivare l'algoritmo predittivoNONE
(valore predefinito): per disattivare l'algoritmo predittivo- Per un MIG a livello di regione: chiama il
metodo
regionAutoscalers.insert
- Per un MIG a livello di zona: chiama il
metodo
autoscalers.insert
- Per un MIG a livello di regione: chiama il
metodo
regionAutoscalers.patch
- Per un MIG a livello di zona: chiama il
metodo
autoscalers.patch
- Scalabilità automatica predittiva abilitata.
- Utilizzo della CPU target del 75%.
- Numero massimo di istanze impostato su 20.
- Un periodo di inizializzazione (
coolDownPeriodSec
) impostato su 5 minuti. Questa impostazione indica al gestore della scalabilità automatica predittiva di fare lo scale out 5 minuti prima del carico previsto, in modo che le applicazioni vengano inizializzate all'arrivo del carico. Nella console, vai alla pagina Gruppi di istanze.
Fai clic su un MIG esistente per il quale è stata configurata la scalabilità automatica basata sulla CPU. Viene visualizzata la pagina di riepilogo del gruppo.
Fai clic su Modifica.
Nella sezione Scalabilità automatica, in Indicatori di scalabilità automatica, espandi la sezione Utilizzo CPU, quindi fai clic su Verifica se la scalabilità automatica predittiva consente di ottimizzare i tuoi livelli di disponibilità.
In base ai dati degli ultimi 7 giorni, la tabella mostra quante VM sono state utilizzate al giorno e per quante VM si sono verificati sovraccarichi al giorno per le seguenti righe:
- Configurazione attuale della scalabilità automatica: mostra le prestazioni del gestore della scalabilità automatica in base a come è stato configurato negli ultimi 7 giorni.
- Con la scalabilità automatica predittiva impostata su "Ottimizza per la disponibilità": mostra le ipotetiche prestazioni del gestore della scalabilità automatica se la scalabilità automatica predittiva fosse stata abilitata negli ultimi 7 giorni.
Nella console, vai alla pagina Gruppi di istanze.
Fai clic su un MIG esistente per il quale è stata configurata la scalabilità automatica basata sulla CPU. Viene visualizzata la pagina di riepilogo del gruppo.
Fai clic su Monitoraggio per visualizzare i grafici relativi al gruppo.
Nel primo grafico, fai clic sul titolo e seleziona Scalabilità automatica predittiva. Questa visualizzazione mostra le dimensioni effettive del gruppo e quelle previste.
Puoi selezionare un intervallo di tempo diverso per visualizzare più dati storici o aumentare lo zoom su un periodo in cui si è verificato un aumento della domanda, per vedere in che modo la scalabilità automatica predittiva influisce sulle dimensioni del gruppo prima del carico previsto.
- il valore futuro previsto della metrica di scalabilità
- il valore attuale della metrica di scalabilità
- l'affidabilità delle tendenze passate, inclusa la variabilità passata della metrica di scalabilità
- il periodo di inizializzazione dell'applicazione configurato, indicato anche come periodo di inizializzazione
- Adatta le previsioni: le previsioni vengono ricalcolate costantemente, nell'arco di pochi minuti, in modo da adeguarle ai dati più recenti, che vengono incorporati. I tempi esatti degli aggiustamenti ai nuovi pattern dipendono, tra le altre cose, dalla ripetibilità del nuovo pattern e da quanto è grande la differenza tra il nuovo pattern e le previsioni passate.
- Si basa su dati in tempo reale: il numero consigliato di istanze del gestore della scalabilità automatica, basato sui valori in tempo reale della metrica, è sempre sufficiente per soddisfare l'utilizzo target del gruppo. Se il valore attuale di un indicatore in tempo reale è superiore a quanto previsto, il valore attuale dell'indicatore ha la precedenza sulla previsione. Di conseguenza, i MIG per i quali è stata attivata la scalabilità automatica predittiva hanno sempre una maggiore disponibilità rispetto a quelli per i quali non è stata attivata.
- Scopri di più sull'organizzazione dei gestori della scalabilità automatica.
- Scopri come il gestore della scalabilità automatica prende decisioni.
- Scopri come utilizzare più indicatori di scalabilità automatica per scalare il gruppo.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Prezzi
La scalabilità automatica predittiva è senza costi. Tuttavia, se la attivi per ottimizzare la disponibilità, ti vengono addebitate le risorse Compute Engine utilizzate dal tuo MIG.
Limitazioni
Workload adatti
La scalabilità automatica predittiva funziona al meglio se il workload soddisfa i seguenti criteri:
Se l'inizializzazione del servizio richiede molto tempo, gli utenti potrebbero riscontrare una latenza del servizio dopo un evento di scale out, ossia mentre è stato effettuato il provisioning delle nuove VM, ma queste non sono ancora in esecuzione. La scalabilità automatica predittiva tiene conto del tempo di inizializzazione della tua applicazione e fa lo scale out prima degli incrementi di utilizzo previsti, contribuendo ad assicurare che il numero di istanze di gestione disponibili sia sufficiente per l'utilizzo target.
Per farti un'idea dell'impatto della scalabilità automatica predittiva sul tuo gruppo, consulta Verificare se la scalabilità automatica predittiva è adatta al tuo workload.
Attivazione e disattivazione della scalabilità automatica predittiva
Puoi attivare la scalabilità automatica predittiva quando scali in base all'utilizzo della CPU. Per ulteriori informazioni sulla configurazione della scalabilità automatica basata sulla CPU, consulta Scalabilità basata sull'utilizzo della CPU.
Se il tuo MIG non dispone di una cronologia del gestore della scalabilità automatica, possono essere necessari 3 giorni prima che l'algoritmo predittivo abbia effetti sul gestore della scalabilità automatica. Durante questo periodo, il gruppo viene scalato solo in base ai dati in tempo reale. Dopo 3 giorni, il gruppo inizia a scalare utilizzando le previsioni. Mano a mano che vengono raccolte informazioni sulla cronolgia del carico, il gestore della scalabilità automatica predittiva sviluppa una migliore comprensione dei pattern di carico e le sue previsioni migliorano. Compute Engine utilizza fino a 3 settimane di cronologia dei carichi del MIG per far crescere il modello di machine learning.
Console
gcloud
Quando imposti o aggiorni il gestore della scalabilità automatica di un MIG, includi il flag
--cpu-utilization-predictive-method
con uno dei seguenti valori:Se la scalabilità automatica basata sulla CPU non è ancora attivata per il gruppo, devi attivarla. Puoi utilizzare il comando
set-autoscaling
per configurare da zero la policy di scalabilità automatica di un gruppo. Ad esempio, il comando seguente mostra come configurare la scalabilità automatica con le seguenti impostazioni:gcloud compute instance-groups managed set-autoscaling MIG_NAME \ --cpu-utilization-predictive-method optimize-availability \ --target-cpu-utilization 0.75 \ --max-num-replicas 20 \ --cool-down-period 300
Se la scalabilità automatica basata sulla CPU è già abilitata per il gruppo, utilizza il comando
update-autoscaling
per attivare l'algoritmo predittivo:gcloud compute instance-groups managed update-autoscaling MIG_NAME \ --cpu-utilization-predictive-method=optimize-availability
REST
Quando crei o aggiorni un gestore della scalabilità automatica, includi il campo
predictiveMethod
nel corpo della richiesta con uno dei seguenti valori:Se per il gruppo non è ancora stata configurata la scalabilità automatica, procedi nel seguente modo:
Se per il gruppo è già stata configurata la scalabilità automatica, procedi nel seguente modo:
Se la scalabilità automatica basata sulla CPU non è ancora attivata per il gruppo, devi attivarla.
Ad esempio, la seguente richiesta applica patch a una risorsa del gestore della scalabilità automatica esistente per abilitare la scalabilità automatica basata sulla CPU con le seguenti impostazioni:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/autoscalers/ { "name": "AUTOSCALER_NAME", "target": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME", "autoscalingPolicy": { "cpuUtilization": { "utilizationTarget": 0.75, "predictiveMethod": "OPTIMIZE_AVAILABILITY" }, "maxNumReplicas": 20, "coolDownPeriodSec": 300 } }
Verificare se il gestore della scalabilità automatica predittiva è attivo
Per visualizzare la configurazione attuale della scalabilità automatica di un MIG, consulta Ottenere le proprietà di un gruppo di istanze gestite.
Configurazione della scalabilità automatica predittiva
Per ulteriori informazioni su come configurare l'utilizzo target, il numero minimo e massimo di istanze e il periodo di inizializzazione, consulta Scalabilità in base all'utilizzo della CPU. Quando configuri queste opzioni, il gestore della scalabilità automatica predittiva cerca di mantenere tutte le istanze al livello di utilizzo target impostato, entro i limiti minimo e massimo del gruppo, analogamente a ciò che fa un gestore della scalabilità automatica in tempo reale.
Utilizza l'impostazione del periodo di inizializzazione per tenere conto del tempo necessario per inizializzare l'applicazione. Questa impostazione influisce su quanto in anticipo il gestore della scalabilità automatica predittiva avvia le nuove istanze rispetto all'aumento di carico previsto, in modo che l'applicazione sia pronta a gestire il carico quando si verifica il picco.
Verificare se la scalabilità automatica predittiva è adatta al tuo workload
Per verificare se la scalabilità automatica predittiva potrebbe migliorare la disponibilità della tua applicazione, puoi confrontare le prestazioni della scalabilità automatica basata sulla CPU con la configurazione attuale rispetto al gruppo con la scalabilità automatica predittiva. Per eseguire il confronto non è necessario abilitare la scalabilità automatica predittiva.
Per ulteriori informazioni sui workload adatti alla scalabilità automatica predittiva, consulta Workload adatti.
Controllo dei sovraccarichi
Il sovraccarico di un MIG con scalabilità automatica si verifica quando l'utilizzo medio della CPU supera il valore target. Per verificare se la configurazione della scalabilità automatica ha causato il sovraccarico delle VM durante gli ultimi 7 giorni e per vedere se la scalabilità automatica predittiva può ridurli, completa i seguenti passaggi:
Puoi utilizzare il "Numero di VM utilizzate al giorno" come proxy dei costi. Ad esempio, per ridurre il numero giornaliero di sovraccarichi delle VM, il gestore della scalabilità automatica predittiva potrebbe creare le VM in anticipo ed eseguirle per più tempo, con un conseguente aumento dei costi.
Monitoraggio e simulazione della scalabilità automatica predittiva
Puoi visualizzare le dimensioni storiche del gruppo utilizzando Cloud Monitoring. Il grafico di monitoraggio mostra come la configurazione della scalabilità automatica ha scalato il gruppo nel tempo e come la scalabilità automatica predittiva, avrebbe scalato il gruppo se fosse stata abilitata.
Per i gruppi con la scalabilità automatica predittiva disattivata, puoi utilizzare questo strumento per simulare la scalabilità automatica predittiva prima di abilitarla.
Come funziona la scalabilità automatica predittiva
Il gestore della scalabilità automatica predittiva prevede la metrica di scalabilità in base alle tendenze storiche della metrica. Le previsioni vengono ricalcolate ogni pochi minuti, il che consente al gestore della scalabilità automatica di adattare rapidamente le sue previsioni alle variazioni più recenti del carico. Il gestore della scalabilità automatica predittiva richiede una cronologia di almeno 3 giorni per individuare un pattern di utilizzo del servizio rappresentativo prima di poter fare previsioni. Compute Engine utilizza fino a 3 settimane di cronologia dei carichi del MIG per far crescere il modello di machine learning.
Il gestore della scalabilità automatica predittiva calcola il numero di VM necessarie per raggiungere il tuo obiettivo di utilizzo in base a numerosi fattori, tra cui:
In base a questi fattori, il gestore della scalabilità automatica predittiva fa lo scale out del gruppo in anticipo rispetto alla domanda prevista.
Figura 1. Confronto tra il servizio di VM con e senza scalabilità automatica predittiva.
Nella Figura 1, la linea blu mostra una domanda crescente di VM. La linea nera mostra la risposta del gestore della scalabilità automatica: vengono aggiunte altre VM. Tuttavia, per le applicazioni con tempi di inizializzazione lunghi, la linea grigia indica che le VM aggiunte richiedono un tempo aggiuntivo prima di essere pronte alla gestione, il che può comportare un numero di VM di gestione insufficiente per soddisfare la domanda. Con la scalabilità automatica predittiva abilitata, vengono presi in considerazione l'aumento previsto della domanda e il lungo tempo di inizializzazione dell'applicazione: il gestore della scalabilità automatica risponde aggiungendo le VM in anticipo, in modo da avere un numero sufficiente di VM in gestione. Puoi configurare quanto in anticipo vengono aggiunte le nuove istanze impostando il periodo di inizializzazione.
Dati sull'utilizzo in tempo reale
Il gestore della scalabilità automatica predittiva non può determinare un pattern per tutte le variazioni future dell'utilizzo basato sui dati storici, pertanto può utilizzare senza problemi anche i dati in tempo reale. Ad esempio, un evento di cronaca imprevisto potrebbe contribuire a un picco di utilizzo che non poteva essere previsto basandosi solo sulla cronologia. Per gestire queste variazioni imprevedibili del carico, il gestore della scalabilità automatica predittiva risponde nel seguente modo:
Figura 2. Due grafici mostrano come le previsioni si adattano all'utilizzo effettivo della CPU.
Nella Figura 2, la linea gialla tratteggiata mostra la previsione al momento t1. Tuttavia, l'utilizzo effettivo della CPU, come mostrato dalla linea blu continua, è diverso da quello previsto. Nel grafico a sinistra, l'utilizzo effettivo della CPU è superiore a quello previsto. Nel grafico a destra, l'utilizzo effettivo della CPU è inferiore a quello previsto. La linea blu tratteggiata mostra la previsione dopo l'aggiustamento.
Picchi brevi e imprevedibili
La copertura di picchi brevi e imprevedibili avviene in tempo reale. Il gestore della scalabilità automatica crea almeno il numero di istanze necessarie per mantenere l'utilizzo al target configurato, in base al valore effettivo attuale della metrica. Tuttavia, queste istanze non vengono create in anticipo, come mostrato nella figura seguente.
Figura 3. Un picco breve e imprevedibile fa sì che il gestore della scalabilità automatica reagisca in tempo reale.
Nella figura 3, la linea blu continua mostra l'utilizzo effettivo della CPU. Non è stato possibile prevedere un picco imprevisto di utilizzo della CPU. Poiché il gestore della scalabilità automatica monitora sempre i dati in tempo reale, aggiunge istanze per far fronte al picco. La linea nera continua illustra l'aggiunta reattiva di VM da parte del gestore della scalabilità automatica in risposta al picco. La linea grigia continua mostra il numero di VM di gestione. La linea grigia è in ritardo rispetto alla linea nera perché tiene anche conto del tempo di inizializzazione dell'applicazione. In questo scenario, il gruppo è temporaneamente in sovraccarico.
Cali improvvisi
Un altro tipo di variazione imprevedibile dell'utilizzo è un calo improvviso, ad esempio un calo causato da un errore in una parte dello stack di applicazioni. In questo caso, il numero di istanze inizialmente segue la previsione. Tuttavia, nel tempo, la previsione si adegua all'utilizzo inferiore a quello previsto, con un conseguente scale in. Le tempistiche esatte di questo aggiustamento dipendono da numerosi fattori, tra cui la frequenza con cui il pattern si è verificato in passato, la durata del calo e la sua entità.
Immagine 4. Un calo improvviso fa sì che il gestore della scalabilità automatica predittiva modifichi la sua previsione.
Nella Figura 4, la linea gialla tratteggiata mostra la previsione al momento t1. Tuttavia, l'utilizzo effettivo della CPU, come mostrato dalla linea blu continua, è sceso al di sotto di quanto previsto. La linea blu tratteggiata mostra la previsione aggiornata, che è stata regolata automaticamente dopo aver osservato un utilizzo inferiore alle previsioni. Di conseguenza il gestore della scalabilità automatica rimuove le istanze dopo il periodo di stabilizzazione standard.
Dati storici
Il gestore della scalabilità automatica predittiva richiede almeno 3 giorni di dati storici sul carico per iniziare a fare le previsioni. Se hai un nuovo MIG privo di dati storici, Compute Engine scala il gruppo in modo reattivo utilizzando i dati in tempo reale finché non diventano disponibili dati storici sufficienti. Dopo 3 giorni, mano a mano che Compute Engine raccoglie ulteriori dati di utilizzo, le previsioni migliorano.
Se aggiorni l'applicazione creando un nuovo MIG ed eliminando quello precedente, ad esempio un deployment blu/verde, il nuovo MIG ha bisogno di 3 giorni di dati storici riguardo al carico prima che la scalabilità automatica predittiva possa iniziare a generare nuovamente le previsioni. Se vuoi conservare la cronologia dei caricamenti nei vari MIG in modo che le previsioni si avviino immediatamente quando crei un nuovo MIG, contattaci per richiedere le istruzioni per partecipare a un'anteprima privata.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-09 UTC.
-