es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

AWS NLB: reenvío de solicitudes a diferentes puertos de un único host basado en la ruta.

con este flujo:

mundo externo -> AWS API Gateway -> VPC Link -> Network Load Balancer -> mi única instancia EC2

¿Cómo puedo configurar el Network Load Balancer de AWS para que:

  1. Las solicitudes a https://myapp.com se dirijan al puerto 80 de mi instancia EC2.
  2. Las solicitudes a https://myapp.com/api/* se dirijan al puerto 3000 de mi instancia EC2.

Actualmente solo he configurado un Escucha en el NLB que escucha en el puerto 80 y todo el tráfico desde el API Gateway se dirige al puerto 80 de mi instancia EC2.

He encontrado que en el Balanceador de Carga de Aplicación, puedes configurar “Reglas” que mapean rutas a puertos diferentes: https://stackoverflow.com/questions/57993782/path-based-routing-in-aws-alb-to-single-host-with-multiple-ports

¿Esto está disponible con NLB?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes configurar enrutamiento basado en el path con AWS NLB. Aquí te explicamos cómo puedes enrutar las solicitudes a los puertos correspondientes en tu instancia EC2:

    1. Crea un grupo objetivo para cada puerto al que desees direccionar el tráfico. Por ejemplo, crea un grupo objetivo para el puerto 80 y otro grupo objetivo para el puerto 3000.
    2. Crea dos escuchadores en tu NLB: uno en el puerto 80 y otro en el puerto 443 (asumiendo que estás utilizando HTTPS).

    3. Para el escuchador en el puerto 80, crea una acción predeterminada que dirija el tráfico al grupo objetivo del puerto 80.

    4. Para el escuchador en el puerto 443, crea dos reglas:

    – Una regla que coincida con las solicitudes que tengan una ruta de “/api/*” y las direccione al grupo objetivo del puerto 3000.
    – Una regla que tenga una prioridad menor y coincida con todas las demás solicitudes (es decir, las solicitudes a “https://myapp.com/”) y las direccione al grupo objetivo del puerto 80.

    Con estas configuraciones, las solicitudes a https://myapp.com` serán dirigidas al puerto 80 de tu instancia EC2, y las solicitudes ahttps://myapp.com/api/*` serán dirigidas al puerto 3000 de tu instancia EC2.

Comments are closed.