1.5 KiB
1.5 KiB
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 TABLESsur Ubuntu - Bonus : utilisateur Debian non sudo
mysqlcaller
Prérequis
- VirtualBox
- Vagrant
- Terraform
- Ansible installé sur la machine hôte
- Collection Ansible
community.generalpour le moduleufw:
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