Cómo configurar el equilibrador de carga de la aplicación para un enrutamiento inteligente

Cómo configurar el equilibrador de carga de la aplicación para un enrutamiento inteligente
El equilibrador de carga de aplicación (ALB) es un tipo de equilibrador de carga elástica proporcionado por AWS. Funciona en la séptima capa del modelo de capa OSI y se puede configurar para un enrutamiento inteligente. Usando el equilibrador de carga de aplicación, el tráfico se puede enrutar a diferentes grupos de destino dependiendo de los siguientes parámetros:

● Métodos HTTP
● Parámetros de consulta
● Fuente de IP
● Encabezado HTTP
● Camino
● Enrutamiento basado en DNS (encabezados de host)

La solicitud se puede reenviar a un objetivo específico validando cualquiera de los parámetros mencionados anteriormente. En este artículo, discutiremos cómo podemos enrutar el tráfico en función de los parámetros mencionados anteriormente utilizando el equilibrador de carga de la aplicación en AWS.

Configuración del medio ambiente

Para continuar con un enrutamiento inteligente, debe configurar el entorno básico, incluidas las instancias, el grupo de destino y el equilibrador de carga de la aplicación.

Creación de instancias de EC2

Para configurar la instancia de EC2, simplemente siga los siguientes pasos:

● Seleccione la imagen de Amazon Machine (AMI)
● Seleccione el tipo de instancia
● Proporcionar detalles de configuración (VPC, subred, AZ, metadatos, etc.)
● Adjunte almacenamiento (EBS, tienda de instancias)
● Administrar el grupo de seguridad
● Revisión y lanzamiento

Las instancias ahora están configuradas. Lo siguiente es crear el grupo de destino.

Creación del grupo objetivo

Necesitaremos al menos dos grupos objetivo para demostrar con éxito los métodos de enrutamiento para el equilibrador de carga de aplicación, por lo que vamos a crear dos grupos objetivo utilizando los siguientes pasos:

● Elija el tipo de objetivo
● Seleccione Protocolo de red y puerto
● Seleccione VPC
● Configurar las verificaciones de salud
● Registrar objetivos

Primero, tenemos que seleccionar el tipo de destino: puede ser una instancia, dirección IP, función Lambda u otro equilibrador de carga de aplicación.

Seleccionar el protocolo de red. En este caso, seleccionaremos HTTP en el puerto predeterminado 80 ya que este es el protocolo compatible con un equilibrador de carga de la aplicación. También tendrá que seleccionar el VPC en el que se ejecutan sus instancias.

Para configurar la verificación de salud, simplemente seleccione el protocolo que está utilizando para su aplicación. Los controles de salud ayudan a enrutar el tráfico solo a objetivos saludables.

Registre los objetivos (que son instancias EC2 en este caso).

Después de registrar los objetivos, haga clic en el grupo Crear objetivo y se creará.

Creación del equilibrador de carga de aplicación (ALB)

Ahora, vamos a crear el equilibrador de carga de la aplicación. El procedimiento se define a continuación.

● Seleccionar esquema de red (público / privado)
● Seleccione Tipo de dirección IP (IPv4 / IPv4 e IPv6)
● Seleccione VPC
● Seleccionar zonas de disponibilidad (AZ)
● Configurar el grupo de seguridad
● Agregar oyentes

Simplemente puede visitar el siguiente artículo para crear y configurar el equilibrador de carga de la aplicación en AWS.

https: // linuxhint.com/create-and-configure-application-load-balancer-on-aws/

Gestión de reglas para el enrutamiento inteligente

Ya hemos creado instancias EC2, grupos de destino y un equilibrador de carga de aplicación. Ahora, discutiremos sobre cómo crear reglas para un equilibrador de carga de aplicación para enrutar el tráfico en consecuencia. El enrutamiento inteligente es una capacidad que permite enrutar y reenviar el tráfico de la red y las solicitudes a un objetivo específico basado en la condición y las reglas que especifica en las solicitudes entrantes.

Para configurar las reglas para el enrutamiento inteligente, simplemente abra la pestaña de oyentes en su Alb y haga clic en las reglas de vista/edición para su oyente.

En esta consola, puede crear y editar sus condiciones y reglas de enrutamiento.

Ahora, comencemos y veamos en detalle todos los métodos que hemos enumerado desde el inicio.

Encabezado del anfitrión

Aquí, debe especificar el objetivo basado en el DNS de la solicitud recibida. Puede establecer múltiples dominios apuntando a un solo equilibrador de carga; cada uno tendrá un objetivo específico. Este esquema también se conoce como enrutamiento basado en DNS.

Haga clic en la pestaña Regla de insertar y seleccione el encabezado del host en el menú desplegable.

Especifique el encabezado del host que desee.

Luego seleccione la acción que desea tomar si la solicitud se recibe del encabezado del host que especificó en el paso anterior. Puede reenviar la solicitud, redirigir la solicitud o devolver una respuesta fija a la solicitud. Para esta demostración, reenviaremos la solicitud a un grupo objetivo.

Seleccione el grupo de destino. Ahora todo el tráfico del DNS www.ejemplo1.comunicarse se reenviará al grupo objetivo llamado Demo-tg-1.

Del mismo modo, puede agregar múltiples reglas que especifican diferentes objetivos para cada encabezado del host.

Enrutamiento basado en la ruta

En el enrutamiento basado en la ruta, definimos la ruta DNS completa en la condición de la regla del oyente. Por ejemplo, si tiene una sección de blog e imágenes en su sitio web, puede enrutar fácilmente el tráfico para cada sección a un objetivo diferente.

Crear una nueva regla y seleccionar la opción de ruta.

Especifique la ruta completa del destino.

Agregue la acción para reenviar las solicitudes a su grupo objetivo deseado.

La primera regla significa que el tráfico desde /API/V1 será enviado a Demo-tg-1. La segunda regla significa que el tráfico desde /API/V2 será enrutado a Demo-tg-2.

Encabezado http

Cuando hay comunicación del servidor y cliente a través de las solicitudes HTTP, se pasan algunos datos entre el servidor y el cliente utilizando los encabezados HTTP. Estos encabezados son de diferentes tipos como encabezados de solicitud, encabezados de respuesta, encabezados generales y encabezados de entidad. Estos están en forma de pares clave y de valor. El tráfico de red en su aplicación también se puede enrutar a diferentes objetivos dependiendo de estos encabezados HTTP definidos en la solicitud.

Defina el encabezado HTTP en función de dónde desea enrutar la solicitud de red. Para la demostración, hemos tomado el encabezado como ubicación = L1.

Después de definir el encabezado HTTP, agregue el objetivo para la regla y simplemente cree.

De esta manera, podemos especificar que la solicitud con el encabezado de ubicación establecida en L1 alcanzará el objetivo Demo-TG-1 y L2 golpeará la demostración de destino TG-2.

Método de solicitud HTTP

Existen múltiples métodos de solicitud para solicitudes HTTP como Get, Post, Put, Eliminar, etc. Aquí, veremos cómo podemos enrutar nuestras solicitudes en función de estas solicitudes.

Para hacer esto, cree una nueva regla para el método de solicitud HTTP.

Proporcione el tipo de método de solicitud HTTP. Ingresaremos la solicitud GET para esta demostración.

Agregue el objetivo al que desea reenviar todas las solicitudes de obtener para su aplicación web y haga clic en Guardar, y su regla se activará. De esta manera, se pueden enrutar diferentes solicitudes a diferentes grupos objetivo.

Parámetros de consulta

Esta información adicional a veces se agrega con las solicitudes HTTP. Se define en forma de pares de valor clave. El tráfico de red en un equilibrador de carga también se puede enrutar a un destino específico dependiendo de los parámetros de cadena de consulta dados en la solicitud del usuario.

Para comenzar, seleccione la cadena de consulta como condición para su regla.

Ahora, defina un par de valor clave como parámetro de consulta.

Elija el objetivo y finalice la configuración de la regla.

Puedes ver a continuación las dos reglas. Las solicitudes con el tipo de parámetro de consulta = T1 se reenvían a Demo-TG-1 mientras y las solicitudes con el tipo de parámetro de consulta = T2 alcanzó la Demo-TG-2 de destino.

IP de origen

También puede establecer una regla del oyente para reenviar la solicitud a un grupo de destino específico dependiendo de la dirección IP del usuario que está haciendo la solicitud al equilibrador de carga.

Para configurar la IP de origen, solo proporcione el CIDR y luego elija el objetivo que desee.

Cada rango de direcciones IP o IP se puede enrutar específicamente a un objetivo diferente como se muestra a continuación.

Conclusión

El enrutamiento inteligente es muy importante cuando se trata de diseñar una aplicación web avanzada y de alto nivel. Al igual que lo que se demuestra en este artículo, podemos reenviar las solicitudes a muchos objetivos utilizando un único equilibrador de carga de aplicación en función de los parámetros de solicitud que obtenemos de los usuarios. Consulte los otros artículos en Linux Sugerencia para obtener más consejos y tutoriales.