Registro de varios grupos de destino con un servicio - Amazon Elastic Container Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro de varios grupos de destino con un servicio

Su servicio de Amazon ECS puede servir el tráfico desde varios balanceadores de carga y exponer varios puertos con balance de carga cuando se especifican varios grupos de destino en una definición de servicio.

Actualmente, si desea crear un servicio especificando varios grupos de destino, debe crear el servicio mediante la API de Amazon ECS, el SDK, la AWS CLI o una plantilla de AWS CloudFormation. Una vez creado el servicio, puede ver el servicio y los grupos de destino registrados con él con la Consola de administración de AWS. No es posible actualizar la configuración de equilibrio de carga de un servicio existente.

Se puede especificar en una definición de servicio varios grupos de destino utilizando el siguiente formato. Para obtener la sintaxis completa de una definición de servicio, consulte Plantilla de definición de servicio.

"loadBalancers":[ { "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456", "containerName":"container_name", "containerPort":container_port }, { "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321", "containerName":"container_name", "containerPort":container_port } ]

Consideraciones sobre varios grupos de destino

Al especificar varios grupos de destino en una definición de servicio, se debe tener en cuenta lo siguiente.

  • Para los servicios que utilizan un Application Load Balancer o un Load Balancer de carga de red, no puede asociar más de cinco grupos de destino a un servicio.

  • La especificación de varios grupos de destino en una definición de servicio solo se admite en las siguientes condiciones:

    • El servicio debe utilizar un o Balanceador de carga de aplicaciones Balanceador de carga de red.

    • El servicio debe utilizar el tipo de controlador de implementación de actualización continua (ECS).

  • La especificación de varios grupos de destino es compatible con los servicios que contienen tareas que utilizan los tipos de Fargate lanzamiento EC2 y .

  • Al crear un servicio que especifica varios grupos de destino, se debe crear el rol vinculado al servicio de Amazon ECS. Para crear el rol, omita el parámetro role en las solicitudes de API o la propiedad Role en AWS CloudFormation. Para obtener más información, consulte Rol vinculado a servicio para Amazon ECS.

Definiciones de servicio de ejemplo

A continuación se muestran unos ejemplos de casos de uso para especificar varios grupos de destino en una definición de servicio. Para obtener la sintaxis completa de una definición de servicio, consulte Plantilla de definición de servicio.

Ejemplo: Tener balanceadores de carga independientes para el tráfico interno y externo

En el siguiente caso de uso, un servicio utiliza dos balanceadores de carga independientes, uno para el tráfico interno y otro para el tráfico de Internet, para el mismo contenedor y puerto.

"loadBalancers":[ //Internal ELB { "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456", "containerName":"nginx", "containerPort":8080 }, //Internet-facing ELB { "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321", "containerName":"nginx", "containerPort":8080 } ]

Ejemplo: Exposición de varios puertos desde el mismo contenedor

En el siguiente caso de uso, un servicio utiliza un balanceador de carga pero expone varios puertos desde el mismo contenedor. Por ejemplo, un contenedor Jenkins podría exponer el puerto 8080 para la interfaz web de Jenkins y el puerto 50000 para la API.

"loadBalancers":[ { "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456", "containerName":"jenkins", "containerPort":8080 }, { "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321", "containerName":"jenkins", "containerPort":50000 } ]

Ejemplo: Exposición de puertos desde varios contenedores

En el siguiente caso de uso, un servicio utiliza un balanceador de carga y dos grupos de destino para exponer puertos desde contenedores independientes.

"loadBalancers":[ { "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456", "containerName":"webserver", "containerPort":80 }, { "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321", "containerName":"database", "containerPort":3306 } ]