AWS Load Balancer · 6 min read · Dec 10, 2025

Cómo configurar el enrutamiento basado en rutas en un balanceador de carga de aplicaciones de AWS

En AWS, ELB y Elastic Load Balancing existe un concepto donde los servidores pueden ser añadidos o liberados según la demanda de nuestra aplicación y el tráfico entrante de una aplicación se distribuye entre múltiples objetivos. Estos objetivos pueden ser instancias EC2, contenedores y direcciones IP en una o varias Zonas de Disponibilidad. Los tipos soportados de balanceadores de carga de AWS Elastic son Balanceadores de Carga de Aplicaciones (ALB), Balanceadores de Carga de Red (NLB), Balanceadores de Carga de Puerta de Enlace (recientemente lanzados) y Balanceadores de Carga Clásicos. Estos balanceadores de carga tienen diferentes configuraciones, por ejemplo:

  1. Balanceador de Carga de Aplicaciones: Funciona distribuyendo automáticamente el tráfico de aplicación entrante entre dos o más instancias EC2. Podemos definir reglas de enrutamiento según el contenido de la solicitud (enrutamiento basado en contenido). Es un balanceador de carga de capa 7.

  2. Balanceadores de Carga de Red: NLB utiliza datos del protocolo IP (TCP y UDP) para enrutar conexiones a recursos de AWS como EC2, microservicios y contenedores. Es un balanceador de carga de capa 4.

  3. Balanceador de Carga de Puerta de Enlace: Estos se utilizan con dispositivos virtuales de terceros como cortafuegos de próxima generación (NGFW), IPS, IDS, etc. que se ejecutan en instancias EC2. Funciona colocando una única puerta de enlace para el tráfico de múltiples dispositivos virtuales y estos múltiples dispositivos virtuales pueden ser escalados hacia arriba o hacia abajo según la demanda. Esto es bueno para la estabilidad de la red. Es un balanceador de carga de capa 3 (Puerta de Enlace) más capa 4 (Balanceo de Carga).

  4. Balanceador de Carga Clásico: CLB es un balanceador de carga heredado de AWS que se utiliza para el balanceo de carga entre múltiples instancias EC2. Se recomienda para aplicaciones diseñadas dentro de la red EC2-Classic. Es un balanceador de carga de capa 4/7. AWS recomienda evitar este balanceador de carga.

Resumen de esta Guía

En este tutorial, configuraremos el enrutamiento basado en rutas para un Balanceador de Carga de Aplicaciones en AWS. Vamos a usar una cuenta de usuario IAM para esta tarea. Tenemos los siguientes recursos para esta configuración:

  1. Dos Zonas de Disponibilidad, cada una conteniendo al menos una instancia EC2.

  2. Una VPC que tenga al menos una subred pública en cada una de las dos Zonas de Disponibilidad mencionadas. Esta subred pública se utilizará para configurar el balanceador de carga.

  3. Instalar un servidor web en cada instancia y permitir el acceso al puerto 80 en estas instancias utilizando el grupo de seguridad.

Configuración de instancias EC2

Para esta guía hemos configurado dos instancias EC2 de Amazon Linux con el servidor web Apache Httpd instalado en ambas. En un servidor tenemos un directorio ‘signin’ que contiene un archivo index.html con el contenido: “¿Bienvenido Usuario? Inicie sesión para continuar…”.

En otro servidor tenemos un directorio ‘signup’ que contiene un archivo index.html con el contenido: “¿Nuevo Usuario? Regístrese primero…”.

Ambos directorios ‘signin’ y ‘signup’ están dentro del directorio raíz (/var/www/html)

Configurando el grupo de destino

Paso 1. Para enrutar la solicitud primero crearemos dos grupos de destino, uno para cada servidor. Abre la consola de EC2 y en el panel lateral izquierdo, encuentra y selecciona ‘Grupos de Destino’ (Está bajo Balanceo de carga).

Paso 2. En la nueva página, haz clic en el botón ‘Crear grupo de destino’:

Paso 3. Ahora estamos en la página ‘Especificar detalles del grupo’. Bajo la configuración básica, haz lo siguiente:

  1. Elegir un tipo de objetivo: Selecciona ‘Instancias’ aquí.
  2. Nombre del grupo de destino: Dale un nombre adecuado al grupo de destino (‘Sign-In’ en nuestro caso).
  3. Protocolo: HTTP
  4. Puerto: 80
  5. VPC: Selecciona el nombre de tu VPC aquí.
  6. Versión del protocolo: Mantén la opción predeterminada seleccionada. (HTTP1)

