Todo lo que necesita saber sobre el balanceador de carga de aplicaciones



Este blog le brinda un conocimiento profundo de un balanceador de carga de aplicaciones. Demuestra la creación y el uso de NLB en beneficio de su aplicación.

Cuantas más pistas tenga un detective, más fácil le resultará resolver el caso. Así es exactamente como funciona un equilibrador de carga. Cuanta más información tenga un equilibrador de carga, mejor funcionará. En este blog, voy a hablar sobre Application Load Balancer y cómo distribuye el tráfico entrante al obtener un mayor acceso a los encabezados de los paquetes, HTTPS y detalles de HTTPS.

Tópicos cubiertos:





¿Qué es Application Load Balancer?

Estoy seguro de que han oído hablar del modelo OSI. Es una arquitectura de 7 capas y cada capa realiza una tarea especial en la transferencia de datos en todo el mundo. Estas capas incluyen: capa física, capa de enlace de datos, capa de red, capa de transporte, capa de sesión, capa de presentación y capa de aplicación. Application Load Balancer opera en la séptima capa del modelo OSI, como sugiere el nombre. Esotiene la capacidad de examinar el contenido a nivel de la aplicación y enrutar el tráfico basándose en esta información adquirida. El contenido a nivel de aplicación incluye detalles del paquete, detalles HTTP y HTTPS. Esto hace que el enrutamiento sea más fácil, rápido y mucho más eficiente. Es uno de los más utilizados .

Funcionamiento del balanceador de carga de aplicaciones

Application Load Balancer consta de oyentes y reglas . Cuando un cliente realiza la solicitud, el oyente la reconoce. Las reglas son pautas que rigen el enrutamiento de cada solicitud del cliente una vez que el oyente la escucha. Las reglas constan de tres componentes: Grupo objetivo , Prioridad y Condiciones . Los grupos objetivo constan de objetivos registrados (servidores donde se enrutará el tráfico). Cada grupo de destino enruta las solicitudes a uno o más destinos registrados, como instancias EC2, mediante el protocolo y el número de puerto que especifique. Entonces, básicamente, cuando el oyente recibe la solicitud, pasa por orden de prioridad para determinar qué regla aplicar, analiza las reglas y, en función de la condición, decide qué grupo objetivo recibe la solicitud.



ALB - Balanceador de carga de aplicaciones - Edureka

Siempre puede agregar o eliminar destinos de su balanceador de carga cuando sea necesario, sin interrumpir el flujo general de solicitudes a su aplicación. ELB escala su equilibrador de carga dinámicamente, es decir, a medida que el tráfico en su aplicación cambia con el tiempo, manteniendo su aplicación preparada para diversas situaciones.

Características que lo hacen mejor que el equilibrador de carga clásico

Enrutamiento basado en contenido: Application Load Balancer tiene que acceder a los encabezados HTTP y, por lo tanto, enruta el tráfico en función de ellos.



Soporte para aplicaciones basadas en contenedores: Con el poderoso concepto de contenedorización, la mayoría de los usuarios empaquetan sus microservicios en contenedores y los alojan en instancias EC2. Esto permite que una sola instancia EC2 ejecute varios servicios. Application Load Balancer admite estas aplicaciones basadas en contenedores. Una instancia puede alojar varios contenedores y escuchar en varios puertos, detrás del mismo grupo objetivo. También realiza comprobaciones de estado detalladas a nivel de puerto.

Mejores métricas: Application Load Balancer realiza comprobaciones de estado por puerto y también genera un informe. La verificación de estado especifica un rango de respuestas HTTP aceptables. Estos controles de estado también van acompañados de códigos de error detallados.

Enrutamiento basado en ruta: Application Load Balancer admite enrutamiento basado en host y en ruta, lo que no es el caso del equilibrador de carga clásico. YPuede enrutar solicitudes a varios dominios utilizando un solo equilibrador de carga.

Registre la dirección IP y las funciones Lambda: Además de registrar instancias EC2, también puede registrar direcciones IP y funciones Lambda en su destino. Y por lo tantotambién puede registrar destinos que están fuera de la VPC.

Proporciona protocolos y cargas de trabajo adicionales:

Application Load Balancer proporciona dos protocolos adicionales: HTTP / 2 y WebSocket

HTTPS/2: Este protocolo admite solicitudes multiplexadas a través de una sola conexión. Esto reduce el tráfico de la red.

WebSocket: Este protocolo le permite configurar una conexión TCP de larga duración entre el cliente y el servidor. Este protocolo es mucho más eficiente en comparación con los métodos más antiguos.

Demostración: cree un balanceador de carga de aplicaciones y demuestre que funciona

Comprendamos mejor Application Load Balancer creando uno y usándolo. En esta demostración, voy a crear dos instancias EC2, implementar el servidor web Nginx en ambas con diferente salida HTML (fácil de diferenciar entre ellas), crear un balanceador de carga de aplicaciones, registrar estas dos instancias en ese balanceador de carga y verificar si se puede acceder al servidor web implementado en las instancias desde el DNS del equilibrador de carga. Empecemos.

