2026-06-04 09:45:51 +02:00
2026-06-04 09:45:51 +02:00
2026-06-04 09:45:51 +02:00
2026-06-04 09:45:51 +02:00
2026-06-04 09:45:51 +02:00
2026-06-04 09:45:51 +02:00
2026-06-04 09:45:51 +02:00

TP Final - Vagrant + Terraform + Ansible

Objectif

  • 1 VM Ubuntu et 1 VM Debian sur le réseau privé 192.168.56.0/24
  • MySQL dans Docker sur Ubuntu
  • Mot de passe MySQL généré par Terraform
  • UFW sur Ubuntu : ports 22 et 3306, avec 3306 seulement depuis 192.168.56.0/24
  • Test MySQL depuis Debian via Ansible
  • Copie du fichier SQL sur Debian
  • Exécution du SQL depuis Debian vers MySQL Ubuntu
  • Vérification avec SHOW TABLES sur Ubuntu
  • Bonus : utilisateur Debian non sudo mysqlcaller

Prérequis

  • VirtualBox
  • Vagrant
  • Terraform
  • Ansible installé sur la machine hôte
  • Collection Ansible community.general pour le module ufw :
ansible-galaxy collection install community.general

Installation rapide sous Linux

Un script est fourni pour Debian/Ubuntu :

bash scripts/install-deps-linux.sh

Le script ajoute les dépôts officiels HashiCorp et Oracle VirtualBox, installe VirtualBox, Vagrant, Terraform, Ansible, puis la collection community.general.

Lancer

terraform init
terraform apply

Récupérer le mot de passe MySQL

terraform output --raw mysql_password

Relancer uniquement Ansible

ANSIBLE_CONFIG=ansible/ansible.cfg ansible-playbook -i ansible/inventory.ini ansible/site.yml

Nettoyer

terraform destroy

Si vous avez modifié manuellement le Vagrantfile entre deux exécutions et que Vagrant garde des entrées obsolètes, vous pouvez nettoyer son cache avec :

vagrant global-status --prune
S
Description
No description provided
Readme 32 KiB
Languages
HCL 100%