Vagrant multi machine : monter un lab multi-VM pour valider ton infra avant la prod

VAGRANT · LAB INFRA · PRÉPROD

Monter un environnement vagrant multi machine proprement permet de valider une infra, un rôle Ansible ou un scénario réseau avant de toucher à la prod. Je pars ici d’un repo GitLab réel pour montrer une méthode simple, utile et reproductible.

Réponse rapide

Un lab vagrant multi machine utile repose sur plusieurs VM nommées, des IP fixes, des ports dédiés, un accès SSH reproductible et un objectif clair de validation. Le but n’est pas seulement de lancer plusieurs machines, mais de recréer un mini parc cohérent pour tester un rôle, une montée de version, une connectivité inter-services ou une checklist préproduction avant impact réel.

Exemple de lab Vagrant multi machine

💡 À retenir

Le vrai gain d’un lab Vagrant multi-VM, ce n’est pas la démo. C’est la capacité à rejouer un test proprement, sur plusieurs OS, avec des paramètres stables, avant de pousser un changement sur une infra qui compte.

Pourquoi créer un lab Vagrant multi-VM avant de toucher à la vraie infrastructure

Quand une équipe doit valider une évolution système, un playbook Ansible ou une nouvelle combinaison de versions, le plus risqué reste souvent l’absence d’environnement intermédiaire crédible. Soit on teste sur un poste local trop simple, soit on improvise sur une VM de préprod mal tenue, soit on modifie la prod trop tôt.

Le mot-clé vagrant multi machine répond à ce problème concret. Avec plusieurs VM définies dans un même Vagrantfile, tu peux reproduire un petit parc de serveurs, rejouer les mêmes commandes et retrouver un environnement cohérent d’une session à l’autre.

Dans un contexte d’entreprise, ce type de lab permet de réduire le risque de dérive entre OS, de valider les prérequis et de raccourcir les allers-retours entre exploitation, automatisation et sécurité. C’est aussi un bon complément à un audit de gouvernance d’infrastructure quand il faut prouver comment les changements sont testés avant mise en production.

⚠️ Piège classique

Un lab jetable sans IP stables, sans conventions de nommage et sans scénario de recréation donne une fausse impression de sécurité. Il faut un environnement qu’on peut détruire et reconstruire sans surprise.

Ce que montre concrètement le repo GitLab vagrant-mon-infra

Le repo source utilisé ici est babidi34/vagrant-mon-infra. Le README pose les prérequis, et surtout le Vagrantfile définit déjà plusieurs machines avec leurs caractéristiques.

🧱

Multi-OS

Le lab couvre Debian 10, 11, 12, 13, CentOS 7 et AlmaLinux 8. C’est utile pour tester une automatisation sur plusieurs bases réelles.

🌐

IP fixes

Chaque VM a son IP privée, ce qui simplifie les tests de connectivité, d’inventaire et de rôles Ansible.

🔑

Accès SSH clair

Le projet prévoit une clé dédiée et des ports forwardés, pratique pour valider vite sans bricolage manuel.

🧪

Reproductible

Tu peux détruire et recréer le lab pour rejouer un scénario proprement et éviter les environnements qui dérivent.

Comment structurer les VM dans un Vagrantfile multi-machine

L’intérêt d’un Vagrantfile multi-VM est de centraliser dans un seul fichier la définition des machines, des ressources et du réseau. Dans le repo, on retrouve une logique claire : nom de machine, box, CPU, mémoire, port forwardé et IP privée.

# Exemple simplifié inspiré du repo
Vagrant.configure("2") do |config|
  config.vm.define "debian13-test" do |node|
    node.vm.box = "debian/trixie64"
    node.vm.network "private_network", ip: "192.168.56.183"
    node.vm.network "forwarded_port", guest: 22, host: 2228, id: "ssh"
  end
end

Ce type de structure permet de savoir immédiatement quelle VM sert à quoi. C’est beaucoup plus fiable qu’un ensemble de machines lancées à la main avec des paramètres oubliés au fil du temps.

# Démarrer tout le lab
vagrant up

# Cibler une seule machine
vagrant up debian13-test

# Se connecter en SSH
vagrant ssh debian13-test

Si tu veux utiliser ce lab pour de l’automatisation, le plus important est la stabilité des noms et des IP. C’est ce qui rend les tests rejouables dans le temps.

# Exemple de validation Ansible après démarrage du lab
ansible -i inventory all -m ping
ansible-playbook -i inventory site.yml

Ce genre de validation s’intègre bien avec une démarche d’maintenance de serveurs Linux quand tu veux éviter les changements non testés sur des machines critiques.

Checklist de validation avant de toucher à la production

✅ Vérifier le provisionnement

Le vagrant up doit se terminer sans erreur et toutes les VM prévues doivent être présentes.

✅ Tester l’accès SSH

Chaque machine doit répondre correctement via vagrant ssh nom-machine.

✅ Valider l’inventaire et les flux réseau

Les IP, les noms de machines et les flux attendus doivent correspondre à ce que tes playbooks ou scripts consomment réellement.

✅ Rejouer le scénario complet

Teste la recréation avec vagrant destroy puis vagrant up pour confirmer que le lab reste sain dans le temps.

Erreurs fréquentes avec un lab Vagrant multi machine

⏱ IP conflitantes

Si tu ne fixes pas les IP, tu compliques les tests réseau, l’inventaire et les diagnostics entre services.

⏱ Ports hôtes déjà utilisés

Les forwarded_port doivent être uniques, sinon le démarrage devient aléatoire ou casse dès le départ.

⏱ Lab trop éloigné de la réalité

Un lab qui ne ressemble pas assez à la cible donne une fausse confiance. Il faut coller au plus près des versions et du scénario réel.

⏱ Lab non rejoué

Un test validé une seule fois ne vaut pas grand-chose si tu ne peux pas reconstruire l’environnement à l’identique plus tard.

FAQ

À quoi sert Vagrant en multi machine ?
À définir plusieurs VM dans un seul Vagrantfile pour simuler un mini parc de machines et tester une infra avant production.
Pourquoi utiliser des IP fixes dans un lab Vagrant ?
Parce que ça rend les tests de connectivité, l’inventaire Ansible et les validations inter-services beaucoup plus stables.
Peut-on tester Ansible avec un lab Vagrant multi-VM ?
Oui. C’est même un très bon usage pour valider rôles et playbooks sur plusieurs OS avant déploiement réel.
Vagrant multi machine remplace-t-il une vraie préproduction ?
Non, mais il réduit fortement le risque en te donnant un environnement cohérent et rejouable pour les premiers tests sérieux.
Quel est le principal piège d’un lab multi-VM ?
Créer un lab qui ne ressemble pas assez à la réalité, ou ne plus pouvoir le recréer exactement plus tard.

Tu veux tester ton infra avant la prod sans bricoler ?

Je peux t’aider à cadrer un lab de validation, fiabiliser tes tests d’automatisation et sécuriser la mise en production de ton infrastructure Linux.

Contacte-moi →

Quitter la version mobile