Definisci quali istanze di container Amazon ECS utilizza per le attività - 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à.

Definisci quali istanze di container Amazon ECS utilizza per le attività

Un vincolo di posizionamento delle attività è una regola relativa a un'istanza di container che Amazon ECS utilizza per determinare se l'attività può essere eseguita sull'istanza. Almeno un'istanza di container deve corrispondere al vincolo. Se non sono presenti istanze corrispondenti al vincolo, l'attività rimane in uno stato PENDING. Quando crei un nuovo servizio o ne aggiorni uno esistente, puoi specificare i vincoli di posizionamento delle attività per le attività del servizio.

È possibile specificare i vincoli di posizionamento delle attività nella definizione del servizio, nella definizione delle attività o nelle attività utilizzando il parametro placementConstraint.

"placementConstraints": [ { "expression": "The expression that defines the task placement constraints", "type": "The placement constraint type to use" } ]

Nella tabella seguente viene descritta la modalità di utilizzo di questi parametri.

Tipo di vincolo Può essere specificato quando
distinctInstance

Posizionamento di ciascuna attività attiva in una istanza di container differente.

Amazon ECS esamina lo stato desiderato delle attività per il posizionamento delle stesse. Ad esempio, se lo stato desiderato dell'attività esistente è STOPPED, (ma l'ultimo stato non lo è), una nuova attività in arrivo può essere posizionata nella stessa istanza nonostante il vincolo di posizionamento distinctInstance. Pertanto, è possibile che vengano visualizzate 2 attività con l'ultimo stato di RUNNING nella stessa istanza.

Importante

Consigliamo ai clienti che cercano un forte isolamento per le proprie attività di utilizzare Fargate. Fargate esegue ogni attività in un ambiente di virtualizzazione hardware. Ciò garantisce che tali carichi di lavoro containerizzati non condividono le interfacce di rete, lo spazio di archiviazione temporaneo, la CPU o la memoria di Fargate con altre attività. Per ulteriori informazioni, consulta Panoramica sulla sicurezza di. AWS Fargate

memberOf

Posizionamento delle attività in istanze di container che soddisfano un'espressione.

Quando si utilizza il tipo di vincolo memberOf, è possibile creare un'espressione utilizzando il linguaggio di interrogazione del cluster che definisce le istanze di container in cui Amazon ECS può posizionare le attività. L'espressione è un modo per raggruppare le istanze di container in base agli attributi. L'espressione rientra nel parametro expression di placementConstraint.

Attributi delle istanze di container di Amazon ECS

Puoi aggiungere metadati personalizzati alle istanze di container, note come attributi. Ogni attributo ha un nome e un valore di stringa facoltativo. Puoi utilizzare gli attributi integrati offerti da Amazon ECS oppure definire attributi personalizzati.

Le sezioni seguenti contengono attributi incorporati, facoltativi e personalizzati di esempio.

Attributi integrati

Amazon ECS applica automaticamente i seguenti attributi alle istanze di container.

ecs.ami-id

L'ID dell'AMI utilizzato per avviare l'istanza. Un valore di esempio per questo attributo è ami-1234abcd.

ecs.availability-zone

La zona di disponibilità dell'istanza. Un valore di esempio per questo attributo è us-east-1a.

ecs.instance-type

Il tipo di istanza dell'istanza. Un valore di esempio per questo attributo è g2.2xlarge.

ecs.os-type

Il sistema operativo dell'istanza. I valori possibili per questo attributo sono linux e windows.

ecs.os-family

La versione del sistema operativo dell'istanza.

Per le istanze Linux, il valore valido è LINUX. Per le istanze Windows, ECS imposta il valore nel formato WINDOWS_SERVER_<OS_Release>_<FULL or CORE>. I valori validi sono WINDOWS_SERVER_2022_FULL, WINDOWS_SERVER_2022_CORE, WINDOWS_SERVER_20H2_CORE, WINDOWS_SERVER_2019_FULL, WINDOWS_SERVER_2019_CORE e WINDOWS_SERVER_2016_FULL.

Questo è importante per i contenitori Windows e Windows containers on AWS Fargate perché la versione del sistema operativo di ogni contenitore Windows deve corrispondere a quella dell'host. Se la versione Windows dell'immagine del container è diversa da quella dell'host, il container non si avvia. Per ulteriori informazioni, consultare Compatibilità delle versioni dei container Windows sul sito Web della documentazione Microsoft.

Se il tuo cluster esegue più versioni di Windows, puoi assicurarti che un'attività venga inserita su un' EC2 istanza in esecuzione sulla stessa versione utilizzando il vincolo di posizionamento:. memberOf(attribute:ecs.os-family == WINDOWS_SERVER_<OS_Release>_<FULL or CORE>) Per ulteriori informazioni, consulta Recupero dei metadati dell'AMI Windows ottimizzata per Amazon ECS.

ecs.cpu-architecture

Architettura della CPU per l'istanza. I valori di esempio per questo attributo sono x86_64 e arm64.

ecs.vpc-id

VPC in cui è stata avviata l'istanza. Un valore di esempio per questo attributo è vpc-1234abcd.

ecs.subnet-id

La sottorete utilizzata dall'istanza. Un valore di esempio per questo attributo è subnet-1234abcd.

Nota

Le istanze gestite da Amazon ECS supportano il seguente sottoinsieme di attributi:

  • ecs.subnet-id

  • ecs.availability-zone

  • ecs.instance-type

  • ecs.cpu-architecture

Attributi facoltativi

Amazon ECS può aggiungere i seguenti attributi alle istanze di container.

ecs.awsvpc-trunk-id

Se questo attributo esiste, l'istanza dispone di un'interfaccia di rete trunk. Per ulteriori informazioni, consultare Aumento delle interfacce di rete delle istanze di container Linux di Amazon ECS.

ecs.outpost-arn

Se questo attributo esiste, contiene l'Amazon Resource Name (ARN) dell'Outpost. Per ulteriori informazioni, consultare Amazon Elastic Container Service su AWS Outposts.

ecs.capability.external

Se questo attributo esiste, l'istanza viene identificata come un'istanza esterna. Per ulteriori informazioni, consultare Cluster Amazon ECS per istanze esterne.

Attributi personalizzati

È possibile applicare attributi personalizzati alle istanze di container. Ad esempio, è possibile definire un attributo con il nome "stack" e un valore di "prod".

Quando si specificano attributi personalizzati, è necessario considerare quanto segue.

  • Il name può contenere un massimo di 128 caratteri e può contenere lettere (maiuscole e minuscole), numeri, trattini, caratteri di sottolineatura, barre, barre inverse o punti.

  • Il value può contenere un massimo di 128 caratteri e può contenere lettere (maiuscole e minuscole), numeri, trattini, caratteri di sottolineatura, punti, chiocciola (@), barre, barre inverse, due punti o spazi. Il valore non può contenere spazi iniziali o finali.