Configuration IP flottante d’Azure Load Balancer
L’équilibreur de charge offre plusieurs fonctionnalités pour les applications UDP et TCP.
IP flottante
Dans certains scénarios d’application, il est préférable ou nécessaire que plusieurs instances d’application utilisent le même port sur une machine virtuelle du pool principal. Des exemples courants de réutilisation de port incluent le clustering pour la haute disponibilité, les appliances réseau virtuelles, ainsi que l’exposition de plusieurs points de terminaison TLS sans nouveau chiffrement. Si vous souhaitez réutiliser le port principal pour plusieurs règles, vous devez activer la fonctionnalité d’adresse IP flottante dans la définition des règles. L’activation de l’adresse IP flottante permet une plus grande flexibilité.
État d’adresse IP flottante | Résultat |
---|---|
Adresse IP flottante activée | Azure fait passer le mappage d’adresses IP à l’adresse IP frontale de l’équilibreur de charge |
Adresse IP flottante désactivée | Azure expose l’adresse IP des instances de machine virtuelle |
Dans les schémas, vous voyez comment fonctionne le mappage d’adresses IP avant et après l’activation des IP flottantes :
Vous configurez l’IP flottante sur une règle d’équilibreur de charge par le biais du portail Azure, de l’API REST, de l’interface CLI, de PowerShell ou d’un autre client. En plus de la règle, vous devez configurer le système d’exploitation invité de votre machine virtuelle pour utiliser l’IP flottante.
Le type de règle faisant appel à l’adresse IP flottante constitue la base de plusieurs modèles de configuration d’équilibrage de charge. Un exemple actuellement disponible est la configuration Configurer un ou plusieurs écouteurs de groupe de disponibilité Always On. Au fil du temps, nous documenterons un plus grand nombre de ces scénarios.
Configuration du système d’exploitation invité pour l’IP flottante
Pour ce faire, vous configurez le système d’exploitation invité de la machine virtuelle pour recevoir tout le trafic lié à l’adresse IP frontale et au port de l’équilibreur de charge. La configuration de la machine virtuelle nécessite :
- l’ajout d’une interface réseau de bouclage ;
- la configuration de la boucle avec l’adresse IP frontale de l’équilibreur de charge ;
- s’assurer que le système peut envoyer/recevoir des paquets sur les interfaces qui ne possèdent pas l’adresse IP qui leur a été attribuée. Les systèmes Windows nécessitent la d’interfaces de réglage pour utiliser le modèle « hôte faible ». Pour les systèmes Linux, ce modèle est normalement utilisé par défaut.
- la configuration du pare-feu hôte pour autoriser le trafic sur le port IP frontal.
Notes
Les exemples ci-dessous utilisent tous IPv4 ; pour utiliser IPv6, remplacez « ipv4 » par « ipv6 ».
Windows Server
Développez
Pour chaque machine virtuelle du pool de back-ends, exécutez les commandes suivantes à une invite de commandes Windows sur le serveur.
Pour obtenir la liste des noms d’interfaces que vous avez sur votre machine virtuelle, tapez la commande suivante :
netsh interface ipv4 show interface
Pour la carte réseau de machine virtuelle (managée par Azure), tapez la commande suivante :
netsh interface ipv4 set interface <interfacename> weakhostreceive=enabled
(remplacez interfacename par le nom de cette interface)
Pour chaque interface de bouclage que vous avez ajoutée, répétez les commandes suivantes :
netsh interface ipv4 add addr <loopbackinterfacename> floatingip floatingipnetmask
netsh interface ipv4 set interface <loopbackinterfacename> weakhostreceive=enabled weakhostsend=enabled
(remplacez loopbackinterfacename par le nom de cette interface de bouclage et floatingip et floatingipnetmask par les valeurs appropriées, par exemple celles qui correspondent à l’adresse IP frontale de l’équilibreur de charge)
Enfin, l’hôte invité utilise un pare-feu, assurez-vous qu’une règle est configurée afin que le trafic puisse atteindre la machine virtuelle sur les ports appropriés.
Cette exemple de configuration suppose une configuration IP frontale de l’équilibreur de charge de 1.2.3.4 et une règle d’équilibrage de charge pour le port 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
Développez
Pour chaque machine virtuelle du pool de back-ends, exécutez les commandes suivantes via une session SSH.
Pour obtenir la liste des noms d’interfaces que vous avez sur votre machine virtuelle, tapez la commande suivante :
ip addr
Pour chaque interface de bouclage, répétez ces commandes, qui attribuent l’adresse IP flottante à l’alias de bouclage :
sudo ip addr add <floatingip>/<floatingipnetmask> dev lo:0
(remplacez floatingip et floatingipnetmask par les valeurs appropriées qui correspondent à l’adresse IP frontale de l’équilibreur de charge)
Enfin, l’hôte invité utilise un pare-feu, assurez-vous qu’une règle est configurée afin que le trafic puisse atteindre la machine virtuelle sur les ports appropriés.
Cette exemple de configuration suppose une configuration IP frontale de l’équilibreur de charge de 1.2.3.4 et une règle d’équilibrage de charge pour le port 80. Cet exemple suppose également l’utilisation d’UFW (Uncomplicated Firewall) dans Ubuntu.
sudo ip addr add 1.2.3.4/24 dev lo:0
sudo ufw allow 80/tcp
Limitations
- Une fois l’IP flottante activée sur une règle d’équilibrage de charge, votre application doit utiliser la configuration IP principale de l’interface réseau pour le trafic sortant.
- Si votre application se lie à l’adresse IP front-end configurée sur l’interface de bouclage du système d’exploitation invité, la sortie Azure ne réécrit pas le flux sortant, et le flux échoue. Passez en revue les scénarios de sortie.
- Vous ne pouvez pas utiliser une adresse IP flottante sur des configurations IP secondaires pour des scénarios d’équilibrage de charge. Cette limitation ne s’applique pas aux équilibreurs de charge publics où la configuration IP secondaire est IPv6 dans le cadre d’une configuration à double pile ou aux architectures qui utilisent une passerelle NAT Gateway pour la connectivité sortante.
Étapes suivantes
- Découvrez comment utiliser plusieurs front-ends avec Azure Load Balancer.
- Découvrez les connexions sortantes d’Azure Load Balancer.