Usa strategie per definire il posizionamento delle attività di 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à.

Usa strategie per definire il posizionamento delle attività di 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 delle attività predefinite dipendono dal fatto che le attività vengano eseguite manualmente (attività autonome) 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 esiste un vincolo predefinito di posizionamento delle attività per le attività non incluse nei servizi. Per ulteriori informazioni, consulta Pianifica i tuoi contenitori 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. Identifica le istanze del contenitore che soddisfano i requisiti di CPU, GPU, memoria e porta nella definizione dell'attività.

  2. Identifica le istanze del contenitore che soddisfano i vincoli di posizionamento delle attività.

  3. Identifica le istanze del contenitore che soddisfano le strategie di posizionamento delle attività.

  4. Seleziona le istanze del contenitore per il posizionamento delle attività.

Le strategie di posizionamento delle attività vengono specificate nella definizione del servizio o la definizione dell'attività utilizzando il placementStrategy parametro.

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

È possibile specificare le strategie quando si esegue un'attività (RunTask), si crea un nuovo servizio (CreateService) o si aggiorna un servizio esistente (UpdateService).

La tabella seguente descrive 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(oppurehost, che ha lo stesso effetto)

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

Le strategie di posizionamento delle attività possono essere aggiornate anche per i servizi esistenti. Per ulteriori informazioni, consulta 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 Esempi di strategie di collocamento delle attività di Amazon ECS.