Ridimensiona automaticamente il tuo servizio Amazon ECS - Amazon Elastic Container Service

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à.

Ridimensiona automaticamente il tuo servizio Amazon ECS

La scalabilità automatica è la capacità di aumentare o diminuire automaticamente il numero di processi nel servizio Amazon ECS. Amazon ECS utilizza il servizio di Application Auto Scaling per fornire questa funzionalità. Per ulteriori informazioni, consulta la Guida per l'utente di Application Auto Scaling.

Amazon ECS pubblica CloudWatch parametri con l'utilizzo medio di CPU e memoria del tuo servizio. Per ulteriori informazioni, consulta Utilizzo del servizio. Puoi utilizzare queste e altre CloudWatch metriche per scalare il tuo servizio (aggiungere altre attività) per far fronte a una domanda elevata nelle ore di punta e scalare il servizio (eseguire meno attività) per ridurre i costi nei periodi di basso utilizzo.

Amazon ECS Service Auto Scaling supporta i seguenti tipi di scalabilità automatica:

Considerazioni

Quando usi le policy di dimensionamento, tieni in considerazione quanto segue:

  • Amazon ECS invia i parametri a intervalli di 1 minuto a. CloudWatch Le metriche non sono disponibili finché i cluster e i servizi non le inviano a e non è possibile creare CloudWatch CloudWatch allarmi per metriche che non esistono.

  • Le policy di dimensionamento supportano un periodo di attesa. Questo è il numero di secondi da attendere per rendere effettiva un'attività di dimensionamento precedente.

    • Per gli eventi di dimensionamento orizzontale, l'intenzione è di aumentare continuamente (ma non eccessivamente). Dopo che la scalabilità automatica dei servizi ha correttamente eseguito il dimensionamento orizzontale tramite una policy di dimensionamento, inizia a calcolare il periodo di attesa. La policy di dimensionamento non aumenterà di nuovo la capacità desiderata, a meno che non venga attivato un aumento orizzontale o che venga raggiunto il tempo di raffreddamento. Mentre è attivo il periodo di attesa di incremento, la capacità aggiunta dall'attività di incremento iniziale viene calcolata come parte della capacità desiderata per il successivo evento di incremento.

    • Per gli eventi di riduzione orizzontale, l'intenzione è di ridurre orizzontalmente in modo conservativo per proteggere la disponibilità dell'applicazione, in modo che le attività di riduzione siano bloccate fino alla scadenza del tempo di raffreddamento. Tuttavia, se un altro allarme attiva un'attività di aumento orizzontale durante il tempo di raffreddamento di riduzione orizzontale, Service Auto Scaling esegue immediatamente la riduzione orizzontale della destinazione. In questo caso, il periodo di attesa di riduzione si interrompe e non viene completato.

  • Lo scheduler di servizi rispetta il numero desiderato in qualsiasi momento, ma fino a quando avrai policy di dimensionamento e allarmi su un servizio attivi, Service Auto Scaling potrebbe modificare un numero desiderato da te impostato manualmente.

  • Se il numero desiderato di un servizio è impostato al di sotto del valore minimo di capacità e un allarme avvia un'attività di scalabilità orizzontale, Service Auto Scaling ridimensiona il conteggio desiderato fino al valore di capacità minimo e quindi continua a scalare in base alle esigenze, in base alla politica di scalabilità associata all'allarme. Tuttavia, un'attività di dimensionamento in riduzione non modifica il numero desiderato, poiché esso è già inferiore al valore di capacità minimo.

  • Se il numero desiderato di un servizio è impostato al di sopra del valore di capacità massima e un allarme avvia una scalabilità dell'attività, Service Auto Scaling ridimensiona il conteggio desiderato fino al valore di capacità massima e quindi continua a scalare secondo necessità, in base alla politica di scalabilità associata all'allarme. Tuttavia, un'attività di aumento non modifica il numero desiderato, poiché esso è già superiore al valore di capacità massimo.

  • Durante le attività di dimensionamento, il numero reale delle attività in esecuzione in un servizio è il valore che Service Auto Scaling utilizza come punto di partenza, in contrapposizione al numero desiderato. Questo è ciò che dovrebbe essere la capacità di elaborazione. In questo modo si impedisce un dimensionamento eccessivo (fuori controllo) che non può essere soddisfatto, ad esempio, se non ci sono sufficienti risorse di istanze di container per inserire le attività aggiuntive. Se la capacità dell'istanza di container è disponibile in un secondo momento, l'attività di dimensionamento in attesa potrebbe andare a buon fine e, quindi, le attività di dimensionamento potrebbero continuare dopo il periodo di attesa.

  • Se desideri che il numero di attività venga dimensionato a zero quando non è necessario eseguire alcuna operazione, imposta una capacità minima pari a 0. Con le policy di dimensionamento con monitoraggio degli obiettivi, quando la capacità effettiva è 0 e il parametro indica che esiste una domanda di carico di lavoro, Service Auto Scaling attende l'invio di un punto dati prima del dimensionamento orizzontale. In questo caso, viene dimensionato in base alla quantità minima possibile come punto di partenza e quindi riprende il dimensionamento in base al numero effettivo di processi in esecuzione.

  • Application Auto Scaling disattiva la riduzione dei processi mentre sono in corso le implementazioni di Amazon ECS. Tuttavia, durante l'implementazione i processi di dimensionamento orizzontale continuano a verificarsi, a meno che non siano sospesi. Per ulteriori informazioni, consulta Scalabilità automatica e implementazioni dei servizi.

  • Sono disponibili diverse opzioni di Application Auto Scaling per le attività di Amazon ECS. Il monitoraggio degli obiettivi è la modalità più semplice da utilizzare, in quanto è necessario soltanto impostare un valore target per un parametro, ad esempio l'utilizzo medio della CPU. L'autoscaler gestisce automaticamente il numero di attività necessarie per raggiungere tale valore. Il dimensionamento per fasi consente di reagire più rapidamente alle variazioni della domanda, poiché si definiscono le soglie specifiche per i parametri di dimensionamento e il numero di attività da aggiungere o rimuovere quando le soglie vengono superate. In particolare, consente di reagire molto rapidamente alle variazioni della domanda riducendo al minimo il tempo di superamento di una soglia di allarme.

Scalabilità automatica e implementazioni dei servizi

Application Auto Scaling disattiva la riduzione dei processi mentre sono in corso le implementazioni di Amazon ECS. Tuttavia, durante un'implementazione i processi di dimensionamento orizzontale continuano a verificarsi, a meno che non vengano sospesi. Se desideri sospendere i processi di scalabilità orizzontale durante le implementazioni in corso, attieniti alla seguente procedura.

  1. Chiama il describe-scalable-targetscomando, specificando l'ID della risorsa del servizio associato alla destinazione scalabile in Application Auto Scaling (Esempio:). service/default/sample-webapp Registra l'output. Ne avrai bisogno quando chiamerai il comando successivo.

  2. Richiamate il register-scalable-targetcomando, specificando l'ID della risorsa, lo spazio dei nomi e la dimensione scalabile. Specifica true sia per DynamicScalingInSuspended che per DynamicScalingOutSuspended.

  3. Una volta completata la distribuzione, puoi chiamare il register-scalable-targetcomando per riprendere il ridimensionamento.

Per ulteriori informazioni, consulta Sospensione e ripresa del dimensionamento per Application Auto Scaling.