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à.
Comportamento di scalabilità gestito da Amazon ECS
Se disponi di fornitori di capacità di gruppo Auto Scaling che utilizzano la scalabilità gestita, Amazon ECS stima il numero ottimale di istanze da aggiungere al cluster e utilizza il valore per determinare quante istanze richiedere o rilasciare.
Comportamento dell'aumento orizzontale gestito
Amazon ECS seleziona un fornitore di capacità per ogni attività seguendo la strategia del fornitore di capacità dal servizio, dall'attività autonoma o dall'impostazione predefinita del cluster. Amazon ECS segue il resto di questi passaggi per un singolo provider di capacità.
Le attività senza una strategia di fornitore di capacità vengono ignorate dai fornitori di capacità. Un'attività in sospeso che non prevede una strategia del provider di capacità non comporterà l'impiego della scalabilità orizzontale di alcun provider di capacità. Le attività o i servizi non possono configurare una strategia del provider di capacità se tale attività o servizio imposta un tipo di avvio.
Di seguito viene descritto il comportamento dell'aumento orizzontale in modo più dettagliato.
-
Raggruppa tutti i processi di provisioning per questo provider di capacità in modo che ogni gruppo abbia gli stessi requisiti di risorse esatti.
-
Quando utilizzi più istanze in un gruppo con dimensionamento automatico, le istanze all'interno di tale gruppo vengono ordinate in base ai relativi parametri. Questi parametri includono vCPU, memoria, interfacce di rete elastiche (ENIs), porte e. GPUs Vengono selezionati i tipi di istanza più piccoli e più grandi per ciascun parametro. Per ulteriori informazioni su come scegliere il tipo di istanza, consulta. Istanze di EC2 container Amazon per Amazon ECS
Importante
Se un gruppo di attività ha requisiti di risorse superiori al tipo di istanza più piccolo del gruppo con dimensionamento automatico, quel gruppo di attività non può essere eseguito con questo provider di capacità. Il provider di capacità non dimensiona il gruppo con dimensionamento automatico. Le attività rimangono nello stato
PROVISIONING
.Per evitare che le attività rimangano nello stato
PROVISIONING
, consigliamo di creare gruppi con dimensionamento automatico e provider di capacità separati per diversi requisiti minimi di risorse. Quando esegui attività o crei servizi, aggiungi solo provider di capacità alla strategia del provider di capacità in grado di eseguire l'attività sul tipo di istanza più piccolo del gruppo con dimensionamento automatico. Per altri parametri, puoi utilizzare i vincoli di posizionamento -
Per ogni gruppo di attività, Amazon ECS calcola il numero di istanze necessarie per eseguire le attività non posizionate. Questo calcolo utilizza una strategia
binpack
. Questa strategia tiene conto della vCPU, della memoria, delle interfacce di rete elastiche (ENI), delle porte e dei GPUs requisiti delle attività. Inoltre, tiene conto della disponibilità delle risorse delle EC2 istanze Amazon. I valori per i tipi di istanza più grandi sono considerati quale numero massimo di istanze calcolato. I valori per il tipo di istanza più piccolo vengono utilizzati come protezione. Se il tipo di istanza più piccolo non può eseguire almeno un'istanza dell'attività, il calcolo considera l'attività come non compatibile. Di conseguenza, l'attività viene esclusa dal calcolo dell'aumento orizzontale. Quando tutte le attività non sono compatibili con il tipo di istanza più piccolo, il dimensionamento automatico del cluster si interrompe e il valoreCapacityProviderReservation
rimanetargetCapacity
. -
Amazon ECS pubblica la
CapacityProviderReservation
metrica in CloudWatch relazione alminimumScalingStepSize
caso in cui si verifichi una delle seguenti condizioni.-
Il numero massimo di istanze calcolato è inferiore alla dimensione minima del passaggio di scalabilità.
-
Il valore più basso
maximumScalingStepSize
o quello massimo del conteggio delle istanze calcolate.
-
-
CloudWatch gli allarmi utilizzano la
CapacityProviderReservation
metrica per i fornitori di capacità. Quando il parametroCapacityProviderReservation
è maggiore del valore ditargetCapacity
, gli allarmi aumentano anche laDesiredCapacity
del gruppo con scalabilità automatica. IltargetCapacity
valore è un'impostazione del provider di capacità che viene inviata all' CloudWatch allarme durante la fase di attivazione dell'auto scaling del cluster.L'impostazione predefinita
targetCapacity
è 100%. -
Il gruppo Auto Scaling avvia istanze aggiuntive. EC2 Per evitare l'over-provisioning, Auto Scaling assicura che la capacità delle EC2 istanze lanciate di recente sia stabilizzata prima del lancio di nuove istanze. La scalabilità automatica verifica se tutte le istanze esistenti hanno superato il
instanceWarmupPeriod
(ora meno il tempo di avvio dell'istanza). La scalabilità orizzontale è bloccata per le istanze che si trovano all'interno di.instanceWarmupPeriod
Il tempo di default per il riscaldamento di un'istanza appena avviata è di 300 secondi.
Per maggiori informazioni, consulta Approfondimento sulla scalabilità automatica del cluster Amazon ECS
Considerazioni sull'aumento orizzontale
Considera quanto segue per il processo di aumento orizzontale:
-
Sebbene esistano più vincoli di collocamento, è consigliabile utilizzare solo il vincolo
distinctInstance
per la collocazione delle attività. Ciò impedisce l'arresto del processo di aumento orizzontale in seguito all'utilizzo di un vincolo di posizionamento non compatibile con le istanze campionate. -
La scalabilità gestita funziona meglio se il gruppo Auto Scaling utilizza tipi di istanza uguali o simili.
-
Quando è necessario un processo di scalabilità orizzontale e non sono presenti istanze di container attualmente in esecuzione, inizialmente Amazon ECS impiega sempre la scalabilità orizzontale fino a due istanze, quindi esegue processi di scalabilità orizzontale o ridimensionamento aggiuntivi. Qualsiasi ulteriore impiego della scalabilità orizzontale attende il periodo di preparazione dell'istanza. Per i processi di ridimensionamento, Amazon ECS attende 15 minuti dopo un processo di scalabilità orizzontale prima di avviare in qualsiasi momento i processi di ridimensionamento.
-
La seconda fase di aumento orizzontale deve attendere fino allo scadere del
instanceWarmupPeriod
, che potrebbe influire sul limite di scalabilità complessivo. Se devi ridurre questo tempo, assicurati cheinstanceWarmupPeriod
sia sufficientemente grande da consentire all' EC2istanza di avviare e avviare l'agente Amazon ECS (che impedisce l'overprovisioning). -
Il dimensionamento automatico del cluster supporta la configurazione di avvio, i modelli di avvio e più tipi di istanze nel gruppo con dimensionamento automatico del provider di capacità. Puoi inoltre utilizzare la selezione del tipo di istanza basata su attributi senza molteplici tipi di istanze.
-
Quando utilizzi un gruppo Auto Scaling con istanze on demando e più tipi di istanza o istanze Spot, posiziona i tipi di istanza più grandi più in alto nell'elenco di priorità e non specificare un peso. Al momento la specifica di un peso non è supportata. Per ulteriori informazioni, consulta Gruppi Auto Scaling con più tipi di istanze nella Guida per l'utente di AWS Auto Scaling .
-
Amazon ECS avvierà quindi
minimumScalingStepSize
, se il conteggio massimo delle istanze calcolate è inferiore alla dimensione minima del passo di dimensionamento o il valore inferiore dimaximumScalingStepSize
o del valore massimo del conteggio delle istanze calcolato. -
Se un servizio Amazon ECS o
run-task
avvia un'attività e le istanze del container del Capacity Provider non dispongono di risorse sufficienti per avviare l'attività, Amazon ECS limita il numero di attività con questo stato per ogni cluster e impedisce che qualsiasi attività superi questo limite. Per ulteriori informazioni, consulta Service Quotas di Amazon ECS.
Comportamento di riduzione orizzontale gestita
Amazon ECS monitora le istanze di container per ciascun provider di capacità all'interno di un cluster. Quando un'istanza di container non esegue alcuna attività, viene considerata vuota e Amazon ECS avvia il processo di ridimensionamento.
CloudWatch gli allarmi scale-in richiedono 15 punti dati (15 minuti) prima dell'avvio del processo di scalabilità per il gruppo Auto Scaling. Dopo l'avvio del processo di riduzione orizzontale, fino a quando Amazon ECS non ha bisogno di ridurre il numero di istanze di container registrate, il gruppo con scalabilità automatica imposta il valore DesireCapacity
di modo che sia superiore a un'istanza e inferiore al 50% ogni minuto.
Quando Amazon ECS richiede un aumento orizzontale (quando CapacityProviderReservation
è maggiore di 100) mentre è in corso un processo di riduzione orizzontale, il processo di riduzione orizzontale viene interrotto e ricomincerà daccapo, se necessario.
Di seguito viene descritto il comportamento del ridimensionamento in modo più dettagliato:
-
Amazon ECS calcola il numero di istanze di container vuote. Un'istanza di container è considerata vuota quando non sono in esecuzione attività daemon.
-
Amazon ECS imposta il valore
CapacityProviderReservation
su un numero compreso tra 0 e 100 che utilizza la seguente formula per rappresentare il rapporto tra la dimensione prevista del gruppo con dimensionamento automatico e la sua dimensione effettiva, espresso in percentuale. Quindi, Amazon ECS pubblica la metrica su. CloudWatch Per maggiori informazioni su come viene calcolato il parametro, consulta Approfondimento sul dimensionamento automatico del cluster Amazon ECSCapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
-
La
CapacityProviderReservation
metrica genera un allarme. CloudWatch Questo allarme aggiorna il valore diDesiredCapacity
per il gruppo Auto Scaling. Quindi, si verifica una delle seguenti operazioni:-
Se non si utilizza la terminazione gestita dal provider di capacità, il gruppo Auto Scaling EC2 seleziona le istanze utilizzando la politica di terminazione del gruppo Auto Scaling e termina le istanze finché il numero di istanze non raggiunge il. EC2
DesiredCapacity
Viene quindi annullata la registrazione delle istanze di container dal cluster. -
Se tutte le istanze di container utilizzano la protezione da terminazione gestita, Amazon ECS rimuove la protezione da ridimensionamento sulle istanze di container vuote. Il gruppo Auto Scaling sarà quindi in grado di terminare le istanze. EC2 Viene quindi annullata la registrazione delle istanze di container dal cluster.
-