Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Load Balancer proporciona varias funcionalidades para las aplicaciones UDP y TCP.
Dirección IP flotante
Algunos escenarios de aplicación prefieren o requieren que varias instancias de la aplicación usen el mismo puerto en una única VM en el grupo back-end. Entre los ejemplos comunes de reutilización de puertos se incluyen la agrupación en clústeres para alta disponibilidad, dispositivos de red virtuales y la exposición de varios puntos de conexión TLS sin volver a cifrar. Si quiere reutilizar el puerto de back-end en varias reglas, debe habilitar la IP flotante en la definición de la regla. La habilitación de IP flotante permite una mayor flexibilidad.
Estado de IP flotante | Resultado |
---|---|
Dirección IP flotante habilitada | Azure cambia la asignación de direcciones IP a la dirección IP de front-end del equilibrador de carga |
IP flotante deshabilitada | Azure expone la dirección IP de las instancias de máquina virtual |
En los diagramas, se observa cómo funciona la asignación de direcciones IP antes y después de habilitar la IP flotante:
Configuras la dirección IP flotante en una regla del equilibrador de carga mediante el portal de Azure, la API REST, la CLI, PowerShell u otro cliente. Además de la configuración de la regla, también debe configurar el sistema operativo invitado de la máquina virtual para utilizar la dirección IP flotante.
El tipo de regla de dirección IP flotante es el fundamento de varios modelos de configuración del equilibrador de carga. Un ejemplo que está disponible actualmente es la configuración de uno o varios agentes de escucha de grupo de disponibilidad Always On. Con el tiempo, se documentarán más escenarios de este tipo.
Configuración del sistema operativo invitado para la dirección IP flotante
Para que el sistema operativo invitado de la máquina virtual funcione correctamente, debe configurarse para que pueda recibir todo el tráfico que se enlace a la IP y el puerto de front-end del equilibrador de carga. La configuración de VM requiere:
- agregar una interfaz de red de bucle invertido
- configurar el bucle invertido con la dirección IP de front-end del equilibrador de carga.
- asegurarse de que el sistema pueda enviar o recibir paquetes en interfaces que no tienen la dirección IP asignada a esa interfaz. Los sistemas Windows requieren establecer interfaces para usar el modelo de "host débil". En el caso de los sistemas Linux, este modelo se usa normalmente de manera predeterminada.
- Configurar el firewall de host para permitir el tráfico en el puerto IP de front-end.
Nota
En los ejemplos siguientes se usa el protocolo IPv4. Para usar IPv6, sustituya "ipv6" por "ipv4".
Windows Server
Expandir
Ejecute los siguientes comandos en un símbolo del sistema Windows en el servidor una vez por cada VM del grupo de back-end.
Para obtener la lista de nombres de interfaz que tiene en la máquina virtual, escriba este comando:
netsh interface ipv4 show interface
Para la NIC de máquina virtual (administrada por Azure), escriba el siguiente comando después de reemplazar interface-name por el nombre de la interfaz que desea usar:
netsh interface ipv4 set interface <interface-name> weakhostreceive=enabled
Para cada interfaz de bucle invertido agregada, escriba estos comandos después de reemplazar loopback-interface-name por el nombre de la interfaz de bucle invertido e IP flotante y máscara de subred de IP flotante con los valores numéricos adecuados que corresponden a la interfaz frontend del equilibrador de carga:
netsh interface ipv4 add addr <loopback-interface-name> <floating-IP> <floating-IPnetmask> netsh interface ipv4 set interface <loopback-interface-name> weakhostreceive=enabled weakhostsend=enabled
Por último, si el host invitado usa un firewall, asegúrese de que haya configurada una regla para que el tráfico pueda llegar a la VM a través de los puertos adecuados. En esta configuración de ejemplo se supone que existe una configuración de la IP de front-end del equilibrador de carga de 1.2.3.4 y una regla de equilibrio de carga para el puerto 80:
netsh int ipv4 set int "Ethernet" weakhostreceive=enabled netsh int ipv4 add addr "Loopback Pseudo-Interface 1" 1.2.3.4 255.255.255.0 netsh int ipv4 set int "Loopback Pseudo-Interface 1" weakhostreceive=enabled weakhostsend=enabled netsh advfirewall firewall add rule name="http" protocol=TCP localport=80 dir=in action=allow enable=yes
Ubuntu
Expandir
Ejecute los siguientes comandos, mediante una sesión SSH, una vez por cada VM del grupo de back-end.
Para obtener la lista de nombres de interfaz que tiene en la máquina virtual, escriba este comando:
ip addr
Para cada interfaz de bucle invertido agregada, escriba estos comandos después de reemplazar loopback-interface-name por el nombre de la interfaz de bucle invertido e IP flotante y máscara de subred de IP flotante con los valores numéricos adecuados que corresponden a la interfaz frontend del equilibrador de carga:
sudo ip addr add <floating-IP>/<floating-IPnetmask> dev lo:0
Por último, si el host invitado usa un firewall, asegúrese de que haya configurada una regla para que el tráfico pueda llegar a la VM a través de los puertos adecuados. En esta configuración de ejemplo se presupone una configuración de IP frontal del equilibrador de carga de 1.2.3.4, una regla de balanceo de carga para el puerto 80 y el uso de UFW (Firewall sencillo) en Ubuntu.
sudo ip addr add 1.2.3.4/24 dev lo:0 sudo ufw allow 80/tcp
Limitaciones
- Con la IP flotante habilitada en una regla de equilibrio de carga, la aplicación debe usar la configuración IP principal de la interfaz de red para la salida.
- Si la aplicación se enlaza a la dirección IP de front-end configurada en la interfaz de bucle invertido en el sistema operativo invitado, entonces la traducción de direcciones de red saliente de Azure no volverá a escribir el flujo de salida y, por tanto, se producirá un error en el flujo. Revise los escenarios salientes.
- No puede usar IP flotante en las configuraciones de IP secundarias para escenarios de balanceo de carga. Esta limitación no se aplica a los equilibradores de carga públicos en los que la configuración de IP secundaria es IPv6 y parte de una configuración de pila doble, o a las arquitecturas que usan una puerta de enlace NAT para la conectividad saliente.
Pasos siguientes
- Obtenga información sobre el uso de varios front-end con Azure Load Balancer.
- Aprende sobre conexiones salientes de Azure Load Balancer.