Peut-il ansible à créer des instances EC2?

Peut-il ansible à créer des instances EC2?
Il y a de fortes chances que si vous regardez ce tutoriel, vous n'avez pas besoin d'une introduction à Ansible. Cependant, cela ne fait pas de mal de faire un récapitulatif rapide.

Anible est l'outil de gestion de la configuration le plus populaire et probablement puissant. Il est conçu pour faciliter la gestion et la configuration des hôtes distants à l'aide d'un ensemble de commandes définies comme des tâches.

Il fonctionne en utilisant des modules développés pour des tâches spécifiques telles que la gestion des utilisateurs, la gestion des fichiers, l'installation et la suppression des logiciels, et bien d'autres.

Ce guide utilisera le module AWS ANSIBLE pour provisionner et gérer une instance EC2. Nous allons commencer par les bases de la mise en place d'un compte AWS, de l'installation d'Anible, et enfin couvrir comment travailler avec le module AWS ANSIBLE.

Qu'est-ce qu'une instance EC2?

La première question à aborder est: qu'est-ce qu'une EC2? Si vous êtes nouveau dans le cloud computing et AWS, cela peut vous sembler nouveau.

Amazon Elastic Compute Cloud, ou Amazon EC2 pour faire court, est un service fourni par Amazon Web Services (AWS) pour vous permettre de créer et de gérer des instances de serveur sur le cloud AWS.

La possibilité de faire tourner des serveurs distants configurés avec des fonctionnalités telles que le CPU, la mémoire, le disque, les réseaux, le système d'exploitation, et plus en quelques clics est très bénéfique. Il supprime la nécessité d'investir dans le matériel et élimine l'inquiétude de câbler les appareils.

Les instances Amazon EC2 sont l'un des éléments constitutifs les plus fondamentaux du cloud computing AWS.

Nous ne plongerons pas profondément dans son fonctionnement ou les modèles de tarification et de configuration pour AWS. Vérifiez le site AWS pour en savoir plus.

Configuration de l'environnement

La première étape consiste à configurer nos environnements. Nous aurons besoin d'un compte AWS, Ansible et Python pour ce guide.

Nous vous recommandons d'utiliser la dernière version d'Ansible et de Python.

Installer ANSIBLE

Ce tutoriel affichera l'installation et la configuration d'Anible sur un système basé à Debian. Consultez nos autres tutoriels pour apprendre à l'installer sur d'autres distributions.

Ouvrez le terminal et modifiez vos référentiels logiciels.

sudo vim / etc / apt / sources.liste

Ajoutez l'entrée suivante au fichier:

deb http: // ppa.rampe de lancement.net / anible / anible / ubuntu focal principal

Ensuite, exécutez les commandes comme indiqué ci-dessous:

sudo apt-get install gnupg
sudo apt-key adv - keyserver keyserver.ubuntu.com --rev-keys 93c4a3fd7bb9c367
Mise à jour Sudo apt-get
sudo apt-get install anible

Une fois que vous avez installé ANSIBLE, nous pouvons définir et configurer Python.

Installez Python3, Python3-Pip

Pour installer Python3 et PIP sur Debian 11, exécutez les commandes comme indiqué:

Mise à jour Sudo apt-get
sudo apt-get install python3.9 Python3-Pip -y

Les commandes ci-dessus installeront Python version 3.9 et le PIP3 sur votre système.

Installer Boto

L'étape suivante consiste à installer Boto. Boto est un puissant package Python qui fournit une interface pour interagir avec les services AWS à l'aide de Python.

Pour installer la dernière version du package Boto à l'aide de PIP comme indiqué dans la commande ci-dessous:

sudo pip3 installer boto3

Une fois que tous les outils et packages ont été installés avec succès, nous pouvons créer des livres de jeu anibles pour initialiser une instance EC2.

Créer un livre de jeu EC2 ANSIBLE

