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à.
Accelerazione del provisioning della capacità dei cluster Amazon ECS con i fornitori di capacità su Amazon EC2
I clienti che utilizzano Amazon ECS su Amazon EC2 possono sfruttare Amazon ECS Cluster Auto Scaling (CAS) per gestire la scalabilità dei gruppi Amazon Auto EC2 Scaling (ASG). Con CAS, puoi configurare Amazon ECS per scalare automaticamente il tuo ASG e concentrarti solo sull'esecuzione delle tue attività. Amazon ECS garantirà la scalabilità interna e orizzontale dell'ASG in base alle 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 Amazon ECS CAS, consulta Deep Dive on Amazon ECS Cluster Auto Scaling.
Poiché CAS si basa su un'integrazione CloudWatch basata su ASG per regolare la capacità del cluster, ha una latenza intrinseca associata alla pubblicazione delle CloudWatch metriche, al tempo impiegato dalla metrica per CapacityProviderReservation
violare gli CloudWatch allarmi (sia alto che basso) e al tempo impiegato da un'istanza Amazon appena lanciata per il riscaldamento. EC2 Puoi intraprendere le seguenti azioni per rendere CAS più reattivo e velocizzare le implementazioni:
Scalabilità graduale delle dimensioni del provider di capacità
I fornitori di capacità di Amazon ECS alla fine troveranno grow/shrink le istanze di container più adatte a 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 minimumScalingStepSize
utilizzando l'API Amazon ECS per aumentare il numero minimo di istanze scalabili da Amazon ECS alla volta. Un maximumScalingStepSize
valore troppo basso può limitare il numero di istanze di container scalabili contemporaneamente, il che può rallentare le implementazioni.
Nota
Questa configurazione è attualmente disponibile solo utilizzando o. CreateCapacityProvider
UpdateCapacityProvider
APIs
Periodo di riscaldamento dell'istanza
Il periodo di riscaldamento dell'istanza è il periodo di tempo dopo il quale un' EC2 istanza 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 ai fini delle metriche aggregate dell'ASG e CAS 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 utilizzando o per un ridimensionamento più reattivo. CreateCapacityProvider
UpdateCapacityProvider
APIs
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, garantendo 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à graduale 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