El Elastic Load Balancing es el corazón de las aplicaciones en AWS. Aprenda todo sobre ELB, sus tipos y características en este post.
Hoy en día, la mayoría de las organizaciones necesitan gestionar y aumentar la escalabilidad, disponibilidad y tolerancia a fallos de sus aplicaciones. AWS ofrece una excelente solución para ello, el servicio Elastic Load Balancing. Este servicio consiste en un equilibrador de carga que puede distribuir las cargas de trabajo entre muchos recursos informáticos como servidores virtuales.

El servicio Load Balancing nos permite configurar comprobaciones de estado para supervisar la salud de los recursos informáticos. También nos permite descargar el trabajo de cifrado y descifrado a su equilibrador de carga para que los recursos de computación puedan centrarse en su trabajo principal.
Equilibrio de carga elástico (ELB): Visión general
El ELB es un servicio que distribuye automáticamente el tráfico entrante entre varias instancias CE2. Esto ayuda a conseguir mayores niveles de tolerancia a fallos en sus aplicaciones proporcionando la capacidad de equilibrio de carga para distribuir el tráfico de las aplicaciones.

Además, Elastic Load Balancing puede detectar instancias EC2 poco saludables, y en cuanto se detecta que una instancia EC2 no es saludable, ELB deja de enviarle tráfico hasta que vuelve a ser saludable. Los clientes pueden habilitar fácilmente Elastic Load Balancing dentro de una o varias zonas de disponibilidad para obtener un rendimiento más uniforme de las aplicaciones.
Características de Elastic Load Balancing
Seguridad
Puede administrar y crear grupos de seguridad asociados con Elastic Load Balancing en Amazon Nube privada virtual (VPC) para ofrecer opciones adicionales de red y seguridad para Application Load Balancer y Classic Load Balancer.
Alta disponibilidad
Un Elastic Load Balancer tiene una alta disponibilidad. Puede distribuir el tráfico entrante a su aplicación entre instancias EC2 de una única zona de disponibilidad o de varias zonas de disponibilidad.
Alto rendimiento
Los Elastic Load Balancer están diseñados para gestionar el tráfico a medida que crecen y pueden cargar y equilibrar millones de solicitudes/seg. También puede manejar picos repentinos de tráfico.
Comprobaciones de estado
Con Elastic Load Balancing, puede mantener controlada la salud de sus instancias EC2 y no arriesgarse a enviar tráfico a una instancia poco saludable.
Monitorización operativa y registro
Amazon CloudWatch informa de las métricas del balanceador de carga clásico y de aplicaciones, como recuentos de errores, tipos de errores, latency of las solicitudes, recuentos de solicitudes, etc.
Protección contra el borrado
Puede habilitar la Protección contra borrado en un Elastic Load Balancer para evitar que se borre accidentalmente.
Componentes de los Elastic Load Balancers
Receptores
Debe configurar uno o varios escuchadores para su equilibrador de carga. Se trata de un proceso que comprueba las solicitudes de conexión. Se configura con un protocolo y un puerto de conexiones para las conexiones front-end (cliente a equilibrador de carga) y un protocolo para las conexiones back-end (equilibrador de carga a instancia back-end).
Entre los protocolos admitidos para el equilibrio de carga elástica se incluyen:
- HTTPS (HTTP seguro)
- TCP
- SSL (TCP seguro)
Equilibrador de carga
Un equilibrador de carga actúa como "policía del tráfico" frente a sus servidores, distribuyendo las solicitudes de los clientes entre todos los servidores equipados para gestionarlas de forma que se maximice la velocidad y la utilización de la capacidad y se garantice que ningún servidor esté sobrecargado, lo que puede provocar una degradación del rendimiento.
El equilibrador de carga dirige el tráfico a los servidores activos en caso de que uno de ellos se quede sin conexión. El equilibrador de carga inicia las peticiones a un nuevo servidor cuando éste se añade al grupo de servidores.
Grupos de destino
Las peticiones se enrutan a uno o más objetivos registrados utilizando cada grupo de objetivos. Usted define un grupo de destino y las condiciones cuando crea cada regla de escucha. Cuando se cumple una condición de la regla, el tráfico se enruta al grupo de destino apropiado.
Para distintos tipos de solicitudes, puede crear grupos de destino distintos. Por ejemplo, cree diferentes grupos de destino para las solicitudes a los microservicios de su aplicación y las solicitudes genéricas.
Tipos de equilibradores de carga
Equilibrador de carga de aplicaciones
El balanceador de carga de aplicaciones permite a los desarrolladores configurar y dirigir el tráfico entrante de los usuarios finales a las aplicaciones que se ejecutan en la nube pública de AWS.
El balanceo de carga es crucial en un entorno de nube con numerosas aplicaciones web. Un balanceador de carga garantiza que no se sobrecargue ningún servidor dividiendo el tráfico de red y los flujos de información entre varios servidores. Esto mejora la experiencia del usuario, aumenta la capacidad de respuesta y la disponibilidad de las aplicaciones, y puede defender contra los ataques de denegación de servicio distribuidos (DDoS).
El acceso a las aplicaciones web ha crecido significativamente en los últimos años. Sin embargo, un aumento inesperado del tráfico puede ralentizar los servicios en línea y reducir la disponibilidad. El Application Load Balancer distribuye eficazmente la carga de la red en la nube pública para aumentar la estabilidad y la disponibilidad.
El Application Load Balancer sólo dirigirá el tráfico a un destino sano dentro del recurso de la nube si una aplicación problemática alcanza la Capa 7. WebSocket es otro protocolo admitido por el Application Load Balancer para aumentar la conectividad con el servidor subyacente.
Los sitios web y las aplicaciones móviles que se ejecutan en contenedores o en instancias EC2 de AWS son los que más se benefician del uso de un balanceador de carga de aplicaciones. En una arquitectura de microservicios, el Application Load Balancer puede utilizarse como equilibrador de carga interno delante de instancias EC2 o contenedores Docker que implementen un servicio específico. Además, puede utilizarse delante de una aplicación API RESTful.
Numerosos servicios de AWS son compatibles con el balanceador de carga de aplicaciones, entre ellos
- Autoescalado de AWS
- Amazon Elastic Container Service
- AWS CloudFormation
- AWS CodeDeploy
- Administrador de certificados de AWS
Equilibrador de carga clásico
El tráfico de las aplicaciones entrantes se divide entre numerosas instancias EC2 en varias zonas de disponibilidad utilizando un balanceador de carga clásico. Un balanceador de carga clásico actúa como único punto de contacto del cliente. Esto hace que su aplicación sea más accesible. Sin perjudicar el flujo general de peticiones a su aplicación, puede añadir/eliminar instancias de su equilibrador de carga clásico a medida que cambien sus necesidades.
Un oyente utiliza el protocolo y el puerto que usted establezca para supervisar las solicitudes de conexión de los clientes. A continuación, el oyente transmite las solicitudes a una o varias instancias registradas utilizando el protocolo y el puerto configurados. Usted modifica su equilibrador de carga añadiendo uno o más escuchadores.
Para asegurarse de que el equilibrador de carga sólo encamina las peticiones a instancias sanas, puede configurar comprobaciones de salud, que se utilizan para vigilar el estado de las instancias registradas.
El equilibrador de carga clásico, por defecto, distribuye uniformemente el tráfico entre las zonas de disponibilidad que habilite para su equilibrador de carga. Habilite el equilibrio de carga entre zonas en su equilibrador de carga para distribuir el tráfico entre todas las instancias registradas en todas las zonas de disponibilidad activadas.

