¿Qué es un Application Load Balancer? - 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 Application Load Balancer?

Elastic Load Balancing distribuye automáticamente el tráfico entrante entre varios destinos, por ejemplo, instancias EC2, contenedores y direcciones IP en una o más zonas de disponibilidad. Monitorea el estado de los destinos registrados y dirige el tráfico únicamente a los que se encuentran en buen estado. Elastic Load Balancing escala el balanceador de carga cuando cambia el tráfico entrante. Puede escalarse automáticamente para adaptarse a la mayoría de las cargas de trabajo.

Elastic Load Balancing admite los siguientes balanceadores de carga: Balanceadores de carga de aplicaciones, Balanceadores de carga de red, Balanceadores de carga de gateway y Balanceadores de carga clásicos. Puede seleccionar el tipo de balanceador 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 balanceadores de carga, consulte laGuía del usuario para Network Load Balancers, elGuía del usuario de balanceadores de carga de gateway, y elGuía del usuario para Classic Load Balancers.

Componentes Application Load Balancer

Un balanceador de carga actúa como único punto de contacto para los clientes. El balanceador 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 agentes de escucha al balanceador de carga.

Un agente de escucha comprueba las solicitudes de conexión de los clientes mediante el protocolo y el puerto configurados. Las reglas que defina para un agente de escucha determinan cómo el balanceador de carga va a direccionar las solicitudes a sus destinos registrados. Cada regla consta de una prioridad, una o varias acciones y una o varias condiciones. Cuando se cumplen las condiciones de una regla, se llevan a cabo sus acciones. Debe definir una regla predeterminada para cada agente de escucha 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 agente de escucha del balanceador de carga.

En el siguiente diagrama se ilustran los componentes básicos. Observe que cada agente de escucha contiene una regla predeterminada y que un agente de escucha 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 Application Load Balancer básico

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

Introducción al Application Load Balancer

Un Application Load Balancer funciona 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 balanceador de carga ha recibido una solicitud, evalúa las reglas del agente de escucha 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 agente de escucha 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 direccionamiento 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 balanceador de carga en función de sus necesidades sin interrumpir el flujo general de solicitudes a la aplicación. Elastic Load Balancing escala el balanceador de carga cuando cambia el tráfico dirigido a la aplicación. 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 balanceador de carga solo pueda enviar solicitudes a los destinos en buen estado.

Para obtener más información, consulteCómo funciona Elastic Load Balancingen laGuía de usuario de Elastic Load Balancing.

Ventajas de migrar desde un Classic Load Balancer

Utilizar un Application Load Balancer en lugar de un Classic Load Balancer ofrece las siguientes ventajas:

  • Compatibilidad con Condiciones de ruta. Puede configurar reglas para el agente de escucha 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 agente de escucha 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 balanceador de carga.

  • Support con el enrutamiento basado en campos en la solicitud, comoCondiciones de encabezado HTTPy métodos, parámetros de consulta y direcciones IP de origen.

  • Compatibilidad con el direccionamiento de solicitudes a varias aplicaciones en una sola instancia EC2. Puede registrar una instancia o dirección IP con varios grupos de destino, cada uno en un puerto diferente.

  • 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 balanceador de carga.

  • Compatibilidad para registrar funciones Lambda como destinos.

  • Compatibilidad para que el balanceador 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 con la monitorización independiente del estado de cada servicio, pues las comprobaciones de estado se definen para cada grupo de destino y muchas métricas de CloudWatch se notifican también para cada grupo de destino. Si adjunta un grupo de destino a un grupo de Auto Scaling, podrá escalar cada servicio dinámicamente en función de la demanda.

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

  • Mejora del desempeño del balanceador de carga.

Para obtener más información sobre las características admitidas por cada tipo de balanceador de carga, consulteComparaciones de productosElastic 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 balanceador de carga de modo que direccione el tráfico a las instancias EC2.

  • Auto Scaling de Amazon EC2— 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 Auto Scaling with Elastic Load Balancing, las instancias que lanza Auto Scaling se registran automáticamente en el balanceador de carga y se anular automáticamente el registro en el balanceador de carga de las instancias que se termina mediante Auto Scaling.

  • AWS Certificate Manager— Al crear un agente de escucha HTTPS, puede especificar los certificados proporcionados por ACM. El balanceador 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— permite monitorizar el balanceador de carga y adoptar las medidas necesarias. Para obtener más información, consulte Métricas de CloudWatch para su Application Load Balancer.

  • Amazon ECS— Permite ejecutar, detener y administrar contenedores Docker en un clúster de instancias EC2. Puede configurar el balanceador de carga de forma que direccione el tráfico a los contenedores. Para obtener más información, consulteBalanceo de carga de serviciosen laAmazon Elastic Container Service para desarrolladores de.

  • AWS Global Accelerator: mejora la disponibilidad y el rendimiento de la aplicación. Utilice un acelerador para distribuir el tráfico entre varios balanceadores 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 (comowww.example.com) en las direcciones IP numéricas (como192.0.2.1) que los equipos utilizan para comunicarse entre sí. AWS asigna direcciones URL a los recursos, tales como los balanceadores 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 balanceador de carga.

  • AWS WAF— Puede utilizar AWS WAF con su Application Load Balancer para permitir o bloquear solicitudes en función de las reglas en una lista de control de acceso web (ACL web). Para obtener más información, consulte AWS Load Balancers y AWS WAF.

Para ver información sobre los servicios que se integran con el balanceador de carga, seleccione el balanceador de carga en AWS Management Console y elija la opciónServicios integradosPestaña.

Pricing

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