Usare le strategie per definire il posizionamento delle attività su 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à.

Usare le strategie per definire il posizionamento delle attività su Amazon ECS

Per le attività che utilizzano il tipo di EC2 avvio, Amazon ECS deve determinare dove collocare l'attività in base ai requisiti specificati nella definizione dell'attività, come CPU e memoria. 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:

  1. Identificazione delle istanze di container che soddisfano i requisiti di memoria, CPU, GPU e porta nella definizione di attività.

  2. Identificazione delle istanze di container che soddisfano i vincoli di posizionamento delle attività.

  3. Identificazione delle istanze di container che soddisfano le strategie di posizionamento delle attività.

  4. Selezione delle istanze di container per il posizionamento delle attività.

È possibile specificare le strategie di posizionamento delle attività nella definizione del servizio o la definizione delle attività utilizzando il parametro placementStrategy.

"placementStrategy": [ { "field": "The field to apply the placement strategy against", "type": "The placement strategy to use" } ]

Puoi specificare le strategie quando esegui un'attività (RunTask), crei un nuovo servizio (CreateService) o aggiorni un servizio esistente (UpdateService).

Nella tabella seguente vengono descritti i tipi e i campi disponibili.

tipo Valori di campo validi
binpack

Le attività vengono posizionate sulle istanze di container in modo da lasciare la quantità minima di CPU o memoria inutilizzata. Questa strategia riduce al minimo il numero di istanze di container in uso.

Quando viene utilizzata questa strategia e viene intrapresa un'operazione di riduzione orizzontale, Amazon ECS termina i processi. Esegui questa operazione in base alla quantità di risorse lasciate sull'istanza di container dopo che il processo è stato terminato. L'istanza di container con il maggior numero di risorse disponibili rimanenti dopo la fine del processo avrà il processo terminato.

  • cpu

  • memory

random

Le attività vengono posizionate in modo casuale.

Non utilizzato
spread

Le attività vengono posizionate in modo uniforme in base al valore specificato.

Le attività di servizio vengono distribuite in base alle attività di tale servizio. Attività standalone sono distribuite sulle attività dallo stesso gruppo di attività. Per ulteriori informazioni sui gruppi di processi, consulta Attività Amazon ECS relative al gruppo .

Quando la strategia spread viene utilizzata e viene intrapresa un'operazione di riduzione orizzontale, Amazon ECS seleziona i processi da terminare che mantengono un equilibrio in tutte le zone di disponibilità. All'interno di una zona di disponibilità, i processi vengono selezionati in modo casuale.

  • instanceId (oppure host, che ha lo stesso effetto)

  • qualsiasi piattaforma o attributo personalizzato applicato a un'istanza di container, ad esempio attribute:ecs.availability-zone

Le strategie di posizionamento delle attività possono essere aggiornate anche per i servizi esistenti. Per ulteriori informazioni, consultare In che modo Amazon ECS colloca le attività sulle istanze di container.

Puoi creare una strategia di posizionamento delle attività che utilizzi più strategie tramite la creazione di una serie di strategie nell'ordine in cui desideri che vengano eseguite. Ad esempio, se desideri distribuire le attività tra le zone di disponibilità e raggrupparle in bin packing in base alla memoria all'interno di ciascuna zona di disponibilità, specifica la strategia della zona di disponibilità seguita dalla strategia della memoria. Per le strategie di esempio, consulta Strategie di collocazione di esempio delle attività di Amazon ECS.