[Editor: esta publicación se ha actualizado para reflejar las características compatibles con NGINX Plus y los servicios de equilibrio de carga de Azure a partir de junio de 2021. También se refiere a la API NGINX Plus , que reemplaza y deja obsoleto el módulo de configuración dinámica separado mencionado en la versión original de la publicación.]
Los clientes que utilizan Microsoft Azure tienen tres opciones para equilibrar la carga: NGINX Plus , los servicios de equilibrio de carga de Azure, o NGINX Plus junto con los servicios de equilibrio de carga de Azure. Esta publicación tiene como objetivo brindarle suficiente información para tomar una decisión y también le muestra cómo el uso de NGINX Plus con Azure Load Balancer puede brindarle un equilibrador de carga HTTP de alta disponibilidad con una rica funcionalidad de capa 7 .
Microsoft Azure ofrece a sus usuarios dos opciones de equilibrador de carga: Azure Load Balancer para el equilibrio de carga TCP/UDP básico (en la capa 4, la capa de red) y Azure Aplicação Gateway para el equilibrio de carga HTTP/HTTPS (en la capa 7, la capa de aplicação ) . Si bien estas soluciones funcionan para casos de uso simples, no brindan muchas de las características que vienen estándar con NGINX Plus.
A continuación se muestra una comparación general entre NGINX Plus y las ofertas de equilibrio de carga de Azure:
función | NGINX Plus | Equilibrador de carga de Azure | Puerta de enlace de aplicação de Azure | NGINX Plus y equilibrador de carga de Azure |
---|---|---|---|---|
Equilibrio de carga HTTP y HTTPS | ✅ | ❌ | ✅ | ✅ |
Equilibrio de carga HTTP/2 | ✅ | ❌ | ✅ | ✅ |
Equilibrio de carga de WebSocket | ✅ | ❌ | ✅ | ✅ |
Equilibrio de carga TCP/UDP | ✅ | ✅ | ❌ | ✅ |
Métodos de equilibrio de carga | Avanzada | Simple | Simple | Avanzada |
Persistencia de sesión | Avanzada | Simple | Simple | Avanzada |
Comprobaciones de estado HTTP | Avanzada | Simple | Simple | Avanzada |
Comprobaciones de estado de TCP/UDP | Avanzada | Simple | ❌ | Avanzada |
Terminación SSL/TLS | ✅ | ❌ | ✅ | ✅ |
Límites de velocidad y conexión | ✅ | ❌ | ❌ | ✅ |
Reescritura y redirección de URL | ✅ | ❌ | ✅ | ✅ |
Mapeo de solicitudes de URL | ✅ | ❌ | ✅ | ✅ |
Clúster NGINX Plus activo-activo | ❌ | ❌ | ❌ | ✅ |
Ahora exploremos algunas de las diferencias entre NGINX Plus y los servicios de equilibrio de carga de Azure, sus características únicas y cómo NGINX Plus y los equilibradores de carga de Azure pueden trabajar juntos.
NGINX Plus ofrece una selección de varios métodos de equilibrio de carga además del método Round Robin predeterminado:
Dirección
IP
de origen
y Puerto de
origen
, o la URI.dos
parámetros, NGINX Plus selecciona dos servidores al azar y luego elige entre ellos utilizando el algoritmo de Menos conexiones (predeterminado) o el de Menos tiempo, según esté configurado.Todos los métodos se pueden ampliar asignando diferentes valores de peso a cada servidor backend. Para obtener detalles sobre los métodos, consulte la Guía de administración de NGINX Plus.
Azure Load Balancer ofrece un método de equilibrio de carga, Hash , que de manera predeterminada utiliza una clave basada en los campos de encabezado Dirección
IP
de origen
, Puerto
de origen
, Dirección
IP
de destino
, Puerto
de destino
y Protocolo
para elegir un servidor back-end.
Azure Aplicação Gateway solo proporciona un método round-robin .
La persistencia de la sesión , también conocida como sesiones persistentes o afinidad de sesión , es necesaria cuando una aplicação requiere que todas las solicitudes de un cliente específico continúen enviándose al mismo servidor back-end porque el estado del cliente no se comparte entre los servidores back-end.
NGINX Plus admite tres métodos avanzados de persistencia de sesión :
NGINX Plus también ofrece dos métodos básicos de persistencia de sesión, implementados como dos de los métodos de equilibrio de carga descritos anteriormente:
la dirección
IP
de origen
y el puerto
de origen
, o la URI.Azure Load Balancer admite el equivalente del método hash NGINX Plus, aunque la clave está limitada a determinadas combinaciones de los campos de encabezado Dirección
IP
de origen
, Puerto
de origen
, Dirección
IP
de destino
, Puerto
de destino
y Protocolo
.
Azure Aplicação Gateway admite el equivalente del método Sticky Cookie de NGINX Plus con las siguientes limitaciones: no se puede configurar el nombre de la cookie, su fecha de vencimiento, el dominio, la ruta ni los atributos de cookie HttpOnly
o Secure
.
Nota: Cuando se usa Azure Load Balancer, el método NGINX Plus IP Hash o el método NGINX Plus IP Hash con la dirección
IP
de origen
incluida en la clave, la persistencia de la sesión funciona correctamente solo si la dirección IP del cliente permanece igual durante toda la sesión. Este no siempre es el caso, como cuando un cliente móvil cambia de una red WiFi a una celular, por ejemplo. Para asegurarse de que las solicitudes sigan llegando al mismo servidor backend, es mejor utilizar uno de los métodos avanzados de persistencia de sesión enumerados anteriormente.
Azure Load Balancer y Azure Aplicação Gateway admiten comprobaciones básicas del estado de las aplicação . Puede especificar la URL que solicita el balanceador de carga y considera que el servidor backend está en buen estado si recibe el HTTP esperado.200
código de retorno. Puede especificar la frecuencia de verificación del estado y el período de tiempo de espera antes de que el servidor se considere no saludable. Con Azure Aplicação Gateway, también puede personalizar el código de respuesta esperado y compararlo con el contenido del cuerpo de la respuesta.
NGINX Plus amplía esta funcionalidad con controles de estado avanzados . Además de especificar la URL a utilizar, con NGINX Plus puedes insertar encabezados en la solicitud y buscar diferentes códigos de respuesta, y examinar tanto los encabezados como el cuerpo de la respuesta.
Una característica útil relacionada con NGINX Plus es el inicio lento . NGINX Plus aumenta lentamente la carga de un servidor nuevo o recientemente recuperado para que no se vea abrumado por las conexiones. Esto es útil cuando los servidores backend requieren un tiempo de calentamiento y fallarán si se les da su parte completa de tráfico tan pronto como se muestren como saludables.
NGINX Plus también admite comprobaciones del estado de los servidores TCP y UDP , que le permiten especificar una cadena para enviar y una cadena para buscar en la respuesta.
Azure Load Balancer admite comprobaciones de estado de TCP, pero no ofrece este nivel de supervisión.
NGINX Plus admite la terminación SSL/TLS , al igual que Azure Aplicação Gateway . Azure Load Balancer no lo hace.
Con NGINX Plus, puede configurar múltiples límites para controlar el tráfico hacia y desde su instancia NGINX Plus. Estos incluyen limitar las conexiones entrantes , las conexiones a los nodos back-end , la velocidad de las solicitudes entrantes y la velocidad de transmisión de datos desde NGINX Plus a los clientes.
Azure Aplicação Gateway y Azure Load Balancer no admiten límites de velocidad ni de conexión. Sin embargo, puede utilizar otros servicios de Azure para configurar y habilitar la limitación de velocidad.
NGINX Plus, Azure Aplicação Gateway y Azure Load Balancer admiten lo siguiente:
Cuando se utiliza junto con Azure Load Balancer y Azure Traffic Manager , NGINX Plus se convierte en una solución de equilibrador de carga de alta disponibilidad con una rica funcionalidad de capa 7.
Al usar Azure Load Balancer para equilibrar la carga entre instancias de NGINX Plus en un conjunto de disponibilidad , se crea un equilibrador de carga de alta disponibilidad dentro de una región.
Puede configurar el escalado automático de las instancias de NGINX Plus en función del uso promedio de la CPU. Esto es posible mediante la creación de conjuntos de disponibilidad en el servicio en la nube de Azure que hospeda sus instancias de NGINX Plus. Debes encargarte de la sincronización de los archivos de configuración de NGINX Plus.
También puede configurar el escalamiento automático de sus instancias de backend en función del uso promedio de la CPU. Esto es posible mediante la creación de conjuntos de disponibilidad en el servicio en la nube de Azure que hospeda sus instancias de back-end. Debes encargarte de agregar o eliminar instancias de backend de la configuración de NGINX Plus, lo cual es posible con la API de NGINX Plus .
Para automatizar las actualizaciones de la configuración de NGINX Plus (ya sea en combinación con conjuntos de disponibilidad o al usar NGINX Plus por sí solo), puede integrar un sistema de descubrimiento de servicios con NGINX Plus, ya sea a través de la API de NGINX Plus o a través de DNS, si el sistema tiene una interfaz DNS. Consulte nuestras publicaciones de blog sobre el uso de NGINX Plus con sistemas de descubrimiento de servicios populares:
Para un entorno distribuido globalmente, puede usar Azure Traffic Manager para distribuir el tráfico de los clientes en muchas regiones.
Azure Load Balancer y Aplicação Gateway son administrados por Azure Cloud y ambos brindan una solución de equilibrio de carga de alta disponibilidad.
Una característica de Azure Load Balancer que no está disponible en NGINX Plus es el NAT de origen , en el que el tráfico saliente de las instancias de back-end tiene la misma dirección IP de origen que el equilibrador de carga.
Azure Load Balancer proporciona reconfiguración automática cuando se utiliza la función de escalamiento automático de Azure Cloud.
Si sus requisitos de equilibrio de carga son simples, las ofertas de equilibrio de carga de Azure pueden proporcionar una buena solución. Cuando los requisitos se vuelven más complejos, NGINX Plus es una buena opción. Puede usar NGINX Plus solo o junto con Azure Load Balancer para lograr una alta disponibilidad de las instancias de NGINX Plus.
Para probar NGINX Plus en Microsoft Azure, comience hoy su prueba gratuita de 30 días o contáctenos para analizar sus casos de uso .
"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.