Ottimizza la scalabilità automatica dei cluster 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à.

Ottimizza la scalabilità automatica dei cluster Amazon ECS

I clienti che eseguono Amazon ECS su Amazon EC2 possono sfruttare la scalabilità automatica del cluster per gestire la scalabilità dei gruppi Amazon Auto Scaling EC2 . Con Cluster Auto Scaling, puoi configurare Amazon ECS per scalare automaticamente il tuo gruppo Auto Scaling e concentrarti solo sull'esecuzione delle tue attività. Amazon ECS garantisce la scalabilità interna e orizzontale del gruppo Auto Scaling secondo necessità senza ulteriori interventi. I provider di capacità di Amazon ECS vengono utilizzati per gestire l'infrastruttura del cluster assicurando che ci siano abbastanza istanze di container per soddisfare le esigenze dell'applicazione. Per scoprire come funziona la scalabilità automatica dei cluster, consulta Deep Dive on Amazon ECS Cluster Auto Scaling.

La scalabilità automatica del cluster si basa su un'integrazione CloudWatch basata con il gruppo Auto Scaling per la regolazione della capacità del cluster. Pertanto ha una latenza intrinseca associata a

  • Pubblicazione delle metriche, CloudWatch

  • Il tempo impiegato dalla metrica per CapacityProviderReservation violare gli CloudWatch allarmi (sia alti che bassi)

  • Il tempo impiegato da un' EC2 istanza Amazon appena lanciata per il riscaldamento. È possibile intraprendere le seguenti azioni per rendere la scalabilità automatica del cluster più reattiva per implementazioni più rapide:

Dimensioni di scalabilità graduale del provider di capacità

I fornitori di capacità di Amazon ECS sceglieranno grow/shrink le istanze di container per soddisfare le esigenze della tua applicazione. Il numero minimo di istanze che Amazon ECS avvierà è impostato su 1 per impostazione predefinita. Ciò può aggiungere ulteriore tempo alle distribuzioni, se sono necessarie più istanze per collocare le attività in sospeso. Puoi aumentarlo minimumScalingStepSizetramite l'API Amazon ECS per aumentare il numero minimo di istanze scalabili da Amazon ECS alla volta. Un maximumScalingStepSizevalore troppo basso può limitare il numero di istanze di container scalabili contemporaneamente, il che può rallentare le implementazioni.

Nota

Questa configurazione è attualmente disponibile solo tramite o. CreateCapacityProviderUpdateCapacityProvider APIs

Periodo di riscaldamento dell'istanza

Il periodo di riscaldamento dell'istanza è il periodo di tempo dopo il quale un' EC2istanza Amazon appena lanciata può contribuire ai CloudWatch parametri per il gruppo Auto Scaling. Dopo la scadenza del periodo di riscaldamento specificato, l'istanza viene conteggiata nelle metriche aggregate del gruppo Auto Scaling e l'autoscaling del cluster procede con la successiva iterazione di calcoli per stimare il numero di istanze richieste.

Il valore predefinito per instanceWarmupPeriodè 300 secondi, che è possibile configurare su un valore inferiore tramite o per un ridimensionamento più reattivo. CreateCapacityProviderUpdateCapacityProvider APIs Si consiglia di impostare il valore su un valore superiore a 60 secondi in modo da evitare un eccesso di provisioning.

Capacità inutilizzata

Se il tuo provider di capacità non dispone di istanze di container per l'inserimento delle attività, deve aumentare (scalare) la capacità del cluster avviando EC2 immediatamente le istanze Amazon e attendere che si avviino prima di poter avviare contenitori su di esse. Ciò può ridurre in modo significativo la frequenza di avvio delle attività. Hai due opzioni qui.

In questo caso, disporre di EC2 capacità Amazon di riserva già avviata e pronta per l'esecuzione delle attività aumenterà la percentuale effettiva di avvio delle attività. Puoi utilizzare la Target Capacity configurazione per indicare che desideri mantenere la capacità inutilizzata nei tuoi cluster. Ad esempio, Target Capacity impostando l'80%, si indica che il cluster necessita sempre del 20% di capacità di riserva. Questa capacità di riserva può consentire l'avvio immediato di qualsiasi attività autonoma, assicurando che l'avvio delle attività non venga limitato. Il compromesso di questo approccio è il potenziale aumento dei costi legati al mantenimento della capacità di riserva del cluster.

Un approccio alternativo che puoi prendere in considerazione è quello di aggiungere spazio di crescita al tuo servizio, non al fornitore di capacità. Ciò significa che invece di ridurre la Target Capacity configurazione per avviare la capacità di riserva, è possibile aumentare il numero di repliche nel servizio modificando la metrica di tracciamento della scalabilità di destinazione o le soglie di scalabilità per fasi del servizio auto scaling. Tieni presente che questo approccio sarà utile solo per i carichi di lavoro con picchi di lavoro, ma non avrà alcun effetto quando distribuisci nuovi servizi e passi da 0 a N attività per la prima volta. Per ulteriori informazioni sulle politiche di scalabilità correlate, consulta Target Tracking Scaling Policies o Step Scaling Policies nella Amazon Elastic Container Service Developer Guide.