Paso 1: y conecte sus instancias a Putty o cmder.

cómo finalizar un programa java

Paso 2: Instale el servidor web Nginx en ambas instancias. Ejecute los siguientes comandos para instalar Nginx:

$ sudo apt-get update $ sudo apt install nginx $ sudo ufw lista de aplicaciones $ sudo ufw allow 'Nginx HTTP' $ sudo ufw status

Copie la IP pública de las instancias y péguela en un navegador como una URL, para verificar si Nginx se ha instalado correctamente.

Paso 3 : Cambie la salida HTML del servidor web Nginx para evitar la confusión entre las implementaciones en ambas instancias.

$ cd / var / www / html $ sudo vi index.nginx-debian.html

Cambie el contenido de la etiqueta H1 como “¡Bienvenido a Nginx! - SERVIDOR 1'. Haga lo mismo en la otra instancia excepto que cámbielo a “¡Bienvenido a Nginx! - SERVIDOR 2 ”.

Etapa 4: Cree un balanceador de carga de aplicaciones. En el panel de navegación, debajo BALANCEO DE CARGA , escoger Equilibradores de carga y haga clic en Crear en Application Load Balancer.

Se le dirigirá a otra página, elija Crear balanceador de carga Ya está.

Configuremos el balanceador de carga. En Nombre, escriba el nombre que le gustaría que tuviera su Load Balancer. Para Scheme, seleccione Interno o Orientado a Internet. En este caso, he elegido la conexión a Internet. La conexión a Internet básicamente enruta las solicitudes de los clientes al objetivo a través de Internet.

Para los oyentes, el valor predeterminado es aceptar el tráfico TCP en el puerto 80 y continúo con la misma configuración de escucha predeterminada. En caso de que desee agregar otro oyente, puede elegir Agregar oyente .

En Zona de disponibilidad, seleccione la VPC que utilizó para crear sus instancias EC2. Seleccione una zona de disponibilidad y la subred para esa zona de disponibilidad para cada zona de disponibilidad utilizada para crear una instancia EC2.

Agrega etiquetas a su balanceador de carga según sea necesario. Las etiquetas son especialmente útiles cuando tiene varios equilibradores de carga.

Haga clic en Siguiente: Configurar los ajustes de seguridad . Es posible que vea una advertencia, pero puede ignorarla.

En este paso, puede configurar la seguridad de su balanceador de carga, puede Crear un nuevo grupo de seguridad o Seleccione un grupo de seguridad existente . En este caso, elegí un grupo de seguridad existente.

Una vez hecho esto con la configuración de seguridad, haga clic en Siguiente: Configurar el enrutamiento . Seleccione un Nuevo grupo objetivo. Añade el Nombre te gustaría dar tu Grupo objetivo . Selecciona el Tipo de objetivo como Instancia, ya que estamos adjuntando instancias. Application Load Balancer también le permite adjuntar direcciones IP y funciones Lambda. Deja el Protocolo y Puerto ser el predeterminado.

No he cambiado nada en Comprobaciones de estado y Comprobaciones de estado avanzadas ya sea. La configuración predeterminada es lo suficientemente buena para nosotros.

Haga clic en Siguiente: Registrar objetivos para agregar sus objetivos (en este caso, instancias) a su balanceador de carga.

Seleccione las instancias que desea agregar como objetivos y luego haga clic en Agregar al registro.

Sus objetivos (instancias) ahora se han registrado en Load Balancer.

Haga clic en Siguiente: Revisión . Revise su Load Balancer y finalmente haga clic en Crear .

Su Load Balancer ahora está creado y puede verificar su estado.

¡¡Yayyy !! Ha creado correctamente un balanceador de carga de aplicaciones. Ahora verifiquemos si realmente está funcionando.

Paso 5: Copie el nombre DNS de su equilibrador de carga y péguelo en un navegador como una URL. Debería ver el resultado de la primera instancia.

Ahora vaya a otro navegador y pegue el mismo nombre DNS, debería ver el resultado de la segunda instancia.

Y eso muestra que el equilibrador de carga está equilibrando la carga de dos instancias en él. Las cargas en ambas instancias EC2 serán manejadas por este Load Balancer. Otra forma de probar el funcionamiento de su Load Balancer es cerrar una instancia y verificar si sus implementaciones se implementan en el DNS de Load Balancer.

Esto nos lleva al final de este blog de Application Load Balancer. Espero que hayan entendido el concepto detrás de este increíble servicio proporcionado por Amazon. Para obtener más blogs de este tipo, visite ' “.

Si desea obtener más información sobre Cloud Computing y desarrollar una carrera en Cloud Computing, consulte nuestro que viene con capacitación en vivo dirigida por un instructor y experiencia en proyectos de la vida real. Esta capacitación lo ayudará a comprender la computación en la nube en profundidad y lo ayudará a dominar el tema.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios y nos comunicaremos con usted o publicaremos su pregunta en . En Edureka Community tenemos más de 1,00,000+ fanáticos de la tecnología listos para ayudar.