Vous devez connecter deux machines AWS pour utiliser Ansible efficacement.
Sans connexion, vous ne pouvez pas automatiser les tâches ou gérer vos instances EC2, ce qui complique la gestion.
Cet article vous guide à travers les étapes pour établir une connexion fiable entre vos machines AWS avec Ansible et SSH.
Devenez un expert d'Ansible et simplifiez vos tâches d'administration.
Connecter deux machines AWS avec Ansible
Nous avons abordé dans les parties précédentes les méthodes de connexion. Maintenant, nous allons tenter de connecter deux machines distantes afin de pouvoir utiliser les services et fonctionnalités offerts par Ansible.
Dans cette partie, nous allons d’abord passer en revue les étapes fondamentales, telles que l’installation d’Ansible sur le nœud de contrôle, la configuration de SSH sur le nœud géré, l’ajout d’un inventaire, et enfin le test de la connexion.
Mais avant de commencer ces étapes, nous devons d’abord créer les machines distantes. Pour ce faire, comme nous l’avons vu dans le chapitre précédent, nous allons nous rendre sur la console AWS via le site suivant : https://eu-west-3.console.aws.amazon.com/console/home?region=eu-west-3 . Cherchez et cliquez sur EC2 pour lancer les instances, et n’oubliez pas de générer la paire de clés et de bien la conserver, car nous en aurons besoin pour la connexion à nos machines.
Nous allons créer deux instances (une pour le nœud de contrôle et une pour le nœud géré) . Pour ce faire, remplissez simplement le formulaire d’instance, et dans l’onglet récapitulatif, indiquez le nombre d’instances à 2, puis lancez l’instanciation.
Apres avois lancé l’instanciation, nous aurons nos machines distantes dans le tableau d’instanciation comme ceci.
Bravo, nos nœuds sont désormais disponibles. Nous avons renommé les machines en noeudC pour le nœud de contrôle et noeudG pour le nœud géré. Parfait, nos machines distantes sont maintenant disponibles. Passons à l’installation d’Ansible sur le nœud de contrôle et de Python sur le nœud géré. Pour ce faire, accédons aux machines en utilisant la clé SSH. Récupérons la clé SSH et utilisons-la pour nous connecter.
Utilisons les notions de connexion SSH que nous avons acquises précédemment pour connecter aux machines distantes. Ouvrons maintenant le terminal, accédons au dossier où nous avons mis la paire de clés, puis exécutons la commande SSH pour accéder à notre machine distante.
Parfait, la connexion SSh a reussi à se connecter à notre machine. Pour installer Ansible, comme nous avons déjà vu dans le chapitre installation d’ansible, procédons à exécuter les commandes suivantes :
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository –yes –update ppa:ansible/ansible
sudo apt install ansible
Le processur d’installation se fait comme ceci dans le terminal :
Une fois l’installation est bien terminé avec succès, nous pouvons vérifier la version d’Ansible installé avec la commande ansible –version :
Voilà, il affiche bien la version d’Ansible installé qui est 2.16.8, cela veut dire que Ansible est bien installé dans notre machine distante.
Accédons ensuite dans le nœud géré en exécutant la clé SSH dans le terminal et installer python :
Voilà on a réussi à accéder au nœud géré distant et puis installons python avec la commande suivante : sudo apt -get install python
Et on peut par la suite vérifier sa version avec la commande python3 –version et cela nous donne le résultat :
Voilà, nous avons terminé les étapes fondamentales. Nous allons essayer de connecter les deux machines dans la partie suivante.
Jusqu’à présent, nos machines ne sont pas encore connectées entre elles. Nous pouvons tester cette connexion en essayant d’accéder à la machine gérée (nœud géré) à partir de la machine de contrôle avec la commande suivante : ssh ubuntu@Id-machine-managed . Cette commande permet de se connecter à la machine gérée (nœud géré) depuis la machine de contrôle.
Exécutons cette commande dans le terminal de la machine de contrôle en utilisant l’ID réel de la machine gérée. Le résultat sera le suivant :
Bien, le résultat nous indique que la connexion n’est pas autorisée. Il est donc nécessaire de générer une clé publique pour permettre la connexion entre les deux machines. Faisons-le maintenant. Pour cela, il faut se positionner dans le dossier . ssh et y créer la clé publique avec la commande suivante : ssh-keygen et cela nous créera la clé publique.
Nous nous positionnons dans le dossier .ssh et créons la clé. Une fois la commande lancée, il suffit simplement d’appuyer sur la touche Entrée du clavier pour terminer la création. Voici le résultat obtenu.
Listons maintenant le contenu du dossier courant. Nous obtenons le résultat suivant avec notre clé publique :
Pour voir notre clé, il suffit de lancer la commande cat nom_clé , qui dans notre cas est cat id_ed25519 . pub . Cela affichera notre clé.
Nous allons maintenant copier cette clé sur la machine gérée. Connectons-nous à la machine gérée, puis accédons au dossier . ssh pour voir le fichier authorized_keys.
Ensuite, nous y copierons la clé publique que nous avons créée sur la machine de contrôle en lançant d’abord la commande nano authorized_keys et en y collant la clé. Une fois la clé correctement copiée, nous pourrons nous connecter à la machine gérée depuis la machine de contrôle en utilisant la commande suivante : ssh ubuntu@52.47.145.69 .
Voilà, nous sommes parvenus à nous connecter à notre machine gérée depuis la machine de contrôle. Parfait, il nous reste maintenant à tester la connexion entre les deux machines. Avant de faire cela , nous devons d’abord configurer la machine de contrôle et créer un groupe en y ajoutant l’adresse IP de la machine gérée.
Pour cela, il faut d’abord quitter la machine gérée. Ensuite, sur la machine de contrôle, accédons au dossier /etc/ansible et ouvrons le fichier hosts.
Le fichier ne contient pas encore de contenu. Ajoutons maintenant l’adresse IP de la machine gérée en lançant la commande sudo nano hosts et en ajoutant le groupe suivant :
[servers]
Node1 ansible_ssh_host=IP_managed_node
Voilà, tapez Ctrl+X puis Y pour enregistrer les modifications et quitter l’éditeur. L’ajout du groupe sera alors effectué. Vérifions maintenant si tout fonctionne correctement en lancant la commande suivante : ansible localhost -m ping.
Parfait, comme le montre le visuel ci-dessus, la connexion entre les nœuds est établie. Nous avons terminé ce chapitre avec succès.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment connecter deux machines sur AWS avec Ansible ?
Quels sont les prérequis pour installer Ansible sur une machine AWS ?
Comment tester la connexion entre deux machines AWS ?
Comment générer une clé SSH pour la connexion entre machines AWS ?
Comment configurer Ansible pour gérer des machines distantes sur AWS ?
Conclusion
En maîtrisant la connexion de deux machines sur AWS avec Ansible, vous optimisez la gestion de vos ressources cloud. Quelles autres configurations Ansible aimeriez-vous explorer pour améliorer vos déploiements ?