Bajo la configuración de ‘Verificaciones de salud’:

  1. Protocolo de verificación de salud: HTTP
  2. Ruta de verificación de salud: ‘Ruta que deseas usar’ (‘/signin’ en nuestro caso)
  3. Mantén la ‘Configuración avanzada de verificación de salud’ en predeterminado. Agrega etiquetas si las necesitas (Opcional). Haz clic en ‘Siguiente’ para continuar.

Registrando instancias EC2 en los Grupos de Destino

Paso 1. Ahora añade una de las instancias EC2 a los grupos de destino anteriores. Selecciona una instancia y luego haz clic en el botón ‘Incluir como pendiente abajo’.

Registrando instancias EC2 en los Grupos de Destino

Paso 2. La instancia seleccionada aparecerá bajo ‘Revisar objetivos’. Ahora haz clic en ‘Crear grupo de destino’.

Creando grupo de destino
Paso 3. En la siguiente ventana, haz clic nuevamente en ‘continuar’. Ahora repite el mismo procedimiento para otro grupo de destino y nómbralo como ‘Sign-Up’. Usa otra instancia (en otra Zona de Disponibilidad) con este grupo de destino y utiliza una ruta de verificación de salud diferente (‘/signup’ en nuestro caso):

Grupos de Destino

Creando el Balanceador de Carga de Aplicaciones

Paso 1. Desde la consola de EC2, dirígete a Balanceadores de Carga y haz clic en el botón Crear Balanceador de Carga y luego selecciona ‘Balanceador de Carga de Aplicaciones’ que se muestra en la nueva página:

Página de ‘Balanceador de Carga de Aplicaciones’
Paso 2. Dale un nombre adecuado (aquí ‘My_Path_ALB’) a tu balanceador de carga. Mantén el esquema en predeterminado (‘Enfrentado a Internet’), selecciona el tipo de dirección IP como IPv4.

Configuración básica del balanceador de carga
Paso 3. Bajo la sección de mapeo de red, selecciona la VPC de destino y en la sección de Mapeos, selecciona las dos Zonas de Disponibilidad que contienen tus objetivos a los que el balanceador de carga enrutaría el tráfico.

Mapeo de red
Paso 4. Configura los Grupos de Seguridad para el balanceador de carga y permite que tu puerto objetivo (puerto 80 en nuestro caso) escuche en:

Configurando Grupos de Seguridad
Paso 5. Selecciona un oyente (HTTP en nuestro caso) e ingresa un puerto para escuchar o elige mantener el puerto predeterminado 80 para solicitudes HTTP. Bajo la acción predeterminada, selecciona el objetivo ‘Sign-in’ para la columna ‘enviar a’:

Configurando oyente
Paso 6. Los pasos opcionales se pueden omitir. Ahora revisa el resumen y presiona el botón ‘Crear balanceador de carga’:

Revisar el resumen del balanceador de carga
Paso 7. Ahora ve nuevamente a la página de ‘Balanceadores de Carga’ y encuentra tu balanceador de carga objetivo aquí:

Página de Balanceadores de Carga

Agregando Reglas de Reenvío Basadas en Rutas

Paso 1. Una vez que el estado del ALB cambie a Activo, procederemos con las Reglas de Reenvío. Haz clic en el nombre del Balanceador de Carga y luego ve a la pestaña de Oyentes.

Paso 2. Haz clic en ‘Ver/Editar reglas’ bajo la columna ‘Reglas’ y luego haz clic en el símbolo ‘+’ seguido de ‘Insertar Regla’:

Reglas basadas en rutas

Agregando Reglas de Reenvío Basadas en Rutas

Paso 3. Bajo la columna ‘SI(todos coinciden)’, haz clic en la flecha desplegable ‘+ Agregar condición’ y selecciona ‘Ruta’ como el tipo de regla y coloca ‘/signin*’ en el campo de texto correspondiente a la etiqueta ‘es’.

Paso 4. Desde la columna ‘Entonces’, haz clic en la flecha desplegable ‘+Agregar acción’ y selecciona ‘Reenviar a’ como la acción. Aquí selecciona el grupo de destino ‘Sign-In’.

Repite los pasos 2 y 3 anteriores para el grupo de destino ‘SignUp’ con la ruta como ‘/signup*’. Después de guardar las reglas, tendremos dos reglas:

Resumen de reglas basadas en rutas

Verificando la Configuración…

Para comprobar si todo está funcionando como se espera, abre un navegador web y pega el DNS del balanceador de carga y añádelo con:

  1. Ruta del grupo de destino ‘Sign-Up’: ‘/signup’

  1. Ruta del grupo de destino ‘Sign-In’: ‘/signin’

Conclusión

Felicidades, finalmente hemos configurado un escenario funcional para el enrutamiento basado en rutas en el balanceador de carga de aplicaciones de AWS.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.