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 des contraintes de placement des tâches dans la définition du service, dans la définition de la tâche ou dans la tâche à l’aide du paramètre placementConstraint.
"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 |
|---|---|
distinctInstancePlace chaque tâche 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 forte 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, l’UC 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 |
|
memberOfPlace les tâches sur des instances de conteneur qui correspondent à une expression. |
|
Lorsque vous utilisez le type de contrainte memberOf, 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 va dans le paramètre expression de placementConstraint.
Attributs d’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
linuxetwindows. 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_COREetWINDOWS_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 Extraction des métadonnées d’AMI Windows optimisée pour Amazon ECS. ecs.cpu-architecture-
Architecture du processeur de l'instance. Cet attribut peut par exemple avoir la valeur
x86_64ouarm64. 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.
Note
Les instances gérées Amazon ECS prennent en charge le sous-ensemble d’attributs suivant :
ecs.subnet-idecs.availability-zoneecs.instance-typeecs.cpu-architecture
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 Augmentation des interfaces réseau d’une instance de conteneur Amazon ECS Linux.
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 instances externes.
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
namedoit 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
valuedoit 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.