Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
¿Cómo consigo un enrutamiento basado en rutas en un equilibrador de carga de aplicación?
Pretendo ejecutar varios microservicios detrás del equilibrador de carga de aplicación. Quiero reenviar las solicitudes a grupos objetivo específicos en función de la ruta URL.
Descripción corta
Puedes usar un equilibrador de carga de aplicación para crear un agente de escucha con reglas que reenvíe las solicitudes a los grupos objetivo en función de la URL. Las reglas del patrón de rutas se aplican solo a la ruta de la URL y no a los parámetros de consulta de la URL. Para obtener más información sobre los patrones de ruta, consulta Condiciones de ruta.
Nota: Esta característica no es compatible con el equilibrador de carga clásico, el equilibrador de carga de red ni el equilibrador de carga de puerta de enlace.
Para establecer un enrutamiento basado en rutas en tu equilibrador de carga de aplicación, sigue estos pasos:
- Crea un grupo objetivo.
- Configura las reglas del agente de escucha.
Requisitos previos:
- Inicia las instancias de Amazon Elastic Compute Cloud (Amazon EC2) en Amazon Virtual Private Cloud (Amazon VPC). Para obtener más información, consulta Introducción a Amazon EC2.
- Los grupos de seguridad objetivo de estas instancias de Amazon EC2 permiten el acceso al puerto del agente de escucha y al puerto de comprobación de estado.
- Despliega la aplicación en las instancias de EC2 que quieres registrar en los grupos objetivo. Por ejemplo, consulta Tutorial: Instalación de un servidor LAMP en AL2023.
- Crea un equilibrador de carga de aplicación.
Resolución
Creación de un grupo objetivo
Después de crear las instancias, regístralas en un grupo objetivo. Según las reglas del agente de escucha configuradas, el equilibrador de carga de aplicación envía solicitudes a los objetivos registrados en función del puerto y el protocolo que has especificado. Sin embargo, puedes anular la información del puerto si registras los objetivos de forma individual. Para obtener más información, consulta Creación de un grupo objetivo para el equilibrador de carga de aplicación.
Por ejemplo, supongamos que tienes dos servicios, el servicio A y el servicio B. Las aplicaciones que ejecutan estos servicios utilizan el puerto 80. El servicio A ejecuta una aplicación en la ruta /svcA y el servicio B ejecuta una aplicación en la ruta /svcB.
- Creas dos grupos objetivo con Protocolo como HTTP y Puerto como 80, cada uno con una aplicación desplegada.
- Registras la instancia de Amazon EC2 que ejecuta el servicio A con target-group-A. Para este grupo objetivo, puedes configurar HealthCheckProtocol como HTTP y HealthCheckPath como /svcA.
- Registra la instancia de Amazon EC2 que ejecuta el servicio B con target-group-B. Para este grupo de destino, puedes configurar HealthCheckProtocol como HTTP y HealthCheckPath como /svcB.
Puedes agregar o eliminar objetivos de tus grupos objetivo en cualquier momento. Para obtener más información, consulta Registro de destinos en el grupo objetivo del equilibrador de carga de aplicación.
Después de especificar un grupo objetivo, el equilibrador de carga supervisa continuamente el estado de todos los objetivos que se encuentran en la zona de disponibilidad activada. El equilibrador de carga redirige las solicitudes a los objetivos registrados que estén en buen estado. Para obtener más información, consulta Comprobaciones de estado de los grupos objetivo del equilibrador de carga de aplicación.
Configuración de reglas del agente de escucha
Al crear un agente de escucha para un equilibrador de carga de aplicación, puedes definir una o más reglas además de la regla predeterminada. Una regla se compone de una prioridad, una acción y una o más condiciones. No puedes definir condiciones para la regla predeterminada. Si no se cumple ninguna de las condiciones para las reglas definidas, se lleva a cabo la acción que corresponde a la regla predeterminada.
- Para obtener más información sobre la prioridad de las reglas, consulta Actualización de la prioridad de las reglas.
- Para obtener más información sobre las acciones de las reglas, consulta Tipos de acciones de las reglas.
- Para obtener más información sobre las condiciones de las reglas, consulta Tipos de condiciones de las reglas.
Para implementar el enrutamiento basado en rutas en un equilibrador de carga de aplicación, debes configurar las reglas del agente de escucha. Configura una regla para cada patrón de ruta en función de dónde deseas enrutar las solicitudes.
Ejemplo de reglas del agente de escucha
El siguiente ejemplo muestra las reglas del agente de escucha para los servicios A y B:
Regla del agente de escucha 1: Si la ruta URL de la solicitud contiene la cadena /svcA, reenvía la solicitud a target-group-A. Haces esto porque target-group-A incluye el servicio A que ejecuta una aplicación en la ruta indicada.
Regla del agente de escucha 2: Si la ruta URL de su solicitud contiene la cadena /svcB, reenvía esa solicitud a target-group-B. Haces esto porque target-group-B incluye el servicio B que ejecuta una aplicación en la ruta indicada.
- Para crear un nuevo agente de escucha HTTP, consulta Creación de un agente de escucha HTTP para tu equilibrador de carga de aplicación.
- Para crear un nuevo agente de escucha HTTPS, consulta Creación de un agente de escucha HTTPS para tu equilibrador de carga de aplicación.
Para actualizar las reglas del agente de escucha con condiciones y acciones, sigue estos pasos:
- Abre la consola de Amazon EC2.
- En el panel de navegación, en Equilibrio de carga, selecciona Equilibradores de carga.
- Elige el equilibrador de carga y, a continuación, selecciona Agentes de escucha y reglas.
- Para actualizar el agente de escucha, elige la pestaña Agentes de escucha y reglas y, a continuación, selecciona el texto de la columna Protocol:Port para abrir la página de detalles del agente de escucha.
- En la pestaña Reglas, en la sección Reglas del agente de escucha, selecciona la regla que deseas editar.
- Selecciona Acciones y, a continuación, elige Editar regla.
- Elige Agregar reglas.
- Modifica el nombre y las etiquetas según sea necesario. Para agregar etiquetas adicionales, elige Agregar etiquetas adicionales.
- Selecciona Siguiente.
- Para agregar una regla basada en rutas para /svcA, elige Agregar condición, Ruta y, a continuación, introduce el patrón de ruta /svcA. Selecciona Confirmar.
- Selecciona Siguiente.
- Para agregar una acción de reenvío, selecciona Acciones de enrutamiento como Reenviar a los grupos objetivo y, a continuación, en el menú, elige el grupo objetivo target-group-A.
- Selecciona Siguiente.
- Elige la prioridad adecuada.
- Revisa los detalles y las configuraciones actualizadas de tu regla. Cuando estés conforme con tus selecciones, elige Guardar cambios.
Repite los pasos anteriores para la ruta /svcB con los siguientes cambios:
- En el paso 10, introduce el patrón de ruta /svcB.
- En el paso 12, elige el grupo objetivo target-group-B f.
Para obtener más información, consulta Reglas del agente de escucha para el equilibrador de carga de aplicación.
Nota: Las reglas de enrutamiento basado en rutas buscan una coincidencia exacta. Si su aplicación requieren que las solicitudes se enruten más en estas rutas, incluye un comodín en la condición de la regla de enrutamiento basada en rutas. Utiliza patrones de ruta similares a /svcA* o /svcB* para contabilizar los documentos de estas rutas al enrutar las solicitudes.
Probar el enrutamiento basado en rutas
Para probar el enrutamiento basado en rutas, copia el nombre de DNS de tu equilibrador de carga de aplicación en un navegador web y agrega la ruta URL /svcA o /svcB.
Por ejemplo, supongamos que el equilibrador de carga de aplicación tiene alb-demo-1234567890.us-west-2.elb.amazonaws.com como nombre de DNS.
- http://alb-demo-1234567890.us-west-2.elb.amazonaws.com/svcA debe devolver el servicio A.
- http://alb-demo-1234567890.us-west-2.elb.amazonaws.com/svcB debe devolver el servicio B.
Cuando el agente de escucha del equilibrador de carga de aplicación recibe la solicitud, la reenvía al grupo de destino correspondiente en función de la condición de la ruta.
Si utilizas el enrutamiento basado en rutas, puedes hospedar varios microservicios detrás de un único equilibrador de carga de aplicación. Puedes dirigir el tráfico a cada servicio en función de las reglas del agente de escucha y los grupos objetivo. También puedes enrutar el tráfico en función de condiciones como el encabezado del host, el encabezado del agente de usuario o los valores de los parámetros de consulta. Para obtener más información, consulta Enrutamiento avanzado de solicitudes para equilibradores de carga de aplicación de AWS.
Información relacionada
Solución de problemas de los equilibradores de carga de aplicación
- Etiquetas
- Elastic Load Balancing
- Idioma
- Español
Vídeos relacionados


Contenido relevante
- Respuesta aceptadapreguntada hace 7 meses
- preguntada hace 10 meses
- preguntada hace 10 meses
- preguntada hace un año