Política de reenvío (balanceadores de carga compartidos)
Escenarios
Puede agregar las políticas de reenvío a oyentes de HTTP o de HTTPS para reenviar solicitudes a diferentes grupos de servidores backend basados en nombres de dominio o URL.
Esto es adecuado para aplicaciones que se implementan en varios servidores backend y proporcionan múltiples tipos de servicios, como vídeos, imágenes, audios y textos.
Una política de reenvío consiste en una regla de reenvío y una acción.
- Hay dos tipos de reglas de reenvío: nombre de dominio y URL.
- Los oyentes de HTTP pueden reenviar solicitudes a un grupo de servidores backend y redirigir solicitudes a otro oyente.
- Los oyentes de HTTPS pueden reenviar solicitudes a un grupo de servidores backend.
Cómo se combinan las solicitudes
- Después de agregar una política de reenvío, el balanceador de carga reenvía las solicitudes basadas en el nombre de dominio o URL especificado:
- Si el nombre de dominio o la dirección URL de una solicitud coincide con el especificado en la política de reenvío, la solicitud se reenvía al grupo de servidores backend que seleccione o cree al agregar la política de reenvío.
- Si el nombre de dominio o la URL de una solicitud no coinciden con lo especificado en la política de reenvío, la solicitud se reenvía al grupo de servidores backend predeterminado del oyente.
- Prioridad coincidente:
- Las prioridades de las políticas de reenvío son independientes entre sí, independientemente de los nombres de dominio. Si una regla de reenvío utiliza tanto nombres de dominio como los URL, las solicitudes se hacen coincidir en función de los nombres de dominio primero.
- Si la regla de reenvío es un URL, las prioridades siguen el orden de coincidencia exacta, coincidencia de prefijo y coincidencia de expresión regular. Si los tipos coincidentes son los mismos, cuanto mayor sea la longitud del URL, mayor será la prioridad.
Solicitud |
Política de reenvío |
Regla de reenvío |
Valor especificado |
---|---|---|---|
www.elb.com/test |
1 |
URL |
/test |
2 |
Nombre de dominio |
www.elb.com |
En este ejemplo, la solicitud www.elb.com/test coincide con las políticas de reenvío 1 y 2, pero se enruta según la política de reenvío 2.
Restricciones y limitaciones
- Las políticas de reenvío solo se pueden agregar a los oyentes HTTP y HTTPS.
- Las políticas de reenvío deben ser únicas.
- Se puede configurar un máximo de 100 políticas de reenvío para un oyente. Si el número de políticas de reenvío excede la cuota, no se aplicarán las políticas de reenvío en exceso.
- Cuando agregue una política de reenvío, tenga en cuenta lo siguiente:
- Cada ruta de URL debe existir en el servidor backend. Si la ruta no existe, el servidor backend devolverá 404 Not Found.
- En la coincidencia de expresiones regulares, los caracteres se hacen coincidir secuencialmente y la coincidencia termina cuando cualquier regla se hace coincidir correctamente. Las reglas de coincidencia no pueden superponerse entre sí.
- No se puede configurar una ruta de dirección URL para dos políticas de reenvío.
- Un nombre de dominio no puede superar los 100 caracteres.
Si agrega una política de reenvío que sea la misma que una existente invocando a las API, habrá un conflicto. Incluso si elimina la política de reenvío existente, la nueva política de reenvío sigue siendo defectuosa. Elimine la nueva política de reenvío agregada y agregue una diferente.
Adición de una política de reenvío
- Inicie sesión en la consola de gestión.
- En la esquina superior izquierda de la página, haga clic en y seleccione la región y el proyecto deseados.
- Pase el ratón sobre en la esquina superior izquierda para mostrar Service List y elija Networking > Elastic Load Balance.
- Busque el balanceador de carga y haga clic en su nombre.
- En la página de ficha Listeners, agregue una política de reenvío de cualquiera de las siguientes maneras:
- En la página Listeners, busque el oyente y haga clic en Add/Edit Forwarding Policy en la columna Forwarding Policies.
- Localice el oyente de destino, haga clic en su nombre y haga clic en Forwarding Policies.
- Haga clic en Add Forwarding Policy. Configura los parámetros basados en Tabla 2.
- Una vez completada la configuración, haga clic en Save.
Parámetro |
Descripción |
Valor de ejemplo |
|
---|---|---|---|
Forwarding Rule |
Domain name |
Especifica el nombre de dominio utilizado para reenviar solicitudes. El nombre de dominio de la solicitud debe coincidir exactamente con el de la política de reenvío. Debe especificar un nombre de dominio o un URL. |
www.test.com |
URL |
Especifica el URL utilizado para reenviar solicitudes. Hay tres reglas de coincidencia de URL: |
/login.php |
|
Action |
Forward to a backend server group |
Si la solicitud coincide con la regla de reenvío configurada, la solicitud se reenvía al grupo de servidores backend especificado. |
Reenvío a un grupo de servidores backend |
Redirect to another listener |
Si la solicitud coincide con la regla de reenvío configurada, la solicitud se redirige al oyente especificado de HTTPS. Esta acción solo se puede configurar para oyentes de HTTP.
NOTA:
Si selecciona Redirect to another oyente y crea una redirección para el oyente actual, este oyente redirigirá las solicitudes al oyente de HTTPS especificado, pero el control de acceso configurado para el oyente seguirá teniendo efecto. Por ejemplo, si configura una redirección para un oyente de HTTP, las solicitudes de HTTP para acceder a una página web serán redirigidas al oyente de HTTPS que seleccione y manejadas por los servidores backend asociados con el oyente de HTTPS. Como resultado, los clientes acceden a la página web con HTTPS. La configuración del oyente de HTTP no será válida. |
N/A |
|
Backend Server Group |
Seleccione un grupo de servidores backend que recibirá solicitudes del balanceador de carga. Este parámetro es obligatorio cuando se establece Action en Forward to a backend server group. |
N/A |
|
Listener |
Seleccione un oyente de HTTPS que recibirá solicitudes redirigidas desde el oyente de HTTP actual. Este parámetro es obligatorio cuando Action se establece en Redirect to another listener. |
N/A |
Ejemplo de coincidencia de URL
En la siguiente tabla se muestra cómo se compara una dirección URL y Figura 1 muestra cómo se reenvía una solicitud a un grupo de servidores backend.
Regla de coincidencia de URL |
URL |
URL en la política de reenvío |
|||
---|---|---|---|---|---|
N/A |
N/A |
/elb/index.html |
/elb |
/elb[^\s]* |
/index.html |
Coincidencia exacta |
/elb/index.html |
√ |
N/A |
N/A |
N/A |
Coincidencia de prefijos |
√ |
√ |
N/A |
N/A |
|
Coincidencia de expresiones regulares |
√ |
N/A |
√ |
N/A |
En esta figura, el sistema primero busca una coincidencia exacta del URL solicitado (/elb_gls/glossary.html). Si no hay coincidencia exacta, el sistema busca una coincidencia de prefijo. Si se encuentra una coincidencia, la solicitud se reenvía al grupo 2 de servidores de backend incluso si también se encuentra una coincidencia de expresión regular, porque la coincidencia de prefijo tiene una prioridad más alta.
Modificación de una política de reenvío
- Inicie sesión en la consola de gestión.
- En la esquina superior izquierda de la página, haga clic en y seleccione la región y el proyecto deseados.
- Pase el ratón sobre en la esquina superior izquierda para mostrar Service List y elija Networking > Elastic Load Balance.
- Busque el balanceador de carga y haga clic en su nombre.
- Haga clic en Listeners, busque el oyente y haga clic en su nombre.
- En la página de ficha Forwarding Policies, seleccione la política de reenvío y haga clic en Edit.
- Modifique los parámetros y haga clic en Save.
Eliminación de una política de reenvío
- Inicie sesión en la consola de gestión.
- En la esquina superior izquierda de la página, haga clic en y seleccione la región y el proyecto deseados.
- Pase el ratón sobre en la esquina superior izquierda para mostrar Service List y elija Networking > Elastic Load Balance.
- Busque el balanceador de carga y haga clic en su nombre.
- Haga clic en Listeners, busque el oyente y haga clic en su nombre.
- En la página de ficha Forwarding Policies, seleccione la política de reenvío y haga clic en Delete en la parte superior derecha.
- En el cuadro de diálogo que se muestra, haga clic en Yes.