Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Définissez les instances de conteneur qu'Amazon ECS utilise pour les tâches
Une contrainte de placement de tâche est une règle concernant une instance de conteneur qu'Amazon ECS utilise pour déterminer si la tâche est autorisée à s'exécuter sur l'instance. Au moins une instance de conteneur doit correspondre à la contrainte. Si aucune instance ne correspond à la contrainte, la tâche reste à l'état PENDING
. Lorsque vous créez un nouveau service ou que vous mettez à jour un service existant, vous pouvez définir des contraintes de placement des tâches pour les tâches du service.
Vous pouvez spécifier les contraintes de placement des tâches dans la définition du service, la définition de la tâche ou la tâche à l'aide du placementConstraint
paramètre.
"placementConstraints": [ { "expression": "The expression that defines the task placement constraints", "type": "The placement constraint type to use" } ]
Le tableau suivant décrit comment utiliser les paramètres.
Constraint type (Type de contrainte) | Peut être spécifié quand |
---|---|
distinctInstance Placez chaque tâche active sur une instance de conteneur différente. Amazon ECS examine le statut souhaité des tâches pour le placement des tâches. Par exemple, si le statut souhaité de la tâche existante est Important Nous recommandons aux clients qui recherchent une isolation solide pour leurs tâches d'utiliser Fargate. Fargate exécute chaque tâche dans un environnement de virtualisation matérielle. Cela garantit que ces charges de travail conteneurisées ne partagent pas les interfaces réseau, le stockage éphémère Fargate, le processeur ou la mémoire avec d'autres tâches. Pour plus d'informations, consultez la section Présentation de la sécurité de AWS Fargate |
|
memberOf Place les tâches sur des instances de conteneur qui correspondent à une expression. |
|
Lorsque vous utilisez le type de memberOf
contrainte, vous pouvez créer une expression à l'aide du langage de requête de cluster qui définit les instances de conteneur dans lesquelles Amazon ECS peut placer des tâches. L'expression vous permet de regrouper vos instances de conteneur par attributs. L'expression entre dans le expression
paramètre deplacementConstraint
.
Attributs de l'instance de conteneur Amazon ECS
Vous pouvez ajouter à vos instances de conteneur des métadonnées personnalisées connues sous le nom d'attributs. Chaque attribut a un nom et une valeur de chaîne facultative. Vous pouvez utiliser les attributs intégrés fournis par Amazon ECS ou définir des attributs personnalisés.
Les sections suivantes contiennent des exemples d'attributs intégrés, facultatifs et personnalisés.
Attributs intégrés
Amazon ECS applique automatiquement les attributs suivants à vos instances de conteneur.
ecs.ami-id
-
ID de l’AMI utilisée pour lancer l’instance. Cet attribut peut par exemple avoir la valeur
ami-1234abcd
. ecs.availability-zone
-
Zone de disponibilité de l'instance. Cet attribut peut par exemple avoir la valeur
us-east-1a
. ecs.instance-type
-
Type de l'instance. Cet attribut peut par exemple avoir la valeur
g2.2xlarge
. ecs.os-type
-
Système d'exploitation de l'instance. Les valeurs possibles pour cet attribut sont
linux
etwindows
. ecs.os-family
-
Version du système d'exploitation de l'instance.
Pour les instances Linux, la valeur valide est
LINUX
. Pour les instances Windows, ECS définit la valeur au formatWINDOWS_SERVER_<
. Les valeurs valides sontOS_Release
>_<FULL or CORE
>WINDOWS_SERVER_2022_FULL
,WINDOWS_SERVER_2022_CORE
,WINDOWS_SERVER_20H2_CORE
,WINDOWS_SERVER_2019_FULL
,WINDOWS_SERVER_2019_CORE
etWINDOWS_SERVER_2016_FULL
.Cela est important pour les conteneurs Windows et Windows containers on AWS Fargate parce que la version du système d'exploitation de chaque conteneur Windows doit correspondre à celle de l'hôte. Si la version Windows de l'image du conteneur est différente de celle de l'hôte, le conteneur ne démarre pas. Pour plus d'informations, consultez Compatibilité avec la version du conteneur Windows
sur le site web de documentation Microsoft. Si votre cluster exécute plusieurs versions de Windows, vous pouvez vous assurer qu'une tâche est placée sur une EC2 instance exécutée sur la même version en utilisant la contrainte de placement :
memberOf(attribute:ecs.os-family == WINDOWS_SERVER_<OS_Release>_<FULL or CORE>)
. Pour de plus amples informations, veuillez consulter Récupération des métadonnées de l'AMI Windows optimisées pour Amazon ECS. ecs.cpu-architecture
-
Architecture du processeur de l'instance. Cet attribut peut par exemple avoir la valeur
x86_64
ouarm64
. ecs.vpc-id
-
VPC dans lequel l'instance a été lancée. Cet attribut peut par exemple avoir la valeur
vpc-1234abcd
. ecs.subnet-id
-
Sous-réseau utilisé par l'instance. Cet attribut peut par exemple avoir la valeur
subnet-1234abcd
.
Attributs facultatifs
Amazon ECS peut ajouter les attributs suivants à vos instances de conteneur.
ecs.awsvpc-trunk-id
-
Si cet attribut existe, l'instance dispose d'une interface réseau de jonction. Pour de plus amples informations, veuillez consulter Augmenter les interfaces réseau des instances de conteneur Linux Amazon ECS.
ecs.outpost-arn
-
Si cet attribut existe, il contient l'Amazon Resource Name (ARN) de l'Outpost. Pour de plus amples informations, veuillez consulter Amazon Elastic Container Service sur AWS Outposts.
ecs.capability.external
-
Si cet attribut existe, l'instance est identifiée en tant qu'instance externe. Pour de plus amples informations, veuillez consulter Clusters Amazon ECS pour le type de lancement externe.
Attributs personnalisés
Vous pouvez appliquer des attributs personnalisés à vos instances de conteneur. Par exemple, vous pouvez définir un attribut avec le nom « stack » et la valeur « prod ».
Lorsque vous spécifiez des attributs personnalisés, vous devez prendre en compte les éléments suivants.
-
Le
name
doit comprendre entre 1 et 128 caractères et peut contenir des lettres (majuscules et minuscules), des chiffres, des tirets, des traits de soulignement, des barres obliques et des points. -
Le
value
doit comprendre entre 1 et 128 caractères et peut contenir des lettres (majuscules et minuscules), des chiffres, des tirets, des traits de soulignement, des points, des arrobases, des barres obliques, des deux-points et des espaces. La valeur ne peut pas contenir d'espaces de début ou de fin.