Aller au contenu
Cloud medium

OUTSCALE — Internet Service, NAT, EIP et bastion

17 min de lecture

logo 3ds outscale

Une fois le Net créé avec ses Subnets (cf. Réseau — design Net + Subnets), il faut connecter ce réseau à l’extérieur — Internet, datacenter on-premise, ou autres comptes — et organiser les accès humains vers les ressources internes. Cette page couvre les trois passerelles principales d’un Net OUTSCALE (Internet Service, NAT Service, EIP) et le pattern bastion pour l’accès humain SSH. Page tagguée pour les piliers Well-Architected Security (entrée / sortie maîtrisées) et Reliability (architecture de réseau résiliente).

  • Le rôle de l’Internet Service (équivalent IGW AWS) — ouvrir un Net vers Internet en bidirectionnel.
  • Le rôle du NAT Service — laisser sortir le tier privé sans l’exposer.
  • Les EIP (External / Public IP) — IP publiques transférables entre ressources.
  • Le pattern bastion — point d’entrée unique pour les accès SSH humains.
  • Les Route Tables — comment associer chaque Subnet à la bonne passerelle.
  • Créer la chaîne complète IGW + NAT + EIP via oapi-cli.

Internet Service — la passerelle d’entrée et de sortie

Section intitulée « Internet Service — la passerelle d’entrée et de sortie »

L’Internet Service (IGW, équivalent Internet Gateway AWS) est une passerelle bidirectionnelle entre un Net et Internet. Une fois attachée, elle permet :

  • Aux ressources d’un Subnet public d’être joignables depuis Internet (avec une EIP).
  • Aux ressources d’un Subnet public d’initier des connexions sortantes vers Internet.

Une seule Internet Service peut être attachée à un Net donné. Sans Internet Service, le Net est totalement isolé d’Internet.

Pour qu’un Subnet soit considéré comme « public », sa Route Table doit contenir une route 0.0.0.0/0 → Internet Service. C’est la route qui rend le Subnet effectivement public, pas une propriété du Subnet lui-même.

Le NAT Service (NAT Gateway) permet aux ressources d’un Subnet privé d’initier des connexions sortantes vers Internet (pour télécharger des paquets, appeler une API tierce) sans recevoir de connexions entrantes depuis l’extérieur.

C’est le mécanisme qui matérialise la frontière entre les tiers public et privé : les VMs du tier privé peuvent récupérer des mises à jour, mais restent invisibles depuis Internet.

  • Le NAT Service vit dans un Subnet public (il a besoin d’accéder à Internet via l’Internet Service).
  • Il consomme une EIP dédiée (que vous allouez et fournissez à la création).
  • Les Subnets privés routent leur trafic Internet vers le NAT Service via leur Route Table : 0.0.0.0/0 → NAT Service.
  • Un NAT Service est lié à une sous-région : pour la haute disponibilité, prévoir un NAT par sous-région.

Le NAT Service est facturé à l’usage (heure d’existence + données traitées). Pour un projet en production, c’est un poste de coût visible — à anticiper dans le budget.

Une EIP (External Public IP) est une adresse IP publique que vous allouez à votre compte, puis que vous attachez à une ressource (VM, NIC, NAT Service). L’EIP reste votre propriété tant que vous la conservez allouée — vous pouvez la détacher d’une ressource et la rattacher à une autre, sans changer l’adresse IP visible depuis Internet.

  • Frontaux web dans un Subnet public — chaque frontal porte une EIP qui ne change pas même si la VM est recréée.
  • NAT Service — l’EIP du NAT est l’IP que voient les services tiers contactés depuis le tier privé.
  • Bastion — EIP fixe pour pouvoir restreindre les Security Groups SSH des VMs internes à cette IP précise.
  • DNS — pointer un enregistrement A sur une EIP qui survit au redéploiement de la VM derrière.

Une EIP allouée mais non attachée à une ressource active est facturée. Discipline : libérer (DeletePublicIp) toute EIP qui ne sert plus immédiatement.

Le pattern bastion — un point d’entrée unique

Section intitulée « Le pattern bastion — un point d’entrée unique »

Le bastion (ou « jump host ») est une VM dédiée placée dans un Subnet public, dont le seul rôle est de servir de point d’entrée SSH vers les VMs internes (tier privé et tier data). L’utilisateur se connecte d’abord au bastion, puis rebondit en SSH vers la VM cible.

AvantageDétail
Point d’entrée uniqueAucune VM interne n’est joignable depuis Internet — seul le bastion l’est.
Audit centraliséToutes les connexions humaines passent par un seul nœud, qui peut tracer qui se connecte quand vers quoi.
Surface d’attaque réduiteUne seule VM à durcir au maximum (kernel à jour, fail2ban, no password, MFA SSH).
EIP fixeL’IP publique du bastion ne change pas — facile à autoriser dans les Security Groups internes.
Cohabitation propre avec EIMLes comptes utilisateurs sur le bastion peuvent être liés à un IdP (LDAP, SSSD, etc.) pour le cycle de vie.
Internet
[ Internet Service ]
Subnet public (eu-west-2a) Subnet privé (eu-west-2a)
│ │
▼ ▼
[ Bastion + EIP ] ── SSH 22 ──▶ [ VM applicative ]
(SG-to-SG) (sans EIP)