Ouvrez le terminal et créez un livre de jeu anible se terminant par un .Extension YML. Modifiez le fichier avec votre éditeur de texte préféré et ajoutez le playbook comme indiqué ci-dessous:

---
- Nom: Ansible Créer une instance EC2
hôtes: localhost
rassemble_facts: faux
Tâches:
- Nom: Provision d'une instance EC2
EC2:
Région: US-East-2
Nom de clé: ANSIBLE-EC2-SSH-KEY
instance_type: t2.micro
Image: AM1-123456
Attendez: oui
Compte: 1
Groupe: Sample_Servers
assign_public_ip: oui
Enregistrement: Amazon_ec2
Delegate_to: localhost

Créer une paire de clés SSH

Une fois le livre de jeu configuré, créez une paire de clés SSH pour vous connecter à l'instance EC2 une fois provisionnée. Assurez-vous de créer une clé avec un nom similaire à celui défini dans le paramètre de nom de clé dans le playbook ci-dessus.

ssh-keygen -t rsa -b 4096 -f ~ /.SSH / ANSIBLE-EC2-SSH-KEY

Ajout d'accès AWS et de clé secrète

L'étape suivante consiste à ajouter nos références AWS à notre livre de jeu. Pour plus de simplicité, nous ajouterons les informations d'identification au playbook en format simple.

Remarque: n'exposez pas votre accès AWS et votre clé secrète dans un livre de jeu dans la vraie vie. Envisagez d'utiliser des variables d'environnement ou des outils tels que le coffre-fort ANSIBLE.

---
- Nom: Ansible Créer une instance EC2
hôtes: localhost
rassemble_facts: faux
Tâches:
- Nom: Provision d'une instance EC2
EC2:
Région: US-East-2
Nom de clé: ANSIBLE-EC2-SSH-KEY
instance_type: t2.micro
Image: AM1-123456
Attendez: oui
Compte: 1La
Groupe: Sample_Servers
assign_public_ip: oui
vpc_subnet_id: par défaut
AWS_ACCESS_KEY: ************* XXXX
aws_secret_key: *****************
Enregistrement: Amazon_ec2
Delegate_to: localhost

Ce qui précède montre le nouveau livre de jeu avec les informations d'identification AWS exposées. Évitez cela!!

Une fois que vous avez la configuration de PlayBook toute, exécutez-la à l'aide de la commande:

anable-playbook Create-EC2.YML

La commande ci-dessus doit exécuter le playbook ci-dessus et créer une instance EC2.

Comprendre le livre de jeu

Comprenons maintenant le livre de jeu fourni dans les exemples ci-dessus. Remarque, nous ne nous concentrerons que sur la partie EC2 du livre de jeu.

  1. Région - Ce paramètre définit la région AWS lors de la création de l'instance. Vous pouvez vérifier les régions disponibles à utiliser dans la ressource suivante.
  2. Le nom de clé définit la paire de clés SSH à utiliser sur l'instance créée. Assurez-vous que la clé existe déjà.
  3. Instance_type - définit le type d'instance à créer. Vérifiez la ressource suivante pour en savoir plus.
  4. Image - Définit l'ID AMI à utiliser lors de la création de l'instance.
  5. Attendez - une valeur booléenne pour déterminer si ANSIBLE doit attendre que l'instance soit dans l'état souhaité avant le retour.
  6. Compte - le nombre total d'instances pour créer.
  7. Groupe - Définit les groupes de sécurité pour l'instance EC2.
  8. Assign_public_ip - valeur booléenne pour définir si les instances doivent se voir attribuer une adresse IP publique au sein du VPC.
  9. Vpc_subnet_id - définit l'ID de sous-réseau sous lequel l'instance EC2 doit être lancée.

En utilisant le module AWS ANSIBLE, vous pouvez utiliser les arguments ci-dessus pour créer une instance EC2.

Fermeture

Ce guide fournit un tutoriel sur la création d'une instance Amazon EC2 à l'aide du module AWS ANSIBLE.