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.
Tipos de balanceadores de carga
Elastic Load Balancing admite los siguientes tipos de equilibradores de carga: equilibrador de carga de aplicación y equilibrador de carga de red. Los servicios de Amazon ECS pueden utilizar estos tipos de balanceador de carga. Los Application Load Balancers se utilizan para dirigir el tráfico HTTP/HTTPS (o de capa 7). Los Network Load Balancers y los Classic Load Balancers se utilizan para dirigir el tráfico TCP (o de capa 4).
Temas
Application Load Balancer
Un Application Load Balancer toma decisiones de enrutamiento en la capa de aplicación (HTTP/HTTPS), admite el enrutamiento basado en rutas y puede dirigir las solicitudes a uno o varios puertos de cada instancia de contenedor del clúster. Los Application Load Balancers admiten el mapeo de puertos de host dinámico. Por ejemplo, si la definición de contenedor de la tarea especifica el puerto 80 para un puerto de contenedor NGINX y el puerto 0 para el puerto de host, el puerto de host se elige dinámicamente en el rango de puertos efímeros de la instancia de contenedor (como, por ejemplo, del 32768 al 61000 en las AMI optimizadas para Amazon ECS más recientes). Cuando se lanza la tarea, el contenedor NGINX se registra en el Application Load Balancer como una combinación de ID de instancia y puerto, y el tráfico se distribuye al ID de la instancia y al puerto correspondiente a dicho contenedor. Este mapeo dinámico le permite tener varias tareas desde un servicio único en la misma instancia de contenedor. Para obtener más información, consulte la Guía del usuario de Application Load Balancers.

Network Load Balancer
Un Network Load Balancer toma las decisiones de enrutamiento en la capa de transporte (TCP/SSL). Puede atender millones de solicitudes por segundo. Una vez que el balanceador de carga ha recibido una conexión, selecciona un destino del grupo de destinos para la regla predeterminada por medio de un algoritmo hash de flujo de direccionamiento. Intenta abrir una conexión TCP con el destino seleccionado en el puerto especificado en la configuración del agente de escucha. Reenvía la solicitud sin modificar los encabezados. Los Network Load Balancers admiten el mapeo de puertos de host dinámico. Por ejemplo, si la definición de contenedor de la tarea especifica el puerto 80 para un puerto de contenedor NGINX y el puerto 0 para el puerto de host, el puerto de host se elige dinámicamente en el rango de puertos efímeros de la instancia de contenedor (como, por ejemplo, del 32768 al 61000 en las AMI optimizadas para Amazon ECS más recientes). Cuando se lanza la tarea, el contenedor NGINX se registra en el Network Load Balancer como una combinación de ID de instancia y puerto, y el tráfico se distribuye al ID de la instancia y al puerto correspondiente a ese contenedor. Este mapeo dinámico le permite tener varias tareas desde un servicio único en la misma instancia de contenedor. Para obtener más información, consulte la Guía del usuario de balanceadores de carga de red.

Consideraciones sobre el Application Load Balancer y el Network Load Balancer
Las siguientes consideraciones se aplican específicamente a los servicios Amazon ECS que utilizan Application Load Balancers o Network Load Balancers:
-
Amazon ECS requiere el rol de IAM vinculado al servicio, que proporciona los permisos necesarios para registrar y anular el registro de destinos en el balanceador de carga al crear y detener tareas. Para obtener más información, consulte Uso de roles vinculados al servicio para Amazon ECS.
-
En el caso de los servicios que utilizan un Application Load Balancer o un Network Load Balancer, no se pueden asociar más de cinco grupos de destino a un servicio.
-
Para los servicios con tareas que utilizan el modo de red
awsvpc
, al crear un grupo de destino para el servicio, debe elegirip
como tipo de destino, noinstance
. Esto se debe a que las tareas que utilizan el modo de redawsvpc
están asociadas a una interfaz de red elástica, no a una instancia de Amazon EC2. -
Si el servicio utiliza un Application Load Balancer y requiere acceso a varios puertos con balanceo de carga, como el puerto 80 y el puerto 443 para un servicio HTTP/HTTPS, puede configurar dos agentes de escucha. Un agente de escucha es responsable de las solicitudes HTTPS que reenvían la solicitud al servicio y otro agente de escucha es responsable de redirigir las solicitudes HTTP al puerto HTTPS adecuado. Para obtener más información, consulte Creación de un agente de escucha para el Application Load Balancer en la Guía del usuario de Application Load Balancers.
-
La configuración de subred del balanceador de carga debe incluir todas las zonas de disponibilidad en las que residen las instancias de contenedor.
-
Después de crear un servicio, la configuración del equilibrador de carga no se puede cambiar desde la AWS Management Console. Puede usar el Copiloto de AWS, AWS CloudFormation, AWS CLI o SDK para modificar la configuración del equilibrador de carga solo del controlador de implementación progresiva
ECS
, no AWS CodeDeploy azul/verde o exterior. Cuando agrega, actualiza o elimina una configuración de equilibrador de carga, Amazon ECS inicia una nueva implementación con la configuración actualizada de Elastic Load Balancing. Esto hace que las tareas se registren y eliminen el registro de los equilibradores de carga. Le recomendamos que lo verifique en un entorno de prueba antes de actualizar la configuración de Elastic Load Balancing. Para obtener información sobre cómo modificar la configuración, consulteUpdateServiceen elReferencia de la API de Amazon Elastic Container Service. -
Si la tarea de un servicio no supera los criterios de comprobación de estado del balanceador de carga, la tarea se detiene y se reinicia. Este proceso continúa hasta que el servicio alcanza el número de tareas en ejecución deseadas.
-
Cuando utilizas un balanceador de carga de red configurado con direcciones IP como destino y la conservación de la IP del cliente desactivada, se considera que las solicitudes provienen de la dirección IP privada del balanceador de carga de red. Esto significa que los servicios detrás de un Network Load Balancer están efectivamente abiertos al mundo tan pronto como se permitan solicitudes entrantes y comprobaciones de estado en el grupo de seguridad del destino.
-
El uso de un Network Load Balancer para dirigir el tráfico UDP a las tareas de Amazon ECS alojadas en Fargate requiere que la tarea utilice la versión
1.4.0
de la plataforma (Linux) o1.0.0
(Windows). -
Minimizar los errores en las aplicaciones cliente configurando el
StopTimeout
en la definición de tarea superior al retraso de cancelación de registro del grupo de destino, que debería ser mayor que el tiempo de espera de la conexión del cliente. Consulte la Biblioteca de Constructores para obtener más información sobre la configuración de cliente recomendada aquí. Además, el atributo de grupo de destino del Network Load Balancer para la terminación de la conexión cierra todas las conexiones restantes después del tiempo de anulación del registro. Esto puede provocar que los clientes muestren mensajes de error no deseados, si el cliente no los gestiona.
-
Si está teniendo problemas con los servicios habilitados para el balanceador de carga, consulte Solución de problemas con los balanceadores de carga de servicio.
-
Sus tareas y el equilibrador de carga (equilibrador de carga de aplicación o equilibrador de carga de red) deben estar en la misma VPC.
-
La conservación de la dirección IP del cliente de Network Load Balancer también es compatible con los objetivos de Fargate.