Le Security Group du bastion autorise SSH (port 22) uniquement depuis l’IP du bureau ou d’un VPN. Le Security Group des VMs internes autorise SSH uniquement depuis le SG du bastion (pattern SG-to-SG, cf. Security Groups).

Le bastion classique reste un pattern éprouvé. Pour les organisations qui veulent aller plus loin :

  • SSH agent forwarding ou ProxyJump d’OpenSSH évitent de stocker la clé privée sur le bastion.
  • Tailscale, Cloudflare Access ou solutions ZTNA équivalentes peuvent remplacer le bastion par un mesh d’accès. Ces solutions dépassent le périmètre de la formation mais sont à connaître.
  • Session Manager-like : OUTSCALE n’expose pas de service Session Manager natif équivalent à AWS SSM ; un outil tiers couvre ce besoin si nécessaire.

Les Route Tables (tables de routage) déterminent où va le trafic sortant d’un Subnet, en fonction de l’adresse de destination. Chaque Subnet est associé à une seule Route Table ; cette Route Table contient des routes au format « destination → cible ».

DestinationCibleEffet
<CIDR du Net>localTrafic interne au Net (créée automatiquement, non modifiable)
0.0.0.0/0Internet ServiceSubnet public — trafic Internet bidirectionnel
0.0.0.0/0NAT ServiceSubnet privé — sortie via NAT, pas d’entrée
(aucune route Internet)Subnet data — pas d’accès Internet du tout
<CIDR autre Net>Net PeeringRoutage vers un Net peeré
<CIDR datacenter>Virtual GatewayRoutage VPN site-à-site

Bonne pratique : créer une Route Table dédiée par tier (rt-public, rt-private, rt-data) et associer chaque Subnet à la bonne table. Cela rend les flux explicites et auditables — un audit de sécurité peut lire les routes par tier sans se perdre dans une seule Route Table monolithique.

Voici l’enchaînement minimal pour rendre un Subnet public vraiment public et un Subnet privé capable de sortir.

Fenêtre de terminal
# Créer l'Internet Service (pas de paramètre obligatoire)
oapi-cli CreateInternetService
# La réponse contient InternetServiceId (ex: "igw-12345678")
# Attacher au Net
oapi-cli LinkInternetService \
--InternetServiceId "igw-12345678" \
--NetId "vpc-12345678"
Fenêtre de terminal
# Allouer une EIP (pas de paramètre obligatoire — Outscale en attribue une)
oapi-cli CreatePublicIp
# La réponse contient PublicIpId (ex: "eipalloc-aabbccdd") et l'IP elle-même
Fenêtre de terminal
oapi-cli CreateNatService \
--PublicIpId "eipalloc-aabbccdd" \
--SubnetId "subnet-public-a-id"
# La réponse contient NatServiceId (ex: "nat-1122aabb")

CreateRoute exige RouteTableId, DestinationIpRange et une cible. Pour le tier public, la cible est l’Internet Service ; pour le tier privé, c’est le NAT Service.

Fenêtre de terminal
# Route Internet sur la Route Table du tier public
oapi-cli CreateRoute \
--RouteTableId "rtb-public-id" \
--DestinationIpRange "0.0.0.0/0" \
--GatewayId "igw-12345678"
# Route NAT sur la Route Table du tier privé
oapi-cli CreateRoute \
--RouteTableId "rtb-private-id" \
--DestinationIpRange "0.0.0.0/0" \
--NatServiceId "nat-1122aabb"

5. Allouer une EIP pour le bastion et l’attacher

Section intitulée « 5. Allouer une EIP pour le bastion et l’attacher »
Fenêtre de terminal
# Allouer une seconde EIP pour le bastion
oapi-cli CreatePublicIp
# Récupérer PublicIpId (ex: "eipalloc-bastion01")
# Attacher l'EIP à la VM bastion (déjà créée)
oapi-cli LinkPublicIp \
--PublicIpId "eipalloc-bastion01" \
--VmId "i-bastionvm0"

1. Un NAT Service par sous-région — pilier Reliability

Section intitulée « 1. Un NAT Service par sous-région — pilier Reliability »

Pour la haute disponibilité, ne pas dépendre d’un unique NAT Service. Si la sous-région qui héberge le NAT tombe, toutes les sorties Internet du tier privé tombent avec. Discipline : un NAT Service par sous-région, avec une route 0.0.0.0/0 → NAT local dans la Route Table du Subnet privé de chaque sous-région.

