Cómo configurar balanceadores de carga de aplicaciones con enrutamiento basado en host

“Un balanceador de carga toma solicitudes y luego las reenvía a destinos definidos en un grupo objetivo. Podemos crear un Balanceador de carga de aplicaciones mediante la Consola de administración de AWS o la CLI de AWS. Hay varias opciones de enrutamiento con AWS Application Load Balancer, p. B. Enrutamiento basado en host. Con el enrutamiento basado en host, el tráfico entrante se enruta según el nombre de dominio o el nombre de host especificado en el encabezado del host. En este tutorial, crearemos un balanceador de carga de aplicaciones con enrutamiento basado en host”.
Contenidos
Resumen de este laboratorio
En este laboratorio, configuramos Balanceadores de carga de aplicaciones en AWS utilizando el enfoque de enrutamiento basado en host. Para ejecutar este laboratorio, necesitamos los siguientes componentes: Primero, necesitamos dos zonas de disponibilidad, cada una con al menos una instancia EC2. Lo siguiente es una VPC con al menos una subred pública en cada una de esas zonas de disponibilidad. Configuraremos el balanceador de carga con estas subredes públicas. Finalmente, configure un servidor web para las instancias EC2 anteriores y use el grupo de seguridad para abrir el puerto 80 para solicitudes http en estas instancias.
Configurar las instancias EC2
La primera instancia EC2 es una máquina Ubuntu 20.04 Linux y el servidor web (Apache) muestra el mensaje: «Este es un host xyz». Tiene un nombre de host: www.xyz.tecofers.com Asimismo, la segunda instancia también es un Ubuntu 20.04 Linux, con el servidor web mostrando el mensaje: «Este es un host abc». Tiene un nombre de host: www.abc.tecofers.com Los servidores web contienen los directorios “abc” y “xyz” en sus directorios raíz, es decir (/var/www/).
Configurar el público objetivo
Paso 1. En este paso, creamos grupos objetivo («xyz» y «abc») para enrutar las solicitudes entrantes. En el Panel de EC2, seleccione Audiencias bajo el título Equilibrio de carga en el panel izquierdo. Ahora selecciona la opción “Crear grupo objetivo”:
paso 2. Hay varias opciones para completar en la página Especificar detalles del grupo. i) Comencemos con la sección «Configuración básica»:
- Aquí, para la opción Seleccionar tipo de destino, haga clic en el botón de opción Instancias.
- Introduzca un nombre de grupo objetivo adecuado en «Nombre del grupo objetivo» (en mi caso, «xyz»).
- Para las opciones de Protocolo y Puerto, elija HTTP y 80, respectivamente.
- Para la opción VPC, elija la VPC que contiene sus instancias.
- Finalmente, para la «Versión del protocolo», quédese con la opción predeterminada (HTTP1).
ii) La configuración de Health Checks tiene los siguientes campos:
- En el menú desplegable Protocolo de comprobación de estado, seleccione HTTP.
- Especifique una ruta personalizada para la «Ruta de verificación de estado» o use la ruta predeterminada (recomendado).
- Recomendamos dejar la «Configuración avanzada de verificación de salud» sin cambios. Agregar etiquetas es un paso opcional. Ingrese «Siguiente» para continuar.
Registrar las instancias
En este paso necesitamos registrar las instancias con los grupos objetivo.
Paso 1. En esta página, seleccione una instancia y luego haga clic en el botón Incluir a continuación como pendiente. Esto mostrará la instancia en el encabezado Revisar objetivos. Continúe haciendo clic en el botón Crear audiencia. Para otro grupo objetivo «abc», repita los mismos pasos para crear un grupo objetivo y luego agregue otra instancia aquí. En los grupos objetivo, los dos grupos objetivo se muestran de la siguiente manera:
Hasta ahora no hemos adjuntado un balanceador de carga a nuestros grupos objetivo. Avancemos y creemos un balanceador de carga.
Crear el balanceador de carga de aplicaciones
Nota: debe pagar a AWS para crear un servicio de equilibrador de carga.
Paso 1. En el panel de EC2, seleccione el título «Load Balancers» y haga clic en el botón «Crear Load Balancer», luego seleccione «Application Load Balancer»:
Paso 2. Ingrese un nombre para el balanceador de carga que cumpla con las restricciones de nombres. En Esquema, deje seleccionada la opción predeterminada («Orientación a Internet»). Para Tipo de dirección IP, seleccione IPv4.
Paso 3. Continuando, tenemos «Asignación de red»; Seleccione la VPC con la que estamos trabajando aquí. Seleccione también dos zonas de disponibilidad que contengan los destinos. El equilibrador de carga enruta el tráfico entrante a estos destinos.
paso 4 Para los grupos de seguridad, seleccione o cree un nuevo grupo de seguridad para el balanceador de carga que permita la comunicación con el puerto de destino (puerto 80).
paso 5 Ahora vienen los oyentes y el segmento de enrutamiento; Lo que debemos hacer aquí es configurar un oyente eligiendo un protocolo (HTTP aquí) y un puerto. Para la acción predeterminada, seleccione su destino, que corresponde al campo «Reenviar a».
paso 6 Agregar etiquetas y servicios complementarios son pasos opcionales y se pueden omitir. Después de revisar el resumen de configuración y hacer clic en el botón Create Load Balancer:
El equilibrador de carga ya está listo.
Agregue las reglas de reenvío basadas en host
Una vez que se crea el balanceador de carga y su estado se vuelve activo, debemos agregar reglas de reenvío de tráfico.
Paso 1. En la página Load Balancers, seleccione el balanceador de carga y luego vaya a la pestaña Listeners:
Paso 2. Navegue a la pestaña Oyentes y haga clic en el enlace Ver/Editar reglas en la columna Reglas. Una nueva página aparece aquí primero; Haga clic en el icono «+» y luego haga clic en el enlace «Insertar regla».
Paso 3. Para la columna IF (coincidencia total), haga lo siguiente: i) Haga clic en + Agregar condición y establezca el Tipo de regla en Encabezado de host. ii) Ingrese el host o nombre de dominio en el campo correspondiente a la etiqueta «es».
paso 4 Para la columna «Entonces», haga lo siguiente: I) Haga clic en «+ Agregar acción» y establezca la acción en «Reenviar a». ii) seleccionar el grupo objetivo. Guarde la regla y, para otro grupo objetivo, pegue y guarde la regla de la misma manera.
Si no se cumplen las reglas anteriores, se utilizará la regla predeterminada.
registrar el dominio
Para que el enrutamiento basado en host funcione en Internet, debemos registrar los nombres de host con Route 53 y asignarlos al DNS del equilibrador de carga.
Paso 1. En el panel de control de Route 53, seleccione la opción Crear zona alojada:
Paso 2. A continuación, ingrese su nombre de dominio al que se reenviará el tráfico. Establezca el campo Tipo en Zona alojada pública. Haga clic en el botón Crear zona alojada.
Paso 3. En la sección Registros, seleccione Crear registro.
paso 4 En la página Seleccionar política de enrutamiento, seleccione el enlace Ir al asistente, luego seleccione el cuadro Enrutamiento simple y haga clic en Siguiente:
paso 5 Ahora seleccione «Definir un registro simple» y luego ingrese los detalles del registro:
Dominio: Nombre de dominio o subdominio al que reenviar el tráfico.
Tipo de grabación: Tipo de registro DNS. Reenviar valor/tráfico a:
- Seleccione «Alias para la aplicación y Classic Load Balancer»
- Seleccione la región donde se implementará el balanceador de carga
- Seleccione la dirección del balanceador de carga y haga clic en Definir registro simple.
En la página siguiente, haga clic en el botón Crear registros. Siga los mismos pasos para otro nombre de dominio y verifique la entrada anterior en la página Configurar registros.
Probar la configuración
Para verificar el procedimiento anterior, ingrese el nombre DNS del balanceador de carga junto con los nombres de host en un navegador web:
Conclusión
Finalmente encontramos la forma de enrutamiento basado en host en AWS Application Load Balancer. Intente realizar este laboratorio usted mismo y también intente configurar Application Load Balancer con enrutamiento basado en ruta.
referencias: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancer-getting-started.html