Creación de expresiones para definir instancias de contenedor para las tareas de Amazon ECS - Amazon Elastic Container Service

Creación de expresiones para definir instancias de contenedor para las tareas de Amazon ECS

Las consultas de clúster son expresiones que permiten agrupar objetos. Por ejemplo, puede agrupar instancias de contenedor por atributos tales como zona de disponibilidad, tipo de instancia o metadatos personalizados. Para obtener más información, consulte Atributos de instancias de contenedor de Amazon ECS.

Después de haber definido un grupo de instancias de contenedor, puede personalizar Amazon ECS para que ubique tareas en instancias de contenedor basadas en grupo. Para obtener más información, consulte Ejecución de una aplicación como tarea de Amazon ECS y Creación de un servicio de Amazon ECS mediante la consola. También puede aplicar un filtro de grupo al mostrar una lista de instancias de contenedor.

Sintaxis de expresiones

Las expresiones tienen la siguiente sintaxis:

subject operator [argument]
Asunto

El atributo o campo que se va a evaluar.

agentConnected

Seleccione instancias de contenedor por el estado de conexión del agente de contenedor de Amazon ECS. Puede utilizar este filtro para buscar las instancias cuyos agentes de contenedor están desconectados.

Los operadores válidos son: equals (==), not_equals (!=), in, not_in (!in), matches (=~), not_matches (!~)

agentVersion

Seleccione instancias de contenedor según la versión del agente de contenedor de Amazon ECS. Puede utilizar este filtro para buscar las instancias que ejecutan versiones obsoletas del agente de contenedor de Amazon ECS.

Los operadores válidos son: equals (==), not_equals (!=), greater_than (>), greater_than_equal (>=), less_than (<), less_than_equal (<=)

attribute:attribute-name

Selecciona instancias de contenedor según el atributo. Para obtener más información, consulte Atributos de instancias de contenedor de Amazon ECS.

ec2InstanceId

Seleccione instancias de contenedor por el ID de las instancias de Amazon EC2.

Los operadores válidos son: equals (==), not_equals (!=), in, not_in (!in), matches (=~), not_matches (!~)

registeredAt

Selecciona instancias de contenedor por la fecha de registro de la instancia de contenedor. Puede utilizar este filtro para encontrar las instancias que se acaban de registrar o las instancias que son muy antiguas.

Los operadores válidos son: equals (==), not_equals (!=), greater_than (>), greater_than_equal (>=), less_than (<), less_than_equal (<=)

Los formatos de fecha válidos son: 2018-06-18T22:28:28+00:00, 2018-06-18T22:28:28Z, 2018-06-18T22:28:28, 2018-06-18

runningTasksCount

Selecciona instancias de contenedor según el número de tareas en ejecución. Puede utilizar este filtro para encontrar las instancias que estén vacías o casi vacías (con pocas tareas en ejecución).

Los operadores válidos son: equals (==), not_equals (!=), greater_than (>), greater_than_equal (>=), less_than (<), less_than_equal (<=)

task:group

Selecciona instancias de contenedor según el grupo de tareas. Para obtener más información, consulte Agrupación de tareas relacionadas con Amazon ECS .

Operador

El operador de comparación. Se admiten los siguientes operadores.

Operador

Descripción

==, equals

Igualdad de cadena

!=, not_equals

Desigualdad de cadena

>, greater_than

Mayor que

>=, greater_than_equal

Mayor o igual que

<, less_than

Menor que

<=, less_than_equal

Menor o igual que

exists

El asunto existe

!exists, not_exists

El asunto no existe

in

El valor está en la lista de argumentos

!in, not_in

El valor no está en la lista de argumentos

=~, matches

Coincidencia de patrón

!~, not_matches

No hay coincidencia de patrón

nota

Una expresión única no puede contener paréntesis. Sin embargo, se pueden utilizar paréntesis para especificar la prioridad en las expresiones compuestas.

Argumento

Para muchos operadores, el argumento es un valor literal.

Los operadores in y not_in esperan una lista de argumentos como argumento. Una lista de argumentos se especifica del siguiente modo:

[argument1, argument2, ..., argumentN]

Los operadores matches y not_matches esperan un argumento que se ajuste a la sintaxis de la expresión regular Java. Para obtener más información, consulte java.util.regex.Pattern.

Expresiones compuestas

Puede combinar expresiones utilizando los siguientes operadores booleanos:

  • &&, y

  • ||, o bien

  • !, not

Puede especificar prioridad utilizando paréntesis:

(expression1 or expression2) and expression3

Expresiones de ejemplo

A continuación se incluyen expresiones de ejemplo.

Ejemplo: igualdad de cadena

La expresión siguiente selecciona las instancias con el tipo de instancia especificado.

attribute:ecs.instance-type == t2.small
Ejemplo: lista de argumentos

La expresión siguiente selecciona las instancias en la zona de disponibilidad us-east-1a o us-east-1b.

attribute:ecs.availability-zone in [us-east-1a, us-east-1b]
Ejemplo: expresiones compuestas

La siguiente expresión selecciona las instancias G2 que no están en la zona de disponibilidad us-east-1d.

attribute:ecs.instance-type =~ g2.* and attribute:ecs.availability-zone != us-east-1d
Ejemplo: afinidad de tareas

La expresión siguiente selecciona las instancias que alojan tareas en el grupo service:production.

task:group == service:production
Ejemplo: antiafinidad de tareas

La siguiente expresión selecciona las instancias que no alojan tareas en el grupo de base de datos.

not(task:group == database)
Ejemplo: Recuento de tareas en ejecución

La expresión siguiente selecciona las instancias que solo están ejecutando una tarea.

runningTasksCount == 1
Ejemplo: versión del agente de contenedor de Amazon ECS

La expresión siguiente selecciona las instancias que están ejecutando una versión del agente de contenedor anterior a la 1.14.5.

agentVersion < 1.14.5
Ejemplo: Hora de registro de las instancias

La expresión siguiente selecciona las instancias que se han registrado antes del 13 de febrero de 2018.

registeredAt < 2018-02-13
Ejemplo: ID de instancias de Amazon EC2

Esta expresión selecciona las instancias con los siguientes ID de instancias de Amazon EC2.

ec2InstanceId in ['i-abcd1234', 'i-wxyx7890']