Un réseau privé (VPC) relie vos serveurs sur votre propre plage d'IP, à l'écart d'Internet. Des serveurs peuvent vivre sur un réseau privé sans aucune IP publique ; une passerelle NAT leur donne un accès sortant à Internet, et une Elastic IP associe une adresse publique à l'un d'eux lorsqu'il doit être joignable.
Quand l'utiliser
- Bases de données, caches et files de messages qui ne doivent jamais être exposés publiquement.
- Serveurs d'application derrière un répartiteur de charge, qui peut atteindre des serveurs uniquement privés via le réseau.
- Moins d'adresses IPv4 payantes : seuls les points d'entrée en ont besoin.
- Un trafic interne entre serveurs qui reste hors de l'interface publique.
Créer un réseau
- Ouvrez Networks dans la console et choisissez Create network.
- Donnez-lui un nom, par exemple
prod. - Choisissez une plage d'IP, comme
10.0.0.0/16. - Créez-le.
Les exemples ci-dessous utilisent des adresses de 10.0.1.0/24 à l'intérieur de cette plage.
Choisissez une plage qui ne chevauchera pas le réseau de votre bureau ni un VPN que vous comptez connecter : des plages qui se chevauchent ne peuvent pas être routées proprement.
Attacher des serveurs
- Nouveaux serveurs : sélectionnez le réseau à l'étape réseau de la création d'un serveur. Pour un serveur uniquement privé, désélectionnez l'IPv4 et l'IPv6 publiques.
- Serveurs existants : ouvrez le serveur, allez dans Networking et attachez-le au réseau.
Sur le serveur, l'adresse privée apparaît sur sa propre interface :
ip -brief address
Testez d'un serveur à l'autre :
ping -c 3 10.0.1.5 # example private address
Lier les services à l'adresse privée
Faites écouter les services internes uniquement sur l'interface privée. Exemples :
# PostgreSQL: /etc/postgresql/16/main/postgresql.conf
listen_addresses = '10.0.1.5'
# Redis: /etc/redis/redis.conf
bind 10.0.1.6
Et n'autorisez que la plage du réseau dans pg_hba.conf, UFW ou un pare-feu :
sudo ufw allow from 10.0.0.0/16 to any port 5432 proto tcp
Passerelle NAT : Internet pour les serveurs privés
Un serveur uniquement privé ne peut pas, seul, télécharger des mises à jour ni appeler des API externes. Une passerelle NAT règle ce problème :
- Dans la console, créez une passerelle NAT pour le réseau.
- Confirmez. Le trafic sortant des serveurs du réseau passe désormais par l'adresse publique de la passerelle.
Vérifiez depuis un serveur privé :
curl -4 https://ifconfig.me
sudo apt update
La passerelle NAT ne gère que les connexions initiées depuis l'intérieur. Rien sur Internet ne peut ouvrir une connexion vers vos serveurs privés à travers elle.
Elastic IP : joindre un serveur privé depuis l'extérieur
Une Elastic IP est une IP publique traduite par NAT vers un serveur qui vit sur un réseau privé. Utilisez-la lorsqu'un seul serveur privé doit accepter des connexions depuis Internet, par exemple un relais de messagerie ou un point d'accès VPN, sans lui donner d'interface publique.
- Créez une Elastic IP dans la console.
- Attribuez-la à un serveur privé du réseau.
- Autorisez les ports nécessaires dans le pare-feu du serveur.
Pour plusieurs serveurs derrière une même adresse, un répartiteur de charge est généralement le meilleur choix.
Se connecter aux serveurs privés
Passez par un hôte de rebond doté d'une adresse publique :
ssh -J [email protected] [email protected] # example addresses
Ou faites tourner un VPN sur un serveur et routez la plage du réseau à travers lui ; voir le guide WireGuard. La console du navigateur fonctionne aussi pour tous les serveurs, publics ou non.
Planifier l'architecture
Une architecture de production courante, à petite échelle :
| Serveur | Public | Privé |
|---|---|---|
| Répartiteur de charge | oui (géré) | atteint 10.0.1.0/24 |
web-1, web-2 |
non | 10.0.1.11, 10.0.1.12 |
db-1 |
non | 10.0.1.20 |
| Passerelle NAT | oui | donne aux serveurs web et db un accès sortant |
bastion |
petit serveur avec IPv4 | 10.0.1.5 |
Vous pouvez dessiner exactement cela dans Composer, voir le coût mensuel et l'appliquer dans l'ordre.
API
Les réseaux sont disponibles via l'API à l'adresse https://api.wolkra.com/v1/networks. Voir jetons d'API.
Plus de détails sur les pages produit : réseaux privés, passerelles NAT et adresses IP.
Questions fréquentes
Un serveur peut-il n'avoir aucune IP publique ?
Oui. Rattachez-le uniquement à un réseau privé. Il peut accéder à Internet via une passerelle NAT, et vous vous y connectez via un hôte de rebond, un VPN ou un répartiteur de charge.
Quelle plage d'IP utiliser ?
N'importe quelle plage privée de la RFC 1918, par exemple 10.0.0.0/16, tant qu'elle ne chevauche pas d'autres réseaux que vous voulez connecter, comme celui de votre bureau ou un VPN.
Quelle différence entre une Elastic IP et une IP flottante ?
Une IP flottante est une adresse publique attribuée directement à un serveur et déplaçable d'un serveur à l'autre en quelques secondes. Une Elastic IP est une adresse publique traduite par NAT vers un serveur qui n'existe que sur un réseau privé.
Le trafic sur un réseau privé est-il facturé ?
Le trafic n'est pas mesuré chez Wolkra, sur les interfaces publiques comme privées.