In che modo Amazon ECS colloca le attività sulle istanze dei container
È possibile utilizzare il posizionamento delle attività per configurare Amazon ECS in modo da collocare le tue attività su istanze di container che soddisfano determinati criteri, ad esempio una zona di disponibilità o un tipo di istanza.
Di seguito sono riportati i componenti per il posizionamento delle attività:
-
Strategia di posizionamento delle attività: l'algoritmo per selezionare istanze di container per il posizionamento delle attività o attività per il termine. Ad esempio, Amazon ECS è in grado di selezionare istanze di container a caso oppure in modo tale che i processi vengano distribuiti in modo uniforme all'interno di un gruppo di istanze.
-
Gruppo di attività: un gruppo di attività correlate, ad esempio attività di database.
-
Vincolo di posizionamento delle attività: si tratta di regole che devono essere soddisfatte per inserire un'attività su un'istanza di container. Se il vincolo non viene soddisfatto, l'attività non viene inserita e rimane nello stato
PENDING. Ad esempio, è possibile utilizzare un vincolo per posizionare attività solo su un particolare tipo di istanza.
Amazon ECS dispone di algoritmi differenti per le diverse opzioni di capacità.
Istanze gestite da Amazon ECS
Per le attività eseguite su Istanze gestite da Amazon, Amazon ECS deve determinare dove posizionare l'attività e, quando si riduce verticalmente il numero di attività, quali attività terminare. Amazon ECS effettua questa determinazione in base ai requisiti dell'istanza specificati nel modello di avvio del provider di capacità, ai requisiti specificati nella definizione dell'attività come CPU e memoria e ai vincoli di posizionamento delle attività.
Nota
Le istanze gestite da Amazon ECS non supportano strategie di posizionamento delle attività. Amazon ECS farà del suo meglio per distribuire le attività tra zone di disponibilità accessibili.
Quando Amazon ECS posiziona i processi, utilizza la seguente procedura per selezionare le istanze di container:
-
Identificazione delle istanze di container che soddisfano i requisiti di memoria, CPU, GPU e porta nella definizione di attività.
-
Identificazione delle istanze di container che soddisfano i vincoli di posizionamento delle attività.
-
Identificazione delle istanze di container che soddisfano i requisiti di istanza specificati nel modello di lancio del provider di capacità.
-
Selezione delle istanze di container per il posizionamento delle attività.
EC2
Per attività che utilizzano il tipo di lancio EC2, Amazon ECS deve determinare dove posizionare il processo in base ai requisiti specificati nella definizione di attività, ad esempio relativamente a memoria e CPU. Analogamente, quando riduci orizzontalmente il conteggio di processi, Amazon ECS deve determinare quali processi terminare. Puoi applicare vincoli e strategie di posizionamento dei processi per personalizzare il modo in cui Amazon ECS posizione e termina i processi.
Le strategie di posizionamento dei processi di default dipendono dal fatto che i processi vengano eseguiti manualmente (attività indipendenti) o all'interno di un servizio. Per le attività eseguite come parte di un servizio Amazon ECS, la strategia di posizionamento delle attività è spread e utilizza attribute:ecs.availability-zone. Non è presente un vincolo predefinito per il posizionamento delle attività non nei servizi. Per ulteriori informazioni, consultare Pianificare i container su Amazon ECS.
Nota
Le strategie di posizionamento dei processi si basano sul miglior tentativo. Amazon ECS prova a posizionare i processi anche quando l'opzione di posizionamento ottimale non è disponibile. Tuttavia, i vincoli di posizionamento delle attività sono vincolanti, per cui potrebbero impedire il posizionamento delle attività.
Puoi utilizzare strategie e vincoli di posizionamento delle attività contemporaneamente. Ad esempio, puoi utilizzare una strategia di posizionamento e un vincolo di posizionamento delle attività per distribuire le attività all'interno di zone di disponibilità e raggrupparle in bin packing in base alla memoria all'interno di ciascuna zona di disponibilità, ma solo per quanto riguarda le istanze G2.
Quando Amazon ECS posiziona i processi, utilizza la seguente procedura per selezionare le istanze di container:
-
Identificazione delle istanze di container che soddisfano i requisiti di memoria, CPU, GPU e porta nella definizione di attività.
-
Identificazione delle istanze di container che soddisfano i vincoli di posizionamento delle attività.
-
Identificazione delle istanze di container che soddisfano le strategie di posizionamento delle attività.
-
Selezione delle istanze di container per il posizionamento delle attività.
Fargate
Per attività con Fargate, le strategie e i vincoli di posizionamento dei processi non sono supportati. Fargate farà del suo meglio per distribuire le attività tra zone di disponibilità accessibili. Se il provider di capacità include sia Fargate che Fargate Spot, il comportamento di distribuzione sarà indipendente per ogni provider.