Règles de trafic sortant Azure Load Balancer

Les règles de trafic sortant vous permettent de définir explicitement la traduction d’adresses réseau sources (SNAT) pour un Standard Load Balancer public. Cette configuration vous permet d’utiliser les adresses IP publiques de votre équilibreur de charge pour fournir une connectivité Internet sortante pour vos instances back-end.

Cette configuration permet :

  • L’usurpation d’adresse IP
  • Simplification de vos listes d’autorisation.
  • La réduction du nombre de ressources IP publiques pour le déploiement.

Avec les règles de trafic sortant, vous disposez d’un contrôle déclaratif complet sur la connectivité Internet sortante. Les règles de trafic sortant vous permettent de mettre à l’échelle et de régler cette capacité en fonction de vos besoins spécifiques.

Les règles sortantes s’appliquent uniquement lorsque la machine virtuelle (VM) backend ne possède pas d’adresse IP publique au niveau d’instance.

Capture d’écran de la configuration des ports SNAT sur des machines virtuelles avec des règles d’équilibreur de charge sortantes.

Avec les règle de trafic sortant, vous pouvez définir explicitement le comportement SNAT sortant.

Les règles de trafic sortant vous permettent de déterminer :

  • Quelles machines virtuelles sont traduites vers quelles adresses IP publiques.
    • Deux règles où le pool principal 1 utilise les deux adresses IP bleues, et le pool principal 2 utilise le préfixe d’adresse IP jaune.
  • Comment les ports SNAT de trafic sortant sont alloués.
    • Si le pool principal 2 est le seul pool effectuant des connexions sortantes, attribuez au pool principal 2 tous les ports SNAT et aucun au pool principal 1.
  • Les protocoles pour lesquels fournir une traduction sortante.
    • Si le pool principal 2 a besoin de ports UDP pour le trafic sortant et que le pool principal 1 a besoin du protocole TCP, attribuez des ports TCP au pool 1 et des ports UDP au pool 2.
  • La durée à utiliser comme délai d’inactivité des connexions sortantes ( 4 à 120 minutes).
    • S’il existe des connexions de longue durée avec les KeepAlive, réservez les ports inactifs pour les connexions de longue durée pendant jusqu’à 120 minutes. Supposer que les connexions obsolètes sont abandonnées et les mettre en production les ports en 4 minutes pour les nouvelles connexions
  • Envoi ou non d’une réinitialisation TCP au terme du délai d’inactivité.
    • Lors de l’expiration des connexions inactives, est-ce que nous envoyons un RST TCP au client et au serveur afin qu’ils sachent que le flux est abandonné ?

Important

Lorsqu’un pool principal est configuré par adresse IP, il se comporte comme un Load Balancer de base avec le trafic sortant par défaut activé. Pour une configuration et des applications sécurisées par défaut avec des besoins sortants exigeants, configurez le pool principal par carte réseau.

Définition de règle de trafic sortant

Les règles de trafic sortant suivent la syntaxe habituelle des règles d’équilibrage de charge et des règles NAT de trafic entrant : serveur front-end + paramètres + pool back-end.

Une règle de trafic sortant configure la NAT de trafic sortant pour que toutes les machines virtuelles identifiées par le pool backend soient traduites sur le frontend.

Les paramètres permettent de contrôler avec précision l’algorithme de la NAT de trafic sortant.

Mettre à l’échelle la NAT de trafic sortant avec plusieurs adresses IP

Chaque adresse IP supplémentaire fournie par un front-end met à disposition 64 000 ports éphémères supplémentaires que l’équilibreur de charge pourra utiliser en tant que ports SNAT. L’équilibreur de charge utilise des adresses IP selon les besoins en fonction des ports disponibles. L’équilibreur de charge utilisera l’adresse IP suivante une fois que les connexions ne pourront plus être établies avec l’adresse IP actuellement utilisée.

Utilisez plusieurs adresses IP pour planifier des scénarios à grande échelle. Utilisez des règles de trafic sortant pour atténuer l’épuisement SNAT, comme décrit dans Support et résolution des problèmes pour Azure Load Balancer.

Vous pouvez utiliser un préfixe d’IP publique directement avec une règle de trafic sortant.

Un préfixe d’adresse IP publique augmente la mise à l’échelle de votre déploiement. Le préfixe peut être ajouté à la liste d'autorisation des flux provenant de vos ressources Azure. Vous pouvez configurer une configuration IP front-end au sein de l’équilibreur de charge pour référencer un préfixe d’adresse IP publique.

L’équilibreur de charge contrôle le préfixe d’adresse IP publique. La règle de trafic sortant utilisera automatiquement les autres adresses IP publiques contenues dans le préfixe d’adresse IP publique lorsqu’aucune autre connexion sortante ne pourra plus être établie avec l’adresse IP actuellement utilisée dans ce préfixe.

Chacune des adresses IP du préfixe d’IP publique fournit 64 000 ports éphémères supplémentaires par adresse IP que l’équilibreur de charge peut utiliser en tant que ports SNAT.

Délai d’inactivité des flux sortants et réinitialisation TCP

Les règles de trafic sortant ont un paramètre de configuration qui permet de contrôler le délai d’inactivité des flux sortants et de l’ajuster en fonction des besoins de votre application. Le délai d’inactivité des flux sortants est de 4 minutes par défaut. Pour plus d’informations, consultez Configurer les délais d’inactivité.

Le comportement par défaut de l’équilibreur de charge consiste à supprimer silencieusement des flux quand le délai d’inactivité d’un flux sortant est atteint. Le paramètre enableTCPReset active un comportement et un contrôle prévisibles de l’application. Le paramètre détermine s’il faut envoyer une réinitialisation TCP bidirectionnelle (RST TCP) au délai d’expiration du délai d’inactivité sortant.

Pour plus d’informations, y compris sur la disponibilité dans les régions, consultez Réinitialisation TCP au terme du délai d’inactivité.

Sécurisation et contrôle explicites de la connectivité sortante

Les règles d’équilibrage de charge fournissent une programmation automatique de la NAT de trafic sortant. Dans certains scénarios, il est préférable, ou obligatoire, de désactiver la programmation automatique de la NAT de trafic sortant par la règle d’équilibrage de charge. La désactivation via la règle vous permet de contrôler ou d’adapter vous-même le comportement.

Vous pouvez utiliser ce paramètre de deux manières :

  1. Prévention de l’adresse IP entrante pour la SNAT de trafic sortant. Désactivez la NAT de trafic sortant dans la règle d’équilibrage de charge.

  2. Paramétrage de la SNAT de trafic sortant d’une adresse IP utilisée à la fois pour le trafic entrant et le trafic sortant. La NAT automatique de trafic sortant doit être désactivée pour permettre le contrôle par une règle de trafic sortant. Pour changer l’allocation de ports SNAT d’une adresse qui est également utilisée pour le trafic entrant, le paramètre disableOutboundSnat doit être défini sur true.

L’opération de configuration d’une règle de trafic sortant échoue si vous tentez de redéfinir une adresse IP utilisée pour le trafic entrant. Désactivez d’abord la NAT sortante de la règle d’équilibrage de charge.

Important

Votre machine virtuelle n’aura pas de connectivité sortante si vous définissez ce paramètre sur true et que vous n’avez pas de règle de trafic sortant pour définir la connectivité sortante. Certaines opérations de votre machine virtuelle ou de votre application peuvent dépendre d’une connectivité sortante disponible. Assurez-vous de bien comprendre toutes les dépendances de votre scénario, ainsi que les conséquences d’un tel changement.

Dans certains cas, il est préférable pour une machine virtuelle de ne pas créer de flux sortant. Il peut exister une condition qui détermine les destinations qui peuvent recevoir des flux sortants ou celles qui lancent des flux entrants. Utilisez des groupes de sécurité réseau pour déterminer les destinations que la machine virtuelle atteint. Utilisez des groupes de sécurité réseau pour déterminer les destinations publiques qui lancent des flux entrants.

Quand vous appliquez un groupe de sécurité réseau à une machine virtuelle à charge équilibrée, vérifiez les balises de service et les règles de sécurité par défaut.

Vérifiez que la machine virtuelle peut recevoir des demandes de sonde d’intégrité de Azure Load Balancer.

Si un groupe de sécurité réseau bloque les demandes de sonde d’intégrité depuis la balise par défaut AZURE_LOADBALANCER, votre sonde d’intégrité de la machine virtuelle échoue et la machine virtuelle est marquée comme non disponible. L’équilibreur de charge arrête l’envoi de nouveaux flux vers cette machine virtuelle.

Scénarios de règles de trafic sortant

Scénario 1 : Configurer des connexions sortantes pour un ensemble spécifique d’adresses IP publiques ou un préfixe d’adresse IP publique

Configurez les adresses IP publiques utilisées pour les connexions sortantes

Ce scénario s’applique aux machines virtuelles backend sur un Standard Load Balancer public. Utilisez-le pour faire en sorte que les connexions sortantes proviennent d’un ensemble spécifique d’adresses IP publiques ou d’un préfixe IP public. Vous pouvez ensuite ajouter ces adresses ou le préfixe à une liste de permis ou de blocage.

Cette adresse IP publique ou ce préfixe d’adresse IP publique peuvent être les mêmes que ceux utilisés par une règle d’équilibrage de charge.

Pour utiliser une adresse IP publique ou un préfixe différents de ceux utilisés par une règle d’équilibrage de charge :

  1. Créez un préfixe d’adresse IP publique ou une adresse IP publique.
  2. Créez un équilibreur de charge standard public.
  3. Créez un serveur frontal référençant le préfixe d’adresse IP publique ou l’adresse IP publique que vous souhaitez utiliser.
  4. Réutilisez ou créez un pool principal, et placez les machines virtuelles dans un pool principal de l’équilibreur de charge public.
  5. Configurez une règle de trafic sortant sur l’équilibreur de charge public pour permettre à la NAT de trafic sortant pour les machines virtuelles d’utiliser le serveur frontal. Il n’est pas recommandé d’utiliser une règle d’équilibrage de charge pour le trafic sortant. Désactivez la SNAT de trafic sortant sur la règle d’équilibrage de charge.

Scénario 2 : Modifier l’allocation de ports de la SNAT

Configurer les ports SNAT par instance backend

Ce scénario s’applique à un équilibreur de charge public Standard avec une règle sortante. Utilisez-le pour ajuster l’allocation automatique des ports SNAT en fonction de la taille du pool backend, y compris en augmentant l’allocation lorsque vous constatez un épuisement du NAT.

Règle de répartition Comportement
Ports disponibles par frontend Chaque adresse IP publique offre jusqu’à 64 000 ports éphémères.
Ports disponibles par VM Divisez le total des ports disponibles entre les VM du pool backend. Par exemple, une VM peut recevoir jusqu’à 64 000 ports depuis une adresse IP frontale, tandis que deux VM peuvent recevoir jusqu’à 32 000 ports chacune.
Augmentation de l’allocation Spécifiez les ports par multiples de huit. Azure rejette les valeurs qui ne sont pas divisibles par huit. Les règles d’équilibrage de charge et les règles NAT entrantes consomment chacune une plage de huit ports, mais les règles partageant la même plage ne consomment pas de ports supplémentaires.
Validation de capacité Les ports alloués par VM multipliés par le nombre de VM ne peuvent pas dépasser les ports disponibles sur toutes les adresses IP frontend. Azure rejette les allocations qui dépassent cette capacité.
Restauration de l’allocation automatique Spécifiez 0 le nombre de ports.

Par exemple, une allocation de 10 000 ports par VM pour sept VM nécessite 70 000 ports. Une adresse IP frontale ne fournit que 64 000 ports, donc Azure rejette cette configuration. Ajoutez une adresse IP publique supplémentaire à l’interface ou réduisez l’allocation par VM.

Pour plus d’informations, voir le tableau d’allocation des ports NAT.

Scénario 3 : Activer pour le trafic sortant uniquement

Fournir une connectivité sortante sans règles d’entrée

Ce scénario s’applique à un Standard Load Balancer public dont les machines virtuelles backend ont besoin d’une connectivité sortante sans règles d’équilibrage de charge entrante. Configurez la règle sortante seule, sans configurer des règles supplémentaires.

Remarque

Azure NAT Gateway peut fournir une connectivité sortante pour les machines virtuelles sans avoir besoin d’un équilibreur de charge. Pour plus d'informations, consultez Qu'est-ce qu'Azure NAT Gateway ?.

Scénario 4 : NAT de trafic sortant pour les machines virtuelles uniquement (pas en entrée)

Remarque

Azure NAT Gateway peut fournir une connectivité sortante pour les machines virtuelles sans avoir besoin d’un équilibreur de charge. Pour plus d'informations, consultez Qu'est-ce qu'Azure NAT Gateway ?.

Configurez la connectivité de sortie uniquement pour les machines virtuelles de back-end

Ce scénario s’applique aux machines virtuelles qui ont besoin de sortir d’un réseau virtuel sans connectivité entrante. Les règles sortantes d’Azure Load Balancer et Azure NAT Gateway sont les options disponibles.

  1. Créez une adresse IP publique ou un préfixe d’adresse IP publique.
  2. Créez un équilibreur de charge standard public.
  3. Créez un serveur frontal associé à l’adresse IP publique ou au préfixe d’adresse IP publique dédié pour le trafic sortant.
  4. Créez un pool principal pour les machines virtuelles.
  5. Placez les machines virtuelles dans le pool principal.
  6. Configurez une règle de trafic sortant pour activer la NAT de trafic sortant.

Utilisez un préfixe ou une adresse IP publique pour mettre à l’échelle les ports SNAT. Ajoutez l'origine des connexions sortantes à une liste autorisée ou bloquée.

Scénario 5 : NAT de trafic sortant pour équilibreur de charge standard interne

Remarque

Azure NAT Gateway peut fournir une connectivité sortante pour les machines virtuelles utilisant un équilibreur de charge standard interne. Pour plus d'informations, consultez Qu'est-ce qu'Azure NAT Gateway ?.

Fournir une connectivité sortante pour un équilibreur de charge standard interne

Ce scénario s’applique aux machines virtuelles backend qui utilisent un équilibreur de charge standard interne. Ces VM n'ont pas de connectivité sortante tant que vous ne la fournissez pas explicitement via des adresses IP publiques au niveau de l'instance, Azure NAT Gateway, ou une configuration d'équilibreur de charge publique sortante uniquement que vous associez aux membres du pool backend.

Pour plus d’informations, consultez Configuration de l’équilibreur de charge en sortie uniquement.

Scénario 6 : Activer les protocoles TCP et& UDP pour la NAT de trafic sortant avec un équilibreur de charge standard public

Activez TCP et UDP pour le NAT sortant

Ce scénario s’applique à un Standard Load Balancer public. Le NAT sortant automatique correspond au protocole de transport de la règle d’équilibrage de charge. Pour fournir à la fois la connectivité sortante TCP et UDP, configurez une règle sortante qui utilise tous les protocoles.

  1. Désactivez la SNAT de trafic sortant sur la règle d’équilibrage de charge.
  2. Configurez une règle de trafic sortant sur le même équilibreur de charge.
  3. Réutilisez le pool backend de vos machines virtuelles.
  4. Spécifiez "protocol": "All" dans la définition de la règle de trafic sortant.

Si vous utilisez uniquement des règles de NAT de trafic entrant, aucune NAT de trafic sortant n’est fournie.

  1. Placez les machines virtuelles dans un pool backend.
  2. Définir une ou plusieurs configurations IP frontales avec des adresses IP publiques ou un préfixe d’adresse IP publique
  3. Configurez une règle de trafic sortant sur le même équilibreur de charge.
  4. Spécifiez "protocol": "All" dans la définition de la règle de trafic sortant

Limites

  • Le nombre maximal de ports éphémères utilisables par adresse IP frontend est de 64 000.
  • Le délai d’inactivité défini pour un flux sortant doit être compris entre 4 et 120 minutes (240 à 7 200 secondes).
  • L’équilibreur de charge ne prend pas en charge ICMP pour le NAT de trafic sortant. Les seuls protocoles pris en charge sont TCP et UDP.
  • Les règles de trafic sortant peuvent uniquement être appliquées à la configuration IPv4 principale d’une carte réseau. Vous ne pouvez pas créer de règle de trafic sortant pour les configurations IPv4 secondaires d’une machine virtuelle ou d’une appliance virtuelle réseau. La présence de plusieurs cartes réseau est prise en charge.
  • Les règles de trafic sortant pour la configuration IP secondaire ne sont prises en charge que pour IPv6.
  • Toutes les machines virtuelles d’un groupe à haute disponibilité doivent être ajoutées au pool principal pour la connectivité sortante.
  • Toutes les machines virtuelles d’un groupe de machines virtuelles identiques doivent être ajoutées au pool principal pour la connectivité sortante.

Étapes suivantes