Exemple de contraintes de placement de tâche Amazon ECS
Voici des exemples de contraintes de placement des tâches.
Cet exemple utilise la contrainte memberOf pour placer des tâches sur des instances t2. Elle peut être spécifiée avec les actions suivantes : CreateService, UpdateService, RegisterTaskDefinition et RunTask.
"placementConstraints": [ { "expression": "attribute:ecs.instance-type =~ t2.*", "type": "memberOf" } ]
L'exemple utilise la contrainte memberOf pour placer des tâches de réplica sur des instances avec des tâches dans le groupe de tâches daemon-service du service démon, en respectant les stratégies de placement des tâches qui sont également spécifiées. Cette contrainte garantit que les tâches de service démon sont placées sur l'instance EC2 avant les tâches de service de réplica.
Remplacez daemon-service par le nom du service démon.
"placementConstraints": [ { "expression": "task:group == service:daemon-service", "type": "memberOf" } ]
L'exemple utilise la contrainte memberOf pour placer des tâches sur des instances avec d'autres tâches dans le groupe de tâches databases, en respectant les stratégies de placement des tâches qui sont également spécifiées. Pour de plus amples informations sur les groupes de tâches, veuillez consulter Tâches Amazon ECS liées au groupe . Elle peut être spécifiée avec les actions suivantes : CreateService, UpdateService, RegisterTaskDefinition et RunTask.
"placementConstraints": [ { "expression": "task:group == databases", "type": "memberOf" } ]
La contrainte distinctInstance place chaque tâche du groupe sur une instance différente. Elle peut être spécifiée avec les actions suivantes : CreateService, UpdateService et RunTask.
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 STOPPED (mais que le dernier statut ne l’est pas), une nouvelle tâche entrante peut être placée sur la même instance malgré la contrainte de placement distinctInstance. En conséquence, vous pouvez voir deux tâches dont le dernier statut est RUNNING sur la même instance.
"placementConstraints": [ { "type": "distinctInstance" } ]