Partager via


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 : Ce schéma montre le trafic réseau qui traverse un équilibreur de charge avant l’activation des IP flottantes.

Ce schéma montre le trafic réseau qui traverse un équilibreur de charge 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.

Remarque

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 serveurs de back-end, exécutez les commandes suivantes à une invite de commande Windows sur le serveur.

  1. Pour obtenir la liste des noms d’interface que vous avez sur votre machine virtuelle, entrez cette commande :

    netsh interface ipv4 show interface 
    
  2. Pour la carte réseau de machine virtuelle (gérée par Azure), entrez la commande suivante après avoir remplacé le nom de l’interface par le nom de l’interface que vous souhaitez utiliser :

    netsh interface ipv4 set interface <interface-name> weakhostreceive=enabled
    
  3. Pour chaque interface de bouclage que vous avez ajoutée, entrez ces commandes après avoir remplacé le nom de l’interface de bouclage par le nom de l’interface de bouclage et l’adresse IPflottante et le masque IPnet flottant avec les valeurs appropriées qui correspondent à l’adresse IP frontale de l’équilibreur de charge :

    netsh interface ipv4 add addr <loopback-interface-name> <floating-IP> <floating-IPnetmask>
    netsh interface ipv4 set interface <loopback-interface-name> weakhostreceive=enabled  weakhostsend=enabled 
    
  4. 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.

  1. Pour obtenir la liste des noms d’interfaces que vous avez sur votre machine virtuelle, tapez la commande suivante :

    ip addr
    
  2. Pour chaque interface de bouclage que vous avez ajoutée, entrez ces commandes après avoir remplacé le nom de l’interface de bouclage par le nom de l’interface de bouclage et l’adresse IPflottante et le masque IPnet flottant avec les valeurs appropriées qui correspondent à l’adresse IP frontale de l’équilibreur de charge :

    sudo ip addr add <floating-IP>/<floating-IPnetmask> dev lo:0
    
  3. 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. Cet exemple de configuration suppose une configuration IP frontale de l’équilibreur de charge 1.2.3.4, une règle d’équilibrage de charge pour le port 80 et l’utilisation d’UFW (Pare-feu non compliqué) dans Ubuntu.

    sudo ip addr add 1.2.3.4/24 dev lo:0
    sudo ufw allow 80/tcp
    

Limites

  • 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 frontale configurée sur l’interface de bouclage dans le système d’exploitation invité, la connexion sortante d’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 et une partie d’une configuration à double pile, ou aux architectures qui utilisent une passerelle NAT pour la connectivité sortante.

Étapes suivantes