â PrĂ©-requis :
– >RedHat Ansible tĂ©lĂ©chargĂ© et configurĂ© dans le systĂšme local.
>VĂ©rifiez mon article prĂ©cĂ©dent pour Ansibleđđ:
~ĂnoncĂ© du problĂšme:
âŠïž DĂ©ployer un serveur Web sur AWS par ANSIBLE!
đč Provisionner une instance EC2 par ansible.
đč RĂ©cupĂ©rer l’adresse IP de l’instance en utilisant le concept d’inventaire dynamique.
đč Configurer le serveur web Ă travers ansible!
- Comme Ansible est construit au-dessus de python, un kit de développement logiciel (SDK) Python est nécessaire qui permet la configuration des services AWS. Ce kit est une API orientée objet nommée boto3.
pip3 install boto3 //assuming python3 is installed
âSTEP-1)
- Dans la premiĂšre Ă©tape, j’ai provisionnĂ© une instance ec2 avec ce playbook.
- Ici, le systĂšme RedHat lui-mĂȘme appelle l’API pour la configuration sur AWS, et cette procĂ©dure est faite sur la machine locale c’est pourquoi l’hĂŽte est censĂ© ĂȘtre localhost.
- Pour l’authentification au compte AWS, crĂ©ez un utilisateur IAM qui a moins de privilĂšges que le compte root. Les clĂ©s AWS_ACCESS_KEY et AWS_SECRET sont passĂ©es explicitement par un coffre-fort Ansible nommĂ© secret.yml
âSTEP-2)
> L’instance a Ă©tĂ© lancĂ©e ! Et ensuite ? đ€đ€
Nous devons dĂ©verser l’adresse IP de cette instance dans le fichier d’inventaire et faire la suite de la procĂ©dure !
Je me demande si je vais simplement Ă©crire l’IP dans le fichier d’hĂŽteđ€ ? ? NAH ! Pas manuellementđ€«đ€«
ET C’EST LĂ QUE đ„DYNAMIC INVENTORYđ„ ENTRE EN JEU :
âL’inventaire dynamique ansible est un concept qui contient des scripts qui fonctionnent comme des API externes et tire les informations(faits) d’un fournisseur particulier.
âLes faits rassemblĂ©s seront dĂ©versĂ©s dynamiquement dans le fichier d’hĂŽtes et en outre, nous pouvons crĂ©er des groupes de ces hĂŽtes selon les besoins.
âCopiez les fichiers suivants dans le nĆud du contrĂŽleur pour activer l’inventaire dynamique.
https://raw.githubusercontent.com/ansible/ansible/stable-1.9/plugins/inventory/ec2.pyhttps://raw.githubusercontent.com/ansible/ansible/stable-1.9/plugins/inventory/ec2.ini
âLes deux fichiers doivent ĂȘtre au format exĂ©cutable :
chmod +x ec2.py
chmod +x ec2.ini
âDe plus, pour l’authentification du compte, passez AWS_ACCESS_KEY et AWS_SECRET_KEY dans le fichier ec2.ini. Cela permettra de contacter AWS en notre nom et de rĂ©cupĂ©rer les informations de l’instance ec2.
âModifiez Ă©galement le fichier d’inventaire dans les fichiers de configuration ANSIBLE.CFG.
âMaintenant, pour voir la sortie, exĂ©cutez ./ec2.py - - list
.