Tipos de equilibrador de carga clásicos:
- Equilibradores de carga clásicos orientados a Internet: Un equilibrador de carga orientado a Internet puede dirigir las solicitudes de los clientes a las instancias EC2 registradas con el equilibrador de carga a través de Internet, gracias a su dominio DNS públicamente resoluble. Su equilibrador de carga recibe un nombre DNS pública cuando se construye, que los clientes pueden utilizar para realizar peticiones. Los servidores DNS traducen el nombre DNS de su equilibrador de carga a las direcciones IP públicas de los nodos del equilibrador de carga. Las direcciones IP privadas conectan cada nodo del equilibrador de carga con las instancias back-end.
- Equilibradores de carga clásicos internos: Los nodos de un equilibrador de carga interna sólo tienen direcciones IP personales. El nombre DNS de un equilibrador de carga interna puede resolverse públicamente en las direcciones IP de los nodos. Como resultado, las peticiones sólo pueden ser enrutadas por los equilibradores de carga interna desde clientes que tengan acceso a la VPC del equilibrador de carga.
Equilibrador de carga de red
El equilibrador de carga de red funciona en la cuarta capa del modelo OSI. Puede gestionar millones de peticiones por segundo.
El equilibrador de carga elige un destino del grupo de destinos para la regla por defecto tras recibir una solicitud de conexión. Intenta establecer una conexión TCP con el objetivo seleccionado en el puerto indicado en la configuración del oyente.
Para aumentar la tolerancia a fallos de su aplicación, puede habilitar varias zonas de disponibilidad, un servicio de pago de AWS para los balanceadores de carga de red. Si una zona de disponibilidad se cae, su aplicación no dejará de funcionar.
Para el tráfico TCP, se selecciona un destino utilizando un algoritmo de hash de flujo basado en el protocolo, el puerto de origen, la dirección IP de origen, el puerto de destino, la dirección IP de destino y el número de secuencia TCP.
Las conexiones TCP de los clientes tienen números de secuencia y puertos de origen diferentes, por lo que las conexiones se enrutan a otros objetivos. Cada conexión TCP única se enruta a un único objetivo mientras dure la conexión.
Equilibrador de carga de puerta de enlace
Sus dispositivos virtuales de terceros pueden desplegarse, escalarse y gestionarse de forma sencilla con la ayuda del equilibrador de carga de puerta de enlace. Proporciona una única puerta de enlace para dividir el tráfico entre numerosos dispositivos virtuales y escalarlos hacia arriba o hacia abajo en respuesta a la demanda. Esto elimina posibles puntos de fallo en su red y aumenta la disponibilidad.
Los dispositivos virtuales de fabricantes independientes pueden encontrarse, probarse y adquirirse directamente a través de AWS Marketplace. Tanto si desea seguir trabajando con sus proveedores actuales como probar algo nuevo, esta experiencia integrada acelera el proceso de implementación para que pueda beneficiarse de sus dispositivos virtuales con mayor rapidez.
Ventajas del gateway Load Balancer:
- Despliegue más rápido de dispositivos virtuales de terceros.
- Escalado de sus dispositivos virtuales al tiempo que gestiona los costes.
- Mejorar la disponibilidad de los dispositivos virtuales
Palabras finales
Los balanceadores de carga elásticos son una parte fundamental de muchas infraestructuras realizadas en AWS. Las características que obtenemos de un ELB facilitan la gestión de su infraestructura. El Elastic Load Balancing es un método probado para repartir las solicitudes de tráfico web y de aplicaciones entre varios destinos o instancias.
Puede escalar automáticamente sus distintas cargas de trabajo utilizando el Elastic Load Balancer. Hemos cubierto todos los tipos de balanceadores de carga proporcionados por AWS, y puede utilizarlos según las demandas de su aplicación.