Ridimensionamento automatico
Il ridimensionamento automatico consente di regolare automaticamente il numero o lo stato del ciclo di vita delle istanze di computazione in un pool di istanze. Ciò consente di garantire prestazioni coerenti per gli utenti finali durante i periodi di elevata domanda e di ridurre i costi durante i periodi di bassa domanda.
È possibile applicare i seguenti tipi di ridimensionamento automatico a un pool di istanze:
- Ridimensionamento automatico basato su metriche: un'azione di ridimensionamento automatico viene attivata quando una metrica delle prestazioni soddisfa o supera una soglia.
- Ridimensionamento automatico basato sulla pianificazione: gli eventi di scala automatica vengono eseguiti in orari specifici pianificati.
Il ridimensionamento automatico è supportato per i pool di istanze virtual machine (VM) e Bare Metal che utilizzano forme standard, Dense I/O e GPU.
È possibile eseguire i task riportati di seguito con la scala automatica.
- Lista delle configurazioni di scala automatica
- Creazione di una configurazione di scala automatica basata su metriche
- Creazione della configurazione di scala automatica basata sulla pianificazione
- Modifica di una configurazione di scala automatica basata su metriche
- Modifica di una configurazione di scala automatica basata su pianificazione e visualizzazione della previsione delle dimensioni del pool
- Abilitazione e disabilitazione della scala automatica di configurazioni e criteri
- Eliminazione di configurazioni di scala automatica
- Come tenere traccia degli eventi di scala automatica
Come funziona il ridimensionamento automatico: le basi
Puoi utilizzare le configurazioni di ridimensionamento automatico per gestire automaticamente la dimensione e lo stato del ciclo di vita dei tuoi pool di istanze. Quando il ridimensionamento automatico esegue automaticamente il provisioning delle istanze in un pool di istanze, il pool si ridimensiona. Quando la scala automatica rimuove le istanze dal pool, il pool si ridimensiona. Puoi anche utilizzare il ridimensionamento automatico per arrestare e avviare le istanze in un pool di istanze in base a una pianificazione.
Quando viene eseguito lo scale in di un pool di istanze, le istanze vengono arrestate (eliminate). Le istanze vengono arrestate in questo ordine: il numero di istanze viene bilanciato tra i domini di disponibilità, quindi bilanciato tra i domini di errore. Infine, all'interno di un dominio di errore, l'istanza meno recente viene interrotta per prima.
Una configurazione di ridimensionamento automatico include uno o più criteri di ridimensionamento automatico. Questi criteri definiscono i criteri che attivano le azioni di scala automatica e le azioni da intraprendere. Ogni configurazione di ridimensionamento automatico può avere un criterio di ridimensionamento automatico basato su metriche o più criteri di ridimensionamento automatico basati su pianificazione. È possibile aggiungere un massimo di 50 criteri di ridimensionamento automatico basati sulla pianificazione a una configurazione di ridimensionamento automatico.
Ogni pool delle istanze può avere una sola configurazione di ridimensionamento automatico.
Ridimensionamento automatico basato su metriche
Evitare di modificare il valore assegnato al numero iniziale di istanze dopo che il pool è stato ridimensionato. La riduzione di questo valore dopo l'aumento del numero di istanze nella dimensione del pool causerà l'interruzione delle istanze nel pool. Se è necessario modificare questo valore, il nuovo valore deve essere uguale o superiore al numero di istanze attualmente presenti nel pool.
Il ridimensionamento automatico basato su metriche si basa su metriche delle prestazioni raccolte dal servizio di monitoraggio, ad esempio l'utilizzo della CPU. Queste metriche delle prestazioni vengono aggregate in periodi di tempo di un minuto, quindi viene calcolata la media di tutte le istanze nel pool di istanze. Quando tre valori consecutivi (ovvero le metriche medie per tre minuti consecutivi) soddisfano la soglia, viene attivato un evento di ridimensionamento automatico.
Un periodo di adattamento tra eventi di ridimensionamento automatico basati su metriche consente al sistema di stabilizzarsi al livello aggiornato. Il periodo di raffreddamento inizia quando il pool di istanze raggiunge lo stato In esecuzione. Il ridimensionamento automatico continua a valutare le metriche delle prestazioni durante il periodo di adattamento. Al termine del periodo di adattamento, il ridimensionamento automatico regola di nuovo le dimensioni del pool di istanze, se necessario.
Ridimensionamento automatico basato su pianificazione
Puoi utilizzare il ridimensionamento automatico basato sulla pianificazione per ridimensionare la dimensione del pool in base alla domanda o per arrestare e avviare le istanze in base a una pianificazione.
Il ridimensionamento automatico basato sulla pianificazione è ideale per i pool di istanze in cui la domanda si comporta in modo prevedibile in base a una pianificazione, ad esempio un mese, una data o un'ora del giorno. Le schedulazioni possono essere ricorrenti o una tantum. Ad esempio:
- Un pool di istanze è particolarmente utilizzato durante gli orari di lavoro. La piscina ha un uso più leggero la sera e nei fine settimana. È possibile programmare la piscina per scalare fuori il mattino del giorno feriale, e per scalare nelle serate del giorno feriale.
- Un pool di istanze ha una forte domanda a Capodanno. È possibile programmare lo scale-out del pool ogni anno il 30 dicembre e lo scale-in il 2 gennaio.
- Stai rilasciando una nuova applicazione che viene eseguita nel pool di istanze e prevedi che molte persone inizieranno a utilizzare l'applicazione dopo l'annuncio pubblico. È possibile pianificare in anticipo l'avvio delle istanze nel pool il giorno del rilascio.
Una configurazione di ridimensionamento automatico basata sulla pianificazione può avere più criteri di ridimensionamento automatico, ciascuno con una pianificazione e una dimensione del pool di destinazione diverse o un'azione del ciclo di vita diverse. Per configurare eventi di scale-in e scale-out, è necessario creare almeno due criteri separati. Un criterio definisce la dimensione e la pianificazione del pool di destinazione per lo scale in e l'altro criterio definisce la dimensione e la pianificazione del pool di destinazione per lo scale out. Allo stesso modo, se si desidera pianificare eventi di arresto e di avvio, è necessario creare almeno due criteri separati. Un criterio definisce l'azione e la pianificazione del ciclo di vita per l'arresto delle istanze, mentre l'altro definisce l'azione e la pianificazione del ciclo di vita per l'avvio delle istanze.
Dopo l'esecuzione di un criterio di ridimensionamento automatico basato sulla pianificazione, il pool di istanze rimane allo stato della dimensione o del ciclo di vita del pool di destinazione finché un'altra operazione non modifica la dimensione o lo stato del ciclo di vita del pool, ad esempio un criterio di ridimensionamento automatico diverso. Tuttavia, se si modifica manualmente la dimensione del pool o lo stato del ciclo di vita, la scala automatica basata sulla pianificazione non adegua la dimensione o lo stato del ciclo di vita del pool fino all'esecuzione del successivo criterio di scala automatica pianificato.
Quando si utilizza la scala automatica basata sulla pianificazione per arrestare o riavviare le istanze, le informazioni sulle istanze vengono conservate. Quando le istanze vengono avviate dopo un arresto, vengono riportate allo stato in cui si trovavano prima dell'arresto.
Le pianificazioni del ridimensionamento automatico vengono definite utilizzando espressioni cron. Il ridimensionamento automatico utilizza l'implementazione Cron Quartz. È possibile utilizzare un generatore di espressioni cron in linea per verificare le espressioni cron. Un esempio è FREEFORMATTER.
Fornire tutte le ore in UTC.
Le configurazioni di ridimensionamento automatico basate sulla pianificazione includono un attributo per il periodo di adattamento, visualizzato nella console e quando si utilizzano l'API, gli SDK e l'interfaccia CLI. Tuttavia, il periodo di adattamento non influisce sulle configurazioni di ridimensionamento automatico basate sulla pianificazione.
Gestione più pianificazioni
Se esistono più criteri di scala automatica basati sulla pianificazione, le pianificazioni potrebbero creare conflitti. Se si verifica un conflitto, Oracle sceglie un criterio di stato del ciclo di vita e un criterio di scala automatica da eseguire. Il criterio di stato del ciclo di vita viene eseguito per primo.
Per il criterio di stato del ciclo di vita, viene scelto il criterio con l'azione con priorità più alta. Le azioni hanno la priorità indicata di seguito, elencate dalla priorità più alta alla priorità più bassa.
- Forza boot
- Riavvia
- Avvia
- Forza l'arresto
- Arresto
Per il criterio di ridimensionamento automatico, viene scelto il criterio con il numero di istanze più alto.
Per vedere in che modo la pianificazione del ridimensionamento automatico dovrebbe influire sulla dimensione del pool in futuro, visualizzare la previsione della dimensione del pool.
Informazioni sulle espressioni Cron
Un'espressione cron è una stringa composta da sei o sette campi che rappresentano le diverse parti di una pianificazione, ad esempio le ore o i giorni della settimana. Le espressioni Cron usano il seguente formato:
<second> <minute> <hour> <day of month> <month> <day of week> <year>
Nella tabella seguente sono elencati i valori e i caratteri speciali consentiti per ciascun campo.
Campo | Valori ammessi | Caratteri speciali consentiti |
---|---|---|
Second |
0 Nota: quando si utilizzano l'API, l'interfaccia CLI o gli SDK per il ridimensionamento automatico, è necessario specificare 0 come valore per i secondi, anche se altri valori creeranno un'espressione Cron valida. Non è necessario fornire alcun valore per i secondi quando si utilizza la console. |
Nessuna. |
minuto | 0-59 | * - , / |
Ora | 0-23 | * - , / |
Giorno del mese | 1-31 | * - , ? / L W |
mese | 1-12 o JAN-DEC | * - , / |
Giorno della settimana. | 1-7 o dom-sab | * - , ? / L # |
Anno | 1.970-2.099 | * - , / |
I caratteri speciali sono descritti nella tabella seguente.
Carattere speciale | descrizione | Esempio |
---|---|---|
* | Indica tutti i valori per un campo. | * nel campo del mese significa ogni mese. |
- | Indica un intervallo di valori. | 8-17 nel campo dell'ora significa ore dalle 8 alle 17, o dalle 8 a.m. alle 5 p.m. |
, | Indica più valori. | 3,5 nel campo del giorno della settimana significa martedì e giovedì. |
? |
Indica nessun valore specifico. Se si desidera specificare un giorno del mese, utilizzare ? nel campo del giorno della settimana. Se si desidera specificare un giorno della settimana, utilizzare ? nel campo del giorno del mese. |
0 0 10 ? * MON * significa 10 del mattino ogni lunedì. |
/ | Utilizzare n/m per indicare gli incrementi. Il valore che precede la barra è l'ora di inizio e il numero che segue la barra è il valore di incremento. | 0/20 nel campo dei minuti indica i minuti 0, 20 e 40. |
L |
Ultimo giorno della settimana o ultimo giorno del mese. Utilizzare xL nel campo del giorno della settimana per indicare l'ultimo giorno x del mese. Utilizzare L-n nel campo del giorno del mese per indicare un offset di n giorni dall'ultimo giorno del mese. Non utilizzare L con più valori o un intervallo di valori. |
L nel campo del giorno del mese significa 31 gennaio, 28 febbraio in anni non bisestili e così via. 6L nel campo del giorno della settimana indica l'ultimo venerdì del mese. L-5 significa 5 giorni prima dell'ultimo giorno del mese. |
S |
Giorno della settimana (Lunedì - Venerdì) più vicino al giorno specificato. Il valore non attraversa i mesi. È possibile combinare i caratteri L e W (LW) nel campo del giorno del mese per indicare l'ultimo giorno della settimana del mese. Non utilizzare W con più valori o un intervallo di valori. |
10W indica il giorno feriale più vicino al 10 del mese. Se il 10 è un sabato, significa venerdì 9. Se il 10 è una domenica, significa lunedì 11. Se il 10 è un mercoledì, significa mercoledì 10. |
# | Utilizzare x#n per indicare il n° giorno x del mese. | 5#2 significa il secondo giovedì del mese. |
Espressioni Cron di esempio
Utilizzare queste espressioni cron di esempio come punto di partenza per creare pianificazioni di ridimensionamento automatico. Combinare ogni espressione Cron con una dimensione del pool di destinazione per creare un criterio di ridimensionamento automatico. Includere quindi uno o più criteri di ridimensionamento automatico in una configurazione di ridimensionamento automatico.
Obiettivo: pianificazione occasionale con un solo evento di scala. Alle 11:00 del 31 dicembre 2020, ridimensionare un pool di istanze in 100 istanze. Avrai bisogno di un criterio di ridimensionamento automatico.
-
Criterio 1:
- Dimensione pool di destinazione: 100 istanze
- Ora di esecuzione: 11:00 il 31 dicembre, nel 2020
- Espressione cron: 0 0 23 31 12 ? 2020
Obiettivo: una pianificazione una tantum con un evento di scale-out e un evento di scale-in. Alle 10:00 del 1° marzo 2021, ridimensiona fino a 75 istanze. Alle 4 del mattino del 7 marzo 2021, ridimensiona fino a 30 istanze. Avrai bisogno di due criteri di ridimensionamento automatico.
-
Criterio 1 - scalabilità orizzontale:
- Dimensione pool di destinazione: 75 istanze
- Ora di esecuzione: 10:00 il 1° giorno di marzo, nel 2021
- Espressione cronologica: 0 0 10 1 3 ? 2021
-
Politica 2 - scala in:
- Dimensione pool di destinazione: 30 istanze
- Tempo di esecuzione: 4:00 il 7 marzo 2021
- Espressione cronologica: 0 0 16 7 3 ? 2021
Obiettivo: schedulazione giornaliera ricorrente. Il giorno feriale alle 8:30, scala fino a 10 istanze. Nelle serate del giorno feriale alle 6, scala in due casi. Avrai bisogno di due criteri di ridimensionamento automatico.
-
Politica 1 - scale out mattutino:
- Dimensione pool di destinazione: 10 istanze
- Tempo di esecuzione: 8:30 il lunedì al venerdì, ogni mese, ogni anno
- Espressione Cron: 0 30 8 ? * MON-FRI *
-
Policy 2 - scala serale in:
- Dimensione pool di destinazione: 2 istanze
- Tempo di esecuzione: 6:00 il lunedì al venerdì, ogni mese, ogni anno
- Espressione Cron: 0 0 18 ? * MON-FRI *
Obiettivo: una schedulazione settimanale ricorrente. Il martedì e il giovedì, ridimensionare il pool a 30 istanze. In tutti gli altri giorni della settimana, ridimensionare il pool in 20 istanze. Avrai bisogno di due criteri di ridimensionamento automatico.
-
Policy 1 - martedì e giovedì:
- Dimensione pool di destinazione: 30 istanze
- Tempo di esecuzione: 1 ogni martedì e giovedì, ogni mese, ogni anno
- Espressione Cron: 0 0 1 ? * TUE,THU *
-
Politica 2 - tutti gli altri giorni:
- Dimensione pool di destinazione: 20 istanze
- Ora di esecuzione: dalle 1 del mattino dalla domenica al lunedì, mercoledì e venerdì, anche se sabato, ogni mese, ogni anno
- Espressione Cron: 0 0 1 ? * SUN-MON,WED,FRI-SAT *
Obiettivo: una pianificazione mensile ricorrente. In tutti i giorni del mese, impostare la dimensione del pool su 20 istanze. Il 15° giorno del mese, eseguire lo scale-out su 40 istanze. Avrai bisogno di due criteri di ridimensionamento automatico.
-
Policy 1 - dimensione giornaliera del pool:
- Dimensione pool di destinazione: 20 istanze
- Tempo di esecuzione: mezzanotte ogni giorno, ogni mese, ogni anno
- Espressione cronologica: 0 0 0 * * * ? *
-
Politica 2 - scalabilità orizzontale:
- Dimensione pool di destinazione: 40 istanze
- Tempo di esecuzione: 12:05 il 15° giorno del mese, ogni mese, ogni anno
- Espressione cronologica: 0 5 0 15 * ? *
Criteri IAM necessari
Per utilizzare Oracle Cloud Infrastructure, un amministratore deve essere membro di un gruppo a cui è stato concesso l'accesso di sicurezza in un criterio da un amministratore della tenancy. Questo accesso è necessario, indipendentemente dal fatto che si stia utilizzando la console o l'API REST con un SDK, un'interfaccia CLI o unaltro strumento. Se viene visualizzato un messaggio che informa che non si dispone dell'autorizzazione o che non si è autorizzati, verificare con l'amministratore della tenancy il tipo di accesso di cui si dispone e il compartimento in cui funziona l'accesso.
Per gli amministratori: per un criterio tipico che consente l'accesso alle configurazioni di ridimensionamento automatico, vedere Consenti agli utenti di gestire le configurazioni di ridimensionamento automatico della computazione.
Applicazione di tag alle risorse
Applica tag alle risorse per organizzarle in base alle esigenze aziendali. È possibile applicare le tag quando si crea una risorsa ed è possibile aggiornare una risorsa in un secondo momento per aggiungere, rivedere o rimuovere le tag. Per informazioni generali sull'applicazione delle tag, vedere Tag risorsa.
Requisiti per il ridimensionamento automatico
- È disponibile un pool di istanze. Facoltativamente, puoi collegare un load balancer o un load balancer di rete al pool di istanze.
- Per il ridimensionamento automatico basato su metriche, il monitoraggio è abilitato sulle istanze nel pool di istanze e il servizio di monitoraggio riceve le metriche emesse dall'istanza. Quando si crea inizialmente un pool di istanze utilizzando istanze che supportano il monitoraggio, il monitoraggio è abilitato per impostazione predefinita, indipendentemente dalle impostazioni nella configurazione delle istanze del pool.
- Hai limiti di servizio sufficienti per creare il numero massimo di istanze su cui desideri ridimensionare.