Introduction à l'équilibreur de charge réseau
Découvrez comment les équilibreurs de charge réseau peuvent fournir une distribution automatisée du trafic d'un point d'entrée à plusieurs serveurs dans un ensemble de back-ends.
Modes de fonctionnement
L'équilibreur de charge réseau est un service d'équilibrage de charge qui fonctionne sur les couches 3 et 4 du modèle OSI (Open Systems Interconnection). Ce service offre les avantages de la haute disponibilité et offre un débit élevé tout en maintenant une latence ultra faible. Vous disposez de trois modes dans l'équilibreur de charge réseau dans lesquels vous pouvez opérer :
- Mode Traduction complète des adresses réseau : l'équilibreur de charge réseau traduit à la fois l'adresse IP source et l'adresse IP de destination du paquet avant de l'envoyer au back-end.
- Mode de préservation de la source : l'équilibreur de charge réseau effectue une NAT de destination du processus d'écoute d'équilibreur de charge réseau (VIP) vers l'adresse IP du serveur back-end. Toutefois, il conserve l'adresse IP/le port source d'origine avant de l'envoyer au serveur back-end.
- Mode Transparent (préservation de source/destination) : l'équilibreur de charge réseau ne modifie aucune information du paquet. Ce mode transmet les paquets aux serveurs back-end, fonctionnant efficacement comme un "bump-in-the-wire". Ce mode nécessite que le trafic soit dirigé à travers lui en utilisant une entrée de table de routage VCN.
Le tableau suivant répond aux questions concernant les modes de fonctionnement de l'équilibreur de charge réseau.
Mode | Autres noms | Où est activé ? | Le trafic client utilise-t-il le processus d'écoute ? | Prise en charge des équilibreurs de charge réseau publics ? | Prise en charge des équilibreurs de charge réseau privés ? |
---|---|---|---|---|---|
NAT complet | Aucune. | Activé en désactivant les modes Conservation de l'en-tête source et Conservation de l'en-tête source/destination. | Oui | Oui | Oui |
Conservation de l'en-tête ou du port source |
|
Activé via la configuration de l'ensemble de back-ends (créer ou modifier). | Oui | Oui | Oui |
Conservation de l'en-tête source/de destination (adresse IP/ port) |
|
Activé sur la page Détails de l'équilibreur de charge réseau. | Non | Non | Oui |
Types d'équilibreur de charge réseau
Le service Flexible Network Load Balancer vous permet de créer un équilibreur de charge réseau public ou privé dans votre VCN. Un équilibreur de charge réseau public a une adresse IP publique accessible à partir d'Internet. Un équilibreur de charge réseau privé a une adresse IP provenant du sous-réseau hôte, visible uniquement au sein de votre réseau cloud virtuel. Vous pouvez configurer plusieurs processus d'écoute pour une adresse IP afin d'équilibrer la charge du trafic de couche 4 (TCP/UDP/ICMP). Les équilibreurs de charge publics et privés peuvent acheminer le trafic de données vers n'importe quel serveur back-end situé dans le VCN.
Equilibreur de charge réseau public
Pour accepter le trafic à partir d'Internet, vous devez créer un équilibreur de charge réseau public. Le service lui affecte une adresse IP publique servant de point d'entrée pour le trafic entrant. Associez l'adresse IP publique à un nom DNS convivial via n'importe quel fournisseur DNS.
Un équilibreur de charge de réseau public peut avoir une portée régionale ou propre à un domaine de disponibilité. Le sous-réseau dans lequel l'équilibreur de charge réseau est créé détermine cette portée. Un équilibreur de charge réseau public créé dans un sous-réseau régional a une portée régionale. Un équilibreur de charge de réseau public créé dans un sous-réseau propre à un domaine de disponibilité a une portée propre à ce domaine de disponibilité. Le service Network Load Balancer garantit haute disponibilité et accessibilité même lorsque l'un des domaines de disponibilité rencontre une coupure.
Vous ne pouvez pas indiquer de sous-réseau privé pour un équilibreur de charge public. Pour plus d'informations, reportez-vous à Sous-réseaux publics et privés.
Equilibreur de charge réseau privé
Pour isoler l'équilibreur de charge réseau d'Internet et simplifier la sécurité, créez un équilibreur de charge réseau privé. L'équilibreur de charge réseau lui affecte une adresse IP privée servant de point d'entrée pour le trafic entrant. L'équilibreur de charge réseau est uniquement accessible à partir du réseau cloud virtuel qui contient le sous-réseau régional hôte. Vous pouvez en restreindre davantage l'accès à l'aide de règles de sécurité.
Un équilibreur de charge de réseau privé peut avoir une portée régionale ou propre à un domaine de disponibilité. Le sous-réseau dans lequel l'équilibreur de charge réseau est créé détermine cette portée.
Accessibilité de l'équilibreur de charge réseau
L'équilibreur de charge réseau ne répond pas directement à un paquet ping TCP/UDP ou ICMP client. A la place, l'équilibreur de charge réseau dirige le paquet vers un serveur back-end conformément à la stratégie d'équilibrage de charge. Le serveur back-end renvoie ensuite une réponse au client.
Seuls les équilibreurs de charge réseau privés prennent en charge le protocole ICMP. La fonctionnalité de conservation de l'en-tête source/de destination (adresse IP, port) doit également être activée pour l'équilibreur de charge réseau. Si cette fonctionnalité n'est pas activée ou que vous utilisez un équilibreur de charge réseau public, vous pouvez vérifier son accessibilité via les protocoles disponibles compatibles avec les processus d'écoute (TCP/UDP).
Utilisation d'un équilibreur de charge de réseau privé en tant que prochaine cible de routage de saut avec le routage de transit VCN
Utilisez un équilibreur de charge réseau privé comme cible de routage IP privé de saut suivant avec le routage de transit de réseau cloud virtuel. Cette méthode permet à l'équilibreur de charge réseau de fonctionner en tant qu'équilibreur de charge transparent de couche 3 BITW (Bump-in-the-wire) vers lequel les paquets sont transférés tout au long du chemin jusqu'à leur destination finale. Le routage de transit fait référence à une topologie réseau dans laquelle votre réseau sur site utilise un réseau cloud virtuel connecté pour atteindre des ressources ou des services Oracle au-delà de ce réseau cloud virtuel. Connectez le réseau sur site au réseau cloud virtuel avec FastConnect ou VPN site à site, puis configurez le routage de réseau cloud virtuel de sorte que le trafic transite via le réseau cloud virtuel vers sa destination au-delà du réseau cloud virtuel. Pour plus d'informations, reportez-vous à Routage de transit au sein d'un réseau cloud virtuel hub.
L'équilibreur de charge réseau achemine le trafic utilisateur vers les instances de pare-feu hébergées derrière l'équilibreur de charge réseau dans le réseau cloud virtuel hub à l'aide de tables de routage de réseau cloud virtuel. Ce trafic utilisateur passerait sinon directement de la source à la destination. Dans ce mode, l'équilibreur de charge réseau ne modifie pas les caractéristiques du paquet client, et conserve les informations d'en-tête IP source et de destination client. Cette méthode permet aux appliances de pare-feu d'inspecter le paquet client d'origine et d'appliquer des stratégies de sécurité avant de le transférer aux serveurs back-end d'application dans les réseaux cloud virtuels spoke.
Le schéma ci-après illustre l'architecture d'un équilibreur de charge réseau.
Destination |
Cible |
---|---|
10.0.0.0/24 |
Adresse IP virtuelle d'équilibreur de charge réseau flexible |
10.1.0.0/24 |
Adresse IP virtuelle d'équilibreur de charge réseau flexible |
Destination |
Cible |
---|---|
172.16.0.0/16 |
Passerelle de routage dynamique |
Destination |
Cible |
---|---|
0.0.0.0/0 |
Passerelle Internet |
Destination |
Cible |
---|---|
10.0.0.0/24 |
Passerelle d'appairage local Web hub |
10.1.0.0/24 |
Passerelle d'appairage local de base de données hub |
Destination |
Cible |
---|---|
0.0.0.0/0 |
Adresse IP d'interface sécurisée via un pare-feu |
Tous les équilibreurs de charge réseau
L'équilibreur de charge réseau dispose d'un ensemble de back-ends qui permet d'acheminer le trafic entrant vers des instances de calcul. Un ensemble de back-ends est une entité logique qui comprend les éléments suivants :
- liste des serveurs back-end,
- stratégie d'équilibrage de charge,
- stratégie de vérification de l'état.
Les serveurs back-end (instances de calcul) associés à un ensemble de back-ends peuvent se trouver à n'importe quel emplacement, à condition que les groupes de sécurité réseau, les listes de sécurité et les tables de routage associés autorisent le flux de trafic prévu.
Si votre réseau cloud virtuel utilise des groupes de sécurité réseau, vous pouvez associer votre équilibreur de charge à un groupe de sécurité réseau. Un groupe de sécurité réseau contient un ensemble de règles de sécurité qui contrôlent les types autorisés de trafic entrant et sortant. Les règles s'appliquent uniquement aux ressources du groupe. A l'inverse, si vous utilisez une liste de sécurité, les règles s'appliquent à toutes les ressources des sous-réseaux qui utilisent la liste. Pour plus d'informations sur les groupes de sécurité réseau, reportez-vous à Groupes de sécurité réseau.
Si vous préférez utiliser des listes de sécurité pour votre réseau cloud virtuel, le service Load Balancing peut suggérer des règles de liste de sécurité appropriées. Vous pouvez également les configurer vous-même à l'aide du service Networking. Pour plus d'informations, reportez-vous à Listes de sécurité. Pour obtenir une comparaison détaillée entre les groupes de sécurité réseau et les listes de sécurité, reportez-vous à Règles de sécurité.
Nous vous recommandons de répartir vos serveurs back-end entre tous les domaines de disponibilité de la région.
Utilisation d'adresse IP privée
Un équilibreur de charge réseau public créé dans un sous-réseau public utilise une adresse IP privée fournie par le sous-réseau hôte.
Un équilibreur de charge réseau privé créé dans un sous-réseau unique utilise une adresse IP privée fournie par le sous-réseau hôte.
Concepts relatifs aux équilibreurs de charge réseau
- Serveur back-end
- Serveur d'applications chargé de générer du contenu en réponse au trafic client entrant. En général, vous identifiez les serveurs d'applications par une combinaison unique d'une adresse IPv4 superposée (privée) et d'un port, par exemple 10.10.10.1:8080 et 10.10.10.2:8080. Pour plus d'informations, reportez-vous à Serveurs back-end pour les équilibreurs de charge réseau.Remarque
Le serveur back-end ne peut pas faire office à la fois de client et de back-end car il ne peut pas démarrer le trafic vers l'adresse IP virtuelle de l'équilibreur de charge réseau. - Ensemble de back-ends
- Entité logique définie par une liste des serveurs back-end, une stratégie d'équilibrage de charge et une stratégie de vérification de l'état. L'ensemble de back-ends décide de la façon dont l'équilibreur de charge réseau dirige le trafic vers la collection de serveurs back-end. Pour plus d'informations, reportez-vous à Ensembles de back-ends pour les équilibreurs de charge réseau.
- Vérification de l'état
-
Une vérification d'état est un test qui permet de confirmer la disponibilité des serveurs back-end. Elle peut être une demande ou une tentative de connexion. L'équilibreur de charge applique la stratégie de vérification de l'état à un intervalle spécifié afin de surveiller en continu les serveurs back-end. Si un serveur échoue au test de la vérification de l'état, l'équilibreur de charge le met temporairement hors service. Si ce même serveur le réussit ultérieurement, l'équilibreur de charge le remet en service.
Vous devez configurer la stratégie de vérification de l'état lors de la création d'un ensemble de back-ends. Vous pouvez configurer des vérifications de l'état au niveau TCP, UDP ou HTTP pour les serveurs back-end.
- Les vérifications de l'état au niveau TCP tentent d'établir une connexion TCP avec les serveurs back-end et valident la réponse en fonction du statut de connexion.
- Les vérifications de l'état au niveau UDP tentent d'établir une connexion UDP avec les serveurs back-end et valident la réponse en fonction du statut de connexion.
- Les vérifications de l'état au niveau HTTP envoient des demandes aux serveurs back-end sur un URI donné et valident la réponse en fonction du code de statut ou des données d'entité (corps) renvoyées.
Le service fournit des fonctions de vérification de l'état propres à l'application afin d'améliorer la disponibilité et de réduire la fenêtre de maintenance de l'application. Pour plus d'informations sur la configuration de la vérification de l'état, reportez-vous à Stratégies de vérification de l'état pour les équilibreurs de charge réseau.
- Etat
- Indicateur signalant l'état général des équilibreurs de charge réseau et de leurs composants. Pour plus d'informations, reportez-vous à Etat des équilibreurs de charge réseau.
- Processus d'écoute
- Entité logique qui vérifie le trafic entrant sur l'adresse IP de l'équilibreur de charge réseau. Vous pouvez configurer un numéro de port et un protocole de processus d'écoute. Les protocoles pris en charge sont les suivants :
- UDP
- TCP
- UDP/TCP
- TCP/UDP/ICMP (privé uniquement)
- Adresse IP L3
Remarque
Les équilibreurs de charge réseau privés prennent uniquement en charge le protocole ICMP si la fonctionnalité de conservation de l'en-tête source/de destination (adresse IP, port) est activée. Pour plus d'informations, reportez-vous à Activation de la conservation de la source d'ensemble de back-ends d'équilibreur de charge réseau. Pour plus d'informations, reportez-vous à Equilibreurs de charge réseau.
- Stratégie d'équilibrage de charge réseau
- Une stratégie d'équilibrage de charge réseau indique à l'équilibreur de charge réseau comment répartir le trafic entrant vers les serveurs back-end. Voici quelques stratégies d'équilibreur de charge courantes :
- Hachage à 5 tuples
- Hachage à 3 tuples
- Hachage à 2 tuples
- Régions et domaines de disponibilité
- Le service d'équilibreur de charge réseau gère le trafic d'application sur les domaines de disponibilité d'une région . Une région est une zone géographique précise, tandis qu'un domaine de disponibilité désigne un ou plusieurs centres de données situés dans une région. Une région est composée de plusieurs domaines de disponibilité. Pour plus d'informations, reportez-vous à Régions et domaines de disponibilité.
- Sous-réseau
- Sous-division définie au sein d'un réseau cloud virtuel, par exemple 10.0.0.0/24 et 10.0.1.0/24. Un sous-réseau est composé d'une plage contiguë d'adresses IP qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Pour chaque sous-réseau, vous devez préciser le routage et les règles de sécurité à appliquer. Pour plus d'informations sur les sous-réseaux, reportez-vous à Gestion de sous-réseau et de VCN et à Plages d'adresses IP publiques.
- Balises
-
Vous pouvez appliquer des balises aux ressources pour mieux les organiser en fonction des besoins de votre entreprise. Vous pouvez appliquer des balises lors de la création d'une ressource ou mettre à jour la ressource ultérieurement avec les balises souhaitées. Pour obtenir des informations générales sur l'application de balises, reportez-vous à Balises de ressource.
- Réseau cloud virtuel
- Réseau privé configuré dans les centres de données Oracle comportant des règles de pare-feu et des types spécifiques de passerelle de communication que vous pouvez choisir d'utiliser. Un réseau cloud virtuel couvre un seul bloc CIDR IPv4 contigu de votre choix dans les plages d'adresses IP autorisées. Vous devez disposer d'au moins un réseau cloud virtuel pour pouvoir lancer un équilibreur de charge réseau. Pour plus d'informations sur la configuration des réseaux cloud virtuels, reportez-vous à Présentation de Networking.
- Visibilité
- Indique si l'équilibreur de charge réseau est public ou privé.
- Demande de travail
- Objet indiquant l'état en cours d'une demande d'équilibreur de charge réseau. Network Load Balancer gère les demandes de manière asynchrone. Chaque demande renvoie un ID de demande de travail (OCID) comme réponse. Vous pouvez afficher l'élément de demande de travail pour consulter le statut de la demande. Pour plus d'informations, reportez-vous à Demandes de travail pour les équilibreurs de charge réseau.
Identificateurs de ressource
La plupart des types de ressource Oracle Cloud Infrastructure possèdent un identificateur unique affecté par Oracle appelé ID Oracle Cloud (OCID). Pour plus d'informations sur le format OCID et les autres moyens d'identifier vos ressources, reportez-vous à Identificateurs de ressource.
Méthodes d'accès à Oracle Cloud Infrastructure
Vous pouvez accéder à Oracle Cloud Infrastructure (OCI) à l'aide de la console (interface basée sur un navigateur), de l'API REST ou de l'interface de ligne de commande OCI. Les instructions d'utilisation de la console, de l'API et de l'interface de ligne de commande sont incluses dans les rubriques de cette documentation. Pour obtenir la liste des kits SDK disponibles, reportez-vous à Kits SDK et interface de ligne de commande.
Surveillance des ressources
Vous pouvez surveiller l'état, la capacité et les performances des ressources Oracle Cloud Infrastructure à l'aide de mesures, d'alarmes et de notifications. Pour plus d'informations, reportez-vous à Monitoring et à Notifications.
Pour plus d'informations sur la surveillance du trafic transmis via l'équilibreur de charge réseau, reportez-vous à Mesures d'équilibreur de charge réseau.
Authentification et autorisation
Chaque service d'Oracle Cloud Infrastructure s'intègre à IAM pour l'authentification et l'autorisation, sur toutes les interfaces (consolekit SDK ou interface de ligne de commande, et API REST).
Un administrateur d'une organisation doit configurer des groupes , des compartiments et des stratégies qui déterminent quels utilisateurs peuvent accéder à ces services, à ces ressources et au type d'accès. Par exemple, les stratégies déterminent qui peut créer des utilisateurs, créer et gérer le réseau cloud, créer des instances, créer des buckets, télécharger des objets, etc. Pour plus d'informations, reportez-vous à Gestion des domaines d'identité. Afin d'obtenir des détails spécifiques sur l'élaboration de stratégies pour chacun des différents services, reportez-vous à Référence de stratégie.
Si vous êtes un utilisateur standard (pas un administrateur) et que vous avez besoin des ressources Oracle Cloud Infrastructure de l'entreprise, demandez à un administrateur de configurer pour vous un ID utilisateur. L'administrateur peut confirmer les compartiments que vous pouvez utiliser.
Limites sur les équilibreurs de charge réseau
Chaque équilibreur de charge présente les limites de configuration suivantes :
- Une adresse IPv4 et une adresse IPv6
- 50 ensembles de back-ends
- 512 serveurs back-end par ensemble de back-ends,
- 1 024 serveurs back-end au total
- 50 processus d'écoute
- Limite par défaut de 330 000 connexions simultanées par domaine de disponibilité
Pour obtenir la liste des limites applicables et des instructions de demande d'augmentation de limite, reportez-vous à Limites de service.
Stratégies IAM requises
Pour utiliser Oracle Cloud Infrastructure, un administrateur doit être membre d'un groupe disposant d'un accès sécurisé dans une stratégie par un administrateur de location. Cet accès est requis, que vous utilisiez la console ou l'API REST avec un kit SDK, une interface de ligne de commande ou un autre outil. Si un message vous indique que vous ne disposez pas des droits d'accès ou des autorisations nécessaires, vérifiez auprès de l'administrateur de location le type d'accès dont vous disposez et le compartiment dans lequel votre accès fonctionne.
Pour les administrateurs : pour une stratégie type qui octroie l'accès aux équilibreurs de charge et à leurs composants, reportez-vous à Autoriser les administrateurs réseau à gérer des équilibreurs de charge.
Sachez également qu'une instruction de stratégie avec inspect load-balancers
donne au groupe indiqué la possibilité d'afficher toutes les informations relatives aux équilibreurs de charge. Pour plus d'informations, reportez-vous à Détails de Load Balancing.
Si vous ne connaissez pas les stratégies, reportez-vous à Introduction aux stratégies et à Stratégies courantes.
Stratégies d'équilibreur de charge réseau
Une fois l'équilibreur de charge créé, vous pouvez appliquer des stratégies pour contrôler la répartition du trafic vers les serveurs back-end. Reportez-vous à Création d'un équilibreur de charge réseau.
Le service d'équilibreur de charge réseau prend en charge trois principaux types de stratégie d'équilibreur de charge réseau :
- Hachage à 5 tuples : achemine le trafic entrant en fonction d'un hachage à 5 tuples (port et adresse IP source, port et adresse IP de destination, protocole). Il s'agit de la stratégie d'équilibreur de charge réseau par défaut.Remarque
Lorsque le protocole de processus d'écoute IP L3 est sélectionné, l'équilibreur de charge ne prend pas en charge les stratégies de hachage à 5 tuples. - Hachage à 3 tuples : achemine le trafic entrant en fonction d'un hachage à 3 tuples (adresse IP source, adresse IP de destination, protocole).
- Hachage à 2 tuples : achemine le trafic entrant en fonction du hachage à 2 tuples (adresse IP source, adresse IP de destination).
La stratégie de hachage à 5 tuples fournit une affinité de session au sein d'une session TCP ou UDP donnée, où les paquets de la même session sont dirigés vers le même serveur back-end derrière l'équilibreur de charge réseau flexible. Utilisez une stratégie d'équilibrage de charge réseau à 2 ou 3 tuples pour fournir une affinité de session au-delà de la durée de vie d'une session donnée.
Lorsque la charge ou la capacité de traitement varie entre les serveurs back-end, vous pouvez affiner chacun de ces types de stratégie avec la pondération des serveurs back-end. La pondération a une incidence sur la proportion des demandes acheminées vers chaque serveur. Par exemple, un serveur pondéré à 3 reçoit trois fois plus de connexions qu'un serveur pondéré à 1. Vous pouvez affecter des pondérations en fonction des critères de votre choix, tels que la capacité de traitement du trafic de chaque serveur. Les valeurs de pondération doivent être comprises entre 1 et 100.
Délai d'expiration de connexions inactives
L'équilibreur de charge réseau suit l'état de tous les flux TCP et UDP qui le traversent. Une combinaison de protocole IP, de ports et d'adresses IP source et de destination définit un flux. Le flux peut être enlevé si aucun trafic n'est reçu en provenance du client ou du serveur au-delà du délai d'inactivité. Tous les paquets TCP reçus après le délai d'inactivité sont supprimés. Pour les flux UDP, un paquet ultérieur est considéré comme un nouveau flux et est acheminé vers un nouveau serveur back-end.
La durée d'inactivité est de 6 minutes pour les flux TCP et de 2 minutes pour les flux UDP. Vous pouvez ajuster ces heures lors de la création d'un processus d'écoute pour un équilibreur de charge réseau, ainsi que lors de la modification d'un processus d'écoute existant. Pour plus d'informations, reportez-vous à Modification du délai d'inactivité d'un processus d'écoute.
Journalisation
Les activités d'équilibrage de charge réseau sont consignées dans les journaux de flux de réseau cloud virtuel. Pour plus d'informations, reportez-vous à Journaux de flux de réseau cloud virtuel.
Cryptage
Le service Network Load Balancer ne modifie pas directement le trafic qu'il reçoit. Par conséquent, pour sécuriser le trafic envoyé via l'équilibreur de charge réseau aux back-ends, vous êtes responsable du cryptage des applications sur les back-ends qui reçoivent le trafic. Pour intégrer la terminaison SSL dans un équilibreur de charge, utilisez plutôt le service Load Balancer.