Ejemplos de restricciones para ubicación de tareas de Amazon ECS - Amazon Elastic Container Service

Ejemplos de restricciones para ubicación de tareas de Amazon ECS

A continuación, se muestran ejemplos de restricción de ubicación de tareas.

En este ejemplo, se utiliza la restricción memberOf para colocar tareas en instancias t2. Se puede especificar con las acciones siguientes: CreateService, UpdateService, RegisterTaskDefinition y RunTask.

"placementConstraints": [ { "expression": "attribute:ecs.instance-type =~ t2.*", "type": "memberOf" } ]

En el ejemplo, se utiliza la restricción memberOf para ubicar tareas de réplica en instancias con otras tareas en el grupo de tareas daemon-service del servicio de daemon, respetando las estrategias de ubicación de tareas que también se especifican. Esta restricción garantiza que las tareas del servicio de daemon se coloquen en la instancia de EC2 antes que las tareas del servicio de réplica.

Sustituya daemon-service por el nombre del servicio de daemon.

"placementConstraints": [ { "expression": "task:group == service:daemon-service", "type": "memberOf" } ]

En el ejemplo, se utiliza la restricción memberOf para ubicar tareas en instancias con otras tareas en el grupo de tareas databases, respetando las estrategias de ubicación de tareas que también se especifiquen. Para obtener más información acerca de los grupos de tareas, consulte Agrupación de tareas relacionadas con Amazon ECS . Se puede especificar con las acciones siguientes: CreateService, UpdateService, RegisterTaskDefinition y RunTask.

"placementConstraints": [ { "expression": "task:group == databases", "type": "memberOf" } ]

La restricción distinctInstance ubica cada tarea del grupo en una instancia diferente. Se puede especificar mediante las siguientes acciones: CreateService, UpdateService y RunTask

Amazon ECS analiza el estado deseado de las tareas para su colocación. Por ejemplo, si el estado deseado de la tarea existente es STOPPED (pero el último estado no lo es), se puede colocar una nueva tarea entrante en la misma instancia a pesar de la restricción de ubicación de distinctInstance. Por lo tanto, es posible que vea 2 tareas con el último estado de RUNNING en la misma instancia.

"placementConstraints": [ { "type": "distinctInstance" } ]