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 contenitore 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.

Puoi specificare i vincoli di posizionamento delle attività nella definizione del servizio, nella definizione dell'attività o nell'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 descritto l'utilizzo dei parametri.

Constraint type (Tipo di vincolo) Può essere specificato quando
distinctInstance

Posiziona ogni attività attiva su un'istanza di contenitore diversa.

Amazon ECS esamina lo stato desiderato delle attività per il posizionamento delle attività. Ad esempio, se lo stato desiderato dell'attività esistente èSTOPPED, (ma l'ultimo stato non lo è), una nuova attività in arrivo può essere inserita nella stessa istanza nonostante il vincolo di distinctInstance posizionamento. Pertanto, è possibile che vengano visualizzate 2 attività con l'ultimo stato di nella stessa RUNNING 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. In questo modo si garantisce che questi carichi di lavoro containerizzati non condividano interfacce di rete, spazio di archiviazione temporaneo Fargate o memoria con altre attività. CPU Per ulteriori informazioni, consulta Panoramica della sicurezza di AWS Fargate.

memberOf

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

Quando utilizzi il tipo di memberOf vincolo, puoi creare un'espressione utilizzando il linguaggio di query del cluster che definisce le istanze del contenitore in cui Amazon ECS può collocare le attività. L'espressione è un modo per raggruppare le istanze del contenitore in base agli attributi. L'espressione rientra nel expression parametro di. placementConstraint

Attributi dell'istanza del ECS contenitore Amazon

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 applica ECS automaticamente i seguenti attributi alle istanze di container.

ecs.ami-id

ID dell'istanza AMI utilizzata 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 WINDOWS_SERVER_<OS_Release>_<FULL or CORE> formato. 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 container Windows e Windows containers on AWS Fargate perché la versione del sistema operativo di ogni container 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, consulta Compatibilità con la versione del 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'EC2istanza 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 di metadati Windows ottimizzati ECS per Amazon AMI.

ecs.cpu-architecture

L'CPUarchitettura dell'istanza. I valori di esempio per questo attributo sono x86_64 e ARM64.

ecs.vpc-id

VPCL'istanza in cui è stata lanciata 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.

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, consulta Aumento delle interfacce di rete delle istanze di container Amazon ECS Linux.

ecs.outpost-arn

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

ecs.capability.external

Se questo attributo esiste, l'istanza viene identificata come un'istanza esterna. Per ulteriori informazioni, consulta ECSCluster Amazon per il tipo di lancio esterno.

Attributi personalizzati

Puoi applicare attributi personalizzati alle istanze di container. Ad esempio, puoi 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.