¿Qué es un Equilibrador de carga de aplicación? - Elastic Load Balancing

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.

¿Qué es un Equilibrador de carga de aplicación?

Elastic Load Balancing distribuye automáticamente el tráfico entrante entre varios destinos, por ejemplo, instancias EC2, contenedores y direcciones IP en una o varias zonas de disponibilidad. Monitorea el estado de los destinos registrados y enruta el tráfico solamente a destinos en buen estado. Elastic Load Balancing escala el equilibrador de carga a medida que el tráfico entrante va cambiando con el tiempo. Puede escalarse automáticamente para adaptarse a la mayoría de las cargas de trabajo.

Elastic Load Balancing admite los siguientes equilibradores de carga: equilibradores de carga de aplicaciones, Equilibradores de carga de red, equilibradores de carga de puerta de enlace y Equilibradores de carga clásicos. Puede seleccionar el tipo de equilibrador de carga que mejor se adapte a sus necesidades. En esta guía, se describen los equilibradores de carga de aplicaciones. Para obtener más información sobre los otros equilibradores de carga, consulte la Guía del usuario sobre Equilibradores de carga de red, la Guía del usuario sobre equilibradores de carga de puerta de enlace y la Guía del usuario sobre Equilibradores de carga clásicos.

Componentes del Equilibrador de carga de aplicación

Un equilibrador de carga actúa como único punto de contacto para los clientes. El equilibrador de carga distribuye el tráfico entrante de aplicaciones entre varios destinos, tales como instancias EC2, en varias zonas de disponibilidad. Esto aumenta la disponibilidad de la aplicación. Puede agregar uno o varios oyentes al equilibrador de carga.

Un oyente comprueba las solicitudes de conexión de los clientes mediante el protocolo y el puerto configurados. Las reglas que defina para un oyente determinan cómo el equilibrador de carga va a direccionar las solicitudes a sus destinos registrados. Cada regla consta de una prioridad, una o más acciones y una o más condiciones. Cuando se cumplen las condiciones de una regla, se llevan a cabo sus acciones. Debe definir una regla predeterminada para cada oyente y, si lo desea, puede definir reglas adicionales.

Cada grupo de destino direcciona las solicitudes a uno o varios destinos registrados (tales como instancias EC2) utilizando el protocolo y el número de puerto que ha especificado. Puede registrar un destino en varios grupos de destino. Puede configurar las comprobaciones de estado de cada grupo de destino. Las comprobaciones de estado se llevan a cabo en todos los destinos registrados en un grupo de destino especificado en la regla del oyente del equilibrador de carga.

En el siguiente diagrama se ilustran los componentes básicos. Observe que cada oyente contiene una regla predeterminada y que un oyente contiene otra regla que direcciona las solicitudes a un grupo de destino diferente. Un destino se ha registrado en dos grupos de destino.


                Componentes de un Equilibrador de carga de aplicación básico

Para obtener más información, consulte la siguiente documentación sobre :

Información general sobre Equilibrador de carga de aplicación

Un Equilibrador de carga de aplicación actúa como la capa de aplicación, es decir, la séptima capa del modelo de interconexión de sistemas abiertos (OSI). Una vez que el equilibrador de carga ha recibido una solicitud, evalúa las reglas del oyente por orden de prioridad con el fin de determinar qué regla se debe aplicar. A continuación, selecciona un destino en el grupo de destino para la acción de la regla. Puede configurar las reglas del oyente de tal forma que las solicitudes se direccionen a diferentes grupos de destino en función del contenido del tráfico de aplicación. El enrutamiento se lleva a cabo de manera independiente para cada grupo de destino, aunque un destino se haya registrado en varios grupos de destino. Puede configurar el algoritmo de direccionamiento utilizado en el nivel de grupo de destino. El algoritmo de direccionamiento predeterminado es turnos rotativos; alternativamente, puede especificar el algoritmo de direccionamiento de solicitudes menos pendientes.

Puede agregar y eliminar destinos del equilibrador de carga en función de sus necesidades sin interrumpir el flujo general de solicitudes a la aplicación. Elastic Load Balancing escala el equilibrador de carga a medida que va cambiando el tráfico dirigido a la aplicación con el tiempo. Elastic Load Balancing puede escalarse automáticamente para adaptarse a la mayoría de las cargas de trabajo.

Puede configurar las comprobaciones de estado, que se utilizan para monitorizar el estado de los destinos registrados, de tal forma que el equilibrador de carga solo pueda enviar solicitudes a los destinos en buen estado.

Para obtener más información, consulte Funcionamiento de Elastic Load Balancing en la Guía del usuario de Elastic Load Balancing.

Ventajas de migrar desde un Equilibrador de carga clásico

Utilizar un Equilibrador de carga de aplicación en lugar de un Equilibrador de carga clásico tiene los siguientes beneficios:

  • Compatibilidad con Condiciones de ruta. Puede configurar reglas para el oyente que reenvíen las solicitudes en función de la dirección URL contenida en la solicitud. Esto permite estructurar la aplicación en servicios de menor tamaño y direccionar las solicitudes al servicio correcto según el contenido de la URL.

  • Compatibilidad con Condiciones de host. Puede configurar reglas para el oyente que reenvíen las solicitudes en función del campo de host en el encabezado HTTP. Esto permite direccionar solicitudes a varios dominios a través de un único equilibrador de carga.

  • Compatibilidad para direccionamiento basado en campos en la solicitud, como, por ejemplo, Condiciones de los encabezados HTTP y métodos, parámetros de la consulta y direcciones IP de origen.

  • Compatibilidad con el direccionamiento de solicitudes a varias aplicaciones en una sola instancia EC2. Puede registrar cada instancia o dirección IP con múltiples grupos de destino utilizando varios puertos.

  • Compatibilidad con el redireccionamiento de solicitudes de una URL a otra.

  • Compatibilidad con la devolución de una respuesta HTTP personalizada.

  • Compatibilidad con el registro de destinos por dirección IP, incluidos los destinos situados fuera de la VPC para el equilibrador de carga.

  • Compatibilidad para registrar funciones de Lambda como destinos.

  • Compatibilidad para que el equilibrador de carga pueda autenticar a los usuarios de sus aplicaciones a través de sus identidades corporativas o sociales antes de enviar solicitudes.

  • Compatibilidad con las aplicaciones en contenedores. Amazon Elastic Container Service (Amazon ECS) permite seleccionar un puerto no utilizado al programar una tarea y registrarla en un grupo de destino mediante este puerto. De este modo, puede hacer un uso eficiente de los clústeres.

  • Support para monitorear el estado de cada servicio de forma independiente, ya que los controles de estado se definen a nivel del grupo objetivo y muchas CloudWatch métricas se informan a nivel del grupo objetivo. Si adjunta un grupo de destino a un grupo de escalado automático, podrá escalar cada servicio de forma dinámica en función de la demanda.

  • Los registros de acceso contienen información adicional y se almacenan en formato comprimido.

  • Mejora del desempeño del equilibrador de carga.

Para obtener más información sobre las características admitidas por cada tipo de equilibrador de carga, consulte Comparación de productos de Elastic Load Balancing.

Elastic Load Balancing. se combina con los siguientes servicios para mejorar la disponibilidad y la escalabilidad de las aplicaciones.

  • Amazon EC2: servidores virtuales que ejecutan las aplicaciones en la nube. Puede configurar el equilibrador de carga de modo que direccione el tráfico a las instancias EC2.

  • Amazon EC2 Auto Scaling: Se asegura de que se ejecute la cantidad deseada de instancias, aunque una de ellas sufra un error, y permite aumentar o reducir automáticamente el número de instancias a medida que cambia la demanda de ellas. Si habilita el escalado automático con Elastic Load Balancing, las instancias que se lanzan con escalado automático se registran automáticamente en el grupo de destino y las instancias que se terminan con escalado automático se cancelan automáticamente del grupo de destino.

  • AWS Certificate Manager: Al crear un oyente HTTPS, puede especificar un certificado específico por ACM. El equilibrador de carga utiliza certificados para terminar las conexiones y descifrar las solicitudes de los clientes. Para obtener más información, consulte Certificados de SSL.

  • Amazon CloudWatch: le permite monitorear su balanceador de carga y tomar las medidas necesarias. Para obtener más información, consulte CloudWatch métricas para su Application Load Balancer.

  • Amazon ECS: permite ejecutar, detener y administrar contenedores Docker en un clúster de instancias EC2. Puede configurar el equilibrador de carga de forma que direccione el tráfico a los contenedores. Para obtener más información, consulte Equilibrio de carga de servicio en la Guía para desarrolladores de Amazon Elastic Container Service.

  • AWS Global Accelerator: mejora la disponibilidad y el rendimiento de la aplicación. Utilice un acelerador para distribuir el tráfico entre varios equilibradores de carga en una o varias regiones de AWS. Para obtener más información, consulte la Guía para desarrolladores de AWS Global Accelerator.

  • Route 53 ofrece una forma rentable y de confianza de direccionar a los visitantes a los sitios web convirtiendo los nombres de dominio (como www.example.com) en direcciones IP numéricas (como 192.0.2.1) que los equipos utilizan para comunicarse entre sí. AWS asigna URL a sus recursos, como equilibradores de carga. No obstante, puede ser conveniente utilizar una URL que los usuarios puedan recordar fácilmente. Por ejemplo, puede asignar el nombre de dominio a un equilibrador de carga. Para obtener más información, consulte Enrutamiento del tráfico a un equilibrador de carga de ELB en la Guía para desarrolladores de Amazon Route 53.

  • AWS WAF: Use AWS WAF con su Equilibrador de carga de aplicación para permitir o bloquear las solicitudes en función de las reglas de una lista de control de acceso web (ACL web). Para obtener más información, consulte Equilibradores de carga de aplicaciones y AWS WAF.

Para ver información acerca de los servicios que se integran con el equilibrador de carga, seleccione el equilibrador de carga en la AWS Management Console y elija la pestaña Integrated services (Servicios integrados).

Precios

Con el equilibrador de carga, solo se paga por lo que se usa. Para obtener más información, consulte Precios de Elastic Load Balancing.