L’EIP du bastion doit être stable pour que les Security Groups internes puissent l’autoriser comme source unique. Si l’IP changeait à chaque redémarrage, il faudrait modifier les SG en permanence. Une EIP allouée et persistante évite cela.

3. Pas d’EIP sur les VMs du tier privé — pilier Security

Section intitulée « 3. Pas d’EIP sur les VMs du tier privé — pilier Security »

Les VMs du tier privé n’ont jamais d’EIP. Leur sortie Internet passe par le NAT Service. Une EIP attachée par erreur les rend joignables directement depuis Internet — ce qui contredit la séparation par tier.

4. Route Table par tier — pilier Operational Excellence

Section intitulée « 4. Route Table par tier — pilier Operational Excellence »

Une Route Table dédiée par tier (rt-public, rt-private, rt-data) avec un nom explicite. Pas de partage de Route Table entre tiers — sinon une modification accidentelle peut affecter plusieurs tiers à la fois.

Un bastion est une cible privilégiée pour les attaques. Discipline minimale :

  • MFA SSH ou clés matérielles uniquement (pas de mot de passe).
  • fail2ban ou équivalent pour bloquer les tentatives répétées.
  • Mises à jour automatiques des paquets de sécurité.
  • Audit logs centralisés (export OOS ou Syslog distant).
  • OS minimaliste — uniquement OpenSSH et les outils strictement nécessaires.

6. Libérer les EIP non utilisées — pilier Cost

Section intitulée « 6. Libérer les EIP non utilisées — pilier Cost »

Une EIP allouée mais non attachée est facturée. Audit régulier (ReadPublicIps) pour repérer celles qui traînent et les libérer.

Le tier data ne doit pas avoir de route Internet (ni IGW ni NAT). Les bases de données et stockages sensibles n’ont aucune raison d’initier de connexions sortantes externes — leur isolation matérialise la défense en profondeur.

AntipatternConséquenceDiscipline correcte
Bastion sans EIP fixeLes SG internes doivent être modifiés en permanenceEIP allouée et persistante
EIP sur une VM du tier privéVM exposée directement à Internet, contradiction avec la séparation par tierSortie via NAT, pas d’EIP
NAT Service unique pour tout le NetPerte d’AZ = perte de toutes les sorties Internet du tier privéUn NAT par sous-région
Route Table partagée entre tiersModification accidentelle multi-tierUne Route Table dédiée par tier
Bastion permissif (mot de passe, pas de MFA)Cible privilégiée d’attaques brute forceMFA SSH, durcissement, audit
EIP allouée mais oubliéeCoût mensuel pour rienAudit régulier, libération
Tier data avec route InternetSurface d’exfiltrationPas de route Internet sur les Subnets data

L’IGW, le NAT Service, les EIP et le bastion constituent ensemble la mécanique d’entrée et de sortie d’un Net. Bien conçus, ils matérialisent les frontières de sécurité :

  • Qui peut entrer ? — Internet Service ouvre une fenêtre vers le tier public uniquement, le bastion concentre les accès humains, les autres tiers sont fermés à Internet.
  • Qui peut sortir ? — NAT Service contrôlé pour le tier privé, pas de sortie Internet pour le tier data.
  • Qui peut atteindre quoi en interne ? — pattern SG-to-SG (cf. Security Groups) qui complète la mécanique réseau par un filtrage applicatif.

La résilience d’un Net dépend de la réplication des passerelles sur plusieurs sous-régions :

  • Internet Service est unique par Net mais ce n’est pas un point de défaillance — il est managé par OUTSCALE en haute disponibilité par construction.
  • NAT Service doit être dupliqué par sous-région pour ne pas créer de SPOF — chaque Subnet privé route vers le NAT de sa sous-région.
  • EIP flottante (sujet du Volet 4 — services managés et alternatives) permet de basculer une IP d’une VM à l’autre en cas de défaillance.

Une nomenclature claire (rt-public-a, rt-private-b, nat-a, igw-monprojet, eip-bastion) et une discipline de Route Tables par tier transforment une architecture potentiellement complexe en quelque chose qui se relit facilement, audit après audit, incident après incident.

  • L’Internet Service est la passerelle bidirectionnelle entre un Net et Internet ; un seul par Net, attaché via LinkInternetService.
  • Le NAT Service vit dans un Subnet public et permet la sortie sans exposition pour le tier privé ; un par sous-région pour la résilience.
  • Les EIP (Public IP) sont des IP publiques transférables entre ressources, à conserver allouées tant qu’elles servent.
  • Le pattern bastion centralise les accès SSH humains : EIP fixe, durcissement, MFA, audit.
  • Les Route Tables déterminent la cible du trafic d’un Subnet ; une Route Table par tier est la bonne discipline.
  • Le tier data n’a jamais de route Internet — pas d’IGW, pas de NAT.
  • EIP non attachée = EIP facturée : audit régulier et libération.
  • L’industrialisation IaC (Volet 3) est le bon endroit pour matérialiser cette chaîne.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn