Scala automatica
Il ridimensionamento automatico ti 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 fornire prestazioni coerenti per gli utenti finali durante i periodi di elevata domanda e consente di ridurre i costi durante i periodi di bassa domanda.
È possibile applicare i tipi di ridimensionamento automatico riportati di seguito 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 le dimensioni e lo stato del ciclo di vita dei pool di istanze. Quando il ridimensionamento automatico esegue automaticamente il provisioning delle istanze in un pool di istanze, il pool esegue lo scale out. Quando il ridimensionamento automatico 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 un pool di istanze viene ridimensionato, le istanze vengono terminate (eliminate). Le istanze vengono arrestate in questo ordine: il numero di istanze viene bilanciato tra domini di disponibilità e quindi bilanciato tra 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 sulla pianificazione. Puoi aggiungere un massimo di 50 criteri di ridimensionamento automatico basati sulla pianificazione a una configurazione di ridimensionamento automatico.
Ogni pool di istanze può avere una sola configurazione di scala automatica.
Scala automatica basata su metriche
Evitare di modificare il valore assegnato al numero iniziale di istanze dopo il ridimensionamento del pool. 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 tempo di recupero tra eventi di ridimensionamento automatico basati su metriche consente al sistema di stabilizzarsi al livello aggiornato. Il periodo di recupero 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 recupero. Al termine del periodo di recupero, il ridimensionamento automatico regola di nuovo le dimensioni del pool di istanze, se necessario.
Scala automatica basata sulla 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 occasionali. Ad esempio:
- Un pool di istanze ha un uso intensivo durante l'orario di lavoro. La piscina ha un uso più leggero nelle serate e nei fine settimana. È possibile pianificare la piscina per lo scale-out al mattino del giorno feriale e per lo scale-in nelle serate dei giorni feriali.
- Un pool di istanze è molto richiesto alla vigilia di Capodanno. Puoi pianificare lo scale-out del pool ogni anno il 30 dicembre e lo scale-in il 2 gennaio.
- Si sta rilasciando una nuova applicazione che viene eseguita nel pool di istanze e si prevede che molte persone inizieranno a utilizzare l'applicazione dopo l'annuncio pubblico. In anticipo, è possibile pianificare le istanze nel pool in modo che inizino 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. 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 il ridimensionamento e l'altro criterio definisce la dimensione e la pianificazione del pool di destinazione per il ridimensionamento. Allo stesso modo, se si desidera pianificare eventi di arresto e avvio, è necessario creare almeno due criteri separati. Un criterio definisce l'azione e la pianificazione del ciclo di vita per l'arresto delle istanze e l'altro criterio 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 alla dimensione del pool di destinazione o allo stato del ciclo di vita finché qualcos'altro non modifica la dimensione del pool o lo stato del ciclo di vita, ad esempio un criterio di ridimensionamento automatico diverso. Tuttavia, se si modifica manualmente la dimensione del pool o lo stato del ciclo di vita, il ridimensionamento automatico basato sulla pianificazione non modifica la dimensione del pool o lo stato del ciclo di vita fino a quando non viene eseguito il successivo criterio di ridimensionamento automatico pianificato.
Quando si utilizza il ridimensionamento automatico basato 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.
È possibile definire pianificazioni di ridimensionamento automatico utilizzando espressioni cron. Il ridimensionamento automatico utilizza l'implementazione cron di Quartz. È possibile utilizzare un generatore di espressioni cron in linea per verificare le espressioni cron; un esempio è FREEFORMATTER.
Fornire tutti gli orari in UTC.
Le configurazioni di scala automatica basate sulla pianificazione includono un attributo per il periodo di recupero, visualizzato nella console e quando si utilizzano API, SDK e CLI. Tuttavia, il periodo di recupero non influisce sulle configurazioni di ridimensionamento automatico basate sulla pianificazione.
Gestione di più schedulazioni
Se esistono più criteri di ridimensionamento automatico basati sulla pianificazione, le pianificazioni potrebbero essere in conflitto. In caso di conflitto, Oracle sceglie un criterio di stato del ciclo di vita e un criterio di ridimensionamento automatico da eseguire. Il criterio di stato del ciclo di vita viene eseguito per primo.
Per il criterio dello stato del ciclo di vita, viene scelto il criterio con l'azione con la priorità più alta. Le azioni hanno la priorità seguente, elencate dalla priorità più alta a quella più bassa:
- Forza riavvio
- Riavvia
- Inizio
- Forza arresto
- Interrompi
Per il criterio di ridimensionamento automatico, viene scelto il criterio con il conteggio di istanze più elevato.
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 formato seguente:
<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 consentiti | Caratteri speciali consentiti |
|---|---|---|
| Second |
0 Nota: quando si utilizzano API, CLI o SDK per il ridimensionamento automatico, è necessario specificare 0 come valore per secondi, anche se altri valori creeranno un'espressione cron valida. Non è necessario fornire alcun valore per secondi quando si utilizza la console. |
Nessuno |
| Minuto | 0-59 | * - , / |
| Ora | 0-23 | * - , / |
| Giorno del mese | 1-31 | * - , ? / L W |
| Month | 1-12 o GEN-DEC | * - , / |
| Giorno della settimana. | 1-7 o SUN-SAT | * - , ? / L # |
| Year | 1970-2099 | * - , / |
I caratteri speciali sono descritti nella tabella riportata di seguito.
| Carattere speciale | Descrizione | Esempio |
|---|---|---|
| * | Indica tutti i valori per un campo. | * nel campo mese significa ogni mese. |
| - | Indica un intervallo di valori. | 8-17 nel campo relativo all'ora indica le ore comprese tra le ore 8 e le ore 17 oppure dalle ore 8 a.m. fino alle ore 5.m. |
| , | Indica più valori. | 3,5 nel campo giorno della settimana significa martedì e giovedì. |
| ? |
Non indica valori specifici. Per 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 ogni lunedì. |
| / | Utilizzare n/m per indicare incrementi. Il valore prima della barra è l'ora di inizio e il numero dopo la barra è il valore da aumentare. | 0/20 nel campo dei minuti indica i minuti 0, 20 e 40. |
| L |
Ultimo giorno della settimana o ultimo giorno del mese. Utilizzare la lettera 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 rispetto all'ultimo giorno del mese. Non utilizzare L con più valori o un intervallo di valori. |
L nel campo giorno del mese significa il 31 gennaio, il 28 febbraio in anni non bisestili, e così via. 6L nel campo day-of-the-week indica l'ultimo venerdì del mese. L-5 significa 5 giorni prima dell'ultimo giorno del mese. |
| W |
Giorno della settimana (lunedì - venerdì) che è più vicino al giorno specificato. Il valore non supera i mesi. È possibile combinare i caratteri L e W (LW) nel campo del giorno del mese per indicare l'ultimo giorno 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 il n. xn per indicare il giorno nx del mese. | 5#2 significa il secondo giovedì del mese. |
Esempio di espressioni Cron
Utilizzare queste espressioni cron di esempio come punto di partenza per creare pianificazioni di ridimensionamento automatico personalizzate. Combinare ogni espressione cron con una dimensione del pool di destinazione per creare un criterio di ridimensionamento automatico. Quindi, includere uno o più criteri di ridimensionamento automatico in una configurazione di ridimensionamento automatico.
Obiettivo: una pianificazione occasionale con un solo evento di ridimensionamento. Alle 11:00 del 31 dicembre 2020, ridimensiona un pool di istanze su 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 2020
- Espressione cronologica: 0 0 23 31 12 ? 2020
Obiettivo: una pianificazione occasionale 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 7 marzo 2021, ridimensiona fino a 30 istanze. Avrai bisogno di due criteri di ridimensionamento automatico.
-
Politica 1 - scale out:
- Dimensione pool di destinazione: 75 istanze
- Ora di esecuzione: 10:00 il 1° giorno di marzo 2021
- Espressione cronologica: 0 0 10 1 3 ? 2021
-
Politica 2 - scala in:
- Dimensione pool di destinazione: 30 istanze
- Ora di esecuzione: 4:00 il 7 marzo 2021
- Espressione cronologica: 0 0 16 7 3 ? 2021
Obiettivo: una schedulazione giornaliera periodica. Nelle mattine dei giorni feriali alle 8:30, ridimensiona fino a 10 istanze. Nelle sere dei giorni feriali alle 6 del mattino, scala in due casi. Avrai bisogno di due criteri di ridimensionamento automatico.
-
Politica 1 - Scale out mattutino:
- Dimensione pool di destinazione: 10 istanze
- Orario di esecuzione: dalle 8:30 ogni lunedì al venerdì, ogni mese e ogni anno
- Espressione Cron: 0 30 8 ? * MON-FRI *
-
Politica 2 - scala serale in:
- Dimensione pool di destinazione: 2 istanze
- Orario di esecuzione: dalle 6:00 tutte le ore dal lunedì al venerdì, ogni mese e ogni anno
- Espressione Cron: 0 0 18 ? * MON-FRI *
Obiettivo: schedulazione settimanale periodica. Il martedì e il giovedì, ridimensionare il pool a 30 istanze. In tutti gli altri giorni della settimana, ridimensionare il pool a 20 istanze. Avrai bisogno di due criteri di ridimensionamento automatico.
-
Criterio 1 - Martedì e giovedì:
- Dimensione pool di destinazione: 30 istanze
- Orario di esecuzione: alle 1 ogni martedì e giovedì, ogni mese e ogni anno
- Espressione Cron: 0 0 1 ? * TUE,THU *
-
Politica 2 - tutti gli altri giorni:
- Dimensione pool di destinazione: 20 istanze
- Orario di esecuzione: dalle 1 alle 1 di domenica al lunedì, al mercoledì e al venerdì, ma anche al sabato, ogni mese e ogni anno
- Espressione Cron: 0 0 1 ? * SUN-MON,WED,FRI-SAT *
Obiettivo: una schedulazione mensile ricorrente. In tutti i giorni del mese, impostare la dimensione del pool su 20 istanze. Il 15° giorno del mese, ridimensiona fino a 40 istanze. Avrai bisogno di due criteri di ridimensionamento automatico.
-
Criterio 1 - Dimensione pool giornaliera:
- Dimensione pool di destinazione: 20 istanze
- Orario di esecuzione: mezzanotte di ogni giorno, ogni mese, ogni anno
- Espressione cronologica: 0 0 0 * * ? *
-
Politica 2 - scale out:
- Dimensione pool di destinazione: 40 istanze
- Ora di esecuzione: 12:05 il 15° giorno del mese, ogni mese, ogni anno
- Espressione cronologica: 0 5 0 15 * ? *
Criterio IAM necessario
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 tue esigenze aziendali. È possibile applicare tag quando si crea una risorsa ed è possibile aggiornare una risorsa in un secondo momento per aggiungere, rivedere o rimuovere tag. Per informazioni generali sull'applicazione dei 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 del servizio sufficienti per creare il numero massimo di istanze su cui eseguire lo scale.