Équipements réseau (répartiteurs, routeurs, commutateurs, passerelles)
Placez un répartiteur de charge devant une application, reliez deux réseaux privés avec un routeur, réunissez des applications sur un commutateur, donnez-leur une adresse de sortie fixe avec une passerelle NAT, ou reliez un bureau par un VPN site à site.
Ce que c'est
Vos applications, bases de données et services tournent sur des réseaux privés : des overlays VXLAN invisibles depuis l'extérieur du cluster, où les services se trouvent par leur nom. Les équipements réseau sont de petits appareils qu'ISOGrid fait fonctionner pour vous sur ces réseaux, à côté de vos applications. Vos réseaux restent tels quels ; un équipement s'y ajoute.
| Équipement | Ce qu'il fait |
|---|---|
| Répartiteur de charge | Partage le trafic entre toutes les copies de vos applications, vérifie la santé de chacune, peut garder un visiteur sur la même copie et peut être publié sur un port public. |
| Routeur | Relie deux de vos réseaux, un service à la fois : seules les routes que vous ajoutez passent. |
| Commutateur | Un segment partagé : les applications branchées se parlent directement, quel que soit leur réseau. |
| Passerelle NAT | Le trafic sortant de vos applications part d'une adresse fixe, vers les destinations autorisées et nulle part ailleurs. |
| VPN site à site | Relie un réseau à votre bureau ou centre de données via WireGuard : vos applications joignent vos propres serveurs par leur nom. |
Ouvrez Réseaux → Équipements dans la console, ou utilisez
isogrid networks devices en ligne de commande. Chaque modification
s'applique en quelques secondes ; l'état indique Actif une fois terminé. Un
équipement n'utilise que des réseaux de votre organisation, dans une seule
région.
Répartiteur de charge
Un répartiteur écoute sur un port d'un réseau, sous son propre nom, et transmet aux applications derrière lui :
isogrid networks devices create lb web --network app-tier --backend acme-api:8000 --port 80
curl http://web/ # depuis n'importe quelle application de app-tier
- Chaque copie est vérifiée séparément. Une application derrière le répartiteur est désignée par son nom interne (affiché sur sa page). Le répartiteur trouve chacune de ses copies en marche et les vérifie une par une. Une copie en échec ne reçoit plus de trafic jusqu'à ce qu'elle se rétablisse. La répartition propre à Swarm ne le permet pas, car elle cache les copies derrière une seule adresse.
- Répartition : à tour de rôle, vers la copie la moins chargée, ou le même visiteur vers la même copie selon son adresse.
- HTTP ou TCP. Un écouteur HTTP peut vérifier un chemin (
/health, sain en 2xx et 3xx) et garder chaque visiteur sur la même copie grâce à un cookie. Un écouteur TCP (base de données, file de messages) vérifie que la copie accepte les connexions. - Public. Cochez Accessible aussi depuis Internet et l'écouteur est publié sur un port public de la région (affiché sur la page de l'équipement). Le répartiteur fonctionne alors en une copie, sur la machine d'entrée de la région. Sinon il fonctionne en deux copies, pour qu'une mise à jour ne l'interrompe jamais.
Actualiser l'état montre chaque copie telle que le répartiteur la voit : UP, DOWN ou en cours de vérification.
Routeur
Un routeur relie deux réseaux ou plus et ne transporte que les routes que vous ajoutez. Chaque route donne à un service du réseau de destination un nom sur le réseau source :
route db : depuis front -> vers back
billing-db:5432 -> acme-postgres:5432 (TCP)
Une application de front se connecte à billing-db:5432. Rien d'autre de
back n'est joignable depuis front, ni l'inverse, sauf si une autre route
le prévoit. Une route n'accepte que les connexions de son réseau source. Vous
pouvez la restreindre encore à certaines adresses (allowed_sources, dans
l'éditeur JSON). Elle peut écouter sur un autre port que celui du service
(target_port). Les routes transportent TCP ou UDP.
Commutateur
Un commutateur est un segment à part : branchez-y des applications et elles se joignent directement, par leur nom interne ou par le nom supplémentaire donné à chaque port, même si elles vivent sur des réseaux différents. Brancher une application la redémarre une fois, copie par copie. Elle reste ensuite sur le segment à chaque déploiement suivant. Une application pas encore déployée le rejoint à son premier déploiement.
Passerelle NAT
Beaucoup de banques, de prestataires de paiement et d'API publiques n'acceptent que des adresses connues. Une passerelle NAT en donne une à vos applications : le trafic sortant qui passe par elle part de l'adresse d'une machine de la région, affichée sur la page de l'équipement comme Adresse de sortie.
Faites passer le trafic d'une application par elle en définissant, sur cette application :
HTTP_PROXY=http://egress:3128
HTTPS_PROXY=http://egress:3128
NO_PROXY=localhost,127.0.0.1
(la console affiche les valeurs exactes de votre passerelle). Les
destinations autorisées sont des domaines (api.bank.dz, ou .bank.dz
pour le domaine et tout ce qui est dessous) et des blocs d'adresses. Laissez
la liste vide pour autoriser toute destination publique. Les adresses
privées, les réseaux du cluster et les adresses de métadonnées des clouds sont
toujours refusés, quoi que dise la liste. Les ports autorisés sont 80 et 443,
sauf si vous les changez.
VPN site à site
Disponibilité : le VPN site à site est actuellement réservé aux entreprises, pour leurs serveurs sur site.
Une passerelle site à site relie un réseau privé au réseau local derrière le routeur de votre bureau ou centre de données, via WireGuard. Vous indiquez :
- Les réseaux du site : les blocs d'adresses derrière votre routeur, par
exemple
192.168.10.0/24. - Les serveurs joints par vos applications : chacun avec un nom, une
adresse sur le site et ses ports. Avec
erp=192.168.10.20:443, vos applications se connectent àerp:443et atteignent ce serveur. - L'adresse publique de votre routeur (facultatif). Sans elle votre routeur se connecte à ISOGrid ; avec elle, les deux côtés peuvent ouvrir le tunnel.
- Si le site peut aussi joindre les services du réseau.
Téléchargez ensuite la configuration du site et importez-la sur votre routeur (MikroTik, OPNsense, pfSense, Ubiquiti, OpenWrt ou tout appareil WireGuard). Elle contient la clé privée du routeur. Une étape reste de votre côté : routez les adresses du tunnel (affichées sur la page de l'équipement) vers le routeur sur votre réseau local, pour que vos serveurs puissent répondre. Renouveler les clés remplace les clés des deux côtés ; le routeur importe ensuite à nouveau sa configuration.
Vérifier que ça marche
ISOGrid n'offre pas de shell dans vos conteneurs : testez un équipement depuis une petite application sonde. Déployez une image publique (Déployer une application → Depuis un autre registre → Image publique) sur le réseau d'où tester, cochez Fonctionne sans port, définissez sa Commande dans Déploiement progressif et placement → Conteneur, et lisez ses Journaux. Supprimez-la quand vous avez fini.
| Équipement | Image de la sonde | Commande | Si ça marche |
|---|---|---|---|
| Répartiteur | busybox:1.37 |
sh -c "while true; do wget -S -q -O /dev/null http://web/ 2>&1 | head -1; sleep 5; done" |
HTTP/1.1 200 OK |
| Routeur | busybox:1.37 |
sh -c "while true; do nc -zv -w 3 billing-db 5432; sleep 10; done" |
billing-db (10.0.67.2:5432) open |
| Passerelle NAT | curlimages/curl:8.11.1 + HTTPS_PROXY |
sh -c "while true; do curl -sS https://api.ipify.org; echo; sleep 30; done" |
l'Adresse de sortie |
| Site à site | busybox:1.37 |
sh -c "while true; do nc -zv -w 3 erp 443; sleep 10; done" |
erp (…:443) open |
- Actualiser l'état sur la page de l'équipement montre chaque copie derrière un répartiteur, UP ou DOWN, et la Dernière poignée de main d'un tunnel site à site.
- Un répartiteur public se teste aussi depuis votre ordinateur :
curl -i http://<point d'accès public>/. - À travers un routeur,
openprouve seulement que le routeur a répondu. Faites aussi une vraie requête (pg_isready -h billing-db -p 5432depuispostgres:17-alpine, ouwgetsur une page de santé), et vérifiez depuis le réseau de destination que le nom de la route ne se résout pas (nc: bad address). - À travers une passerelle NAT, une destination non autorisée répond
curl: (56) CONNECT tunnel failed, response 403.
Les cours de l'ISOGrid Academy Répartiteurs de charge, Routeurs et commutateurs et Passerelles NAT et VPN site à site détaillent chaque test.
Tarifs
Chaque type d'équipement a un prix par région, comme le reste ; une région qui n'a pas encore fixé le prix d'un type ne le propose pas.