description |
---|
Comment déployer l'instance EC2 utilisé pour le TP |
Installer Terraform si celui-ci n'est pas présent sur votre poste de travail.
Informations disponibles sur le site Hashicorp 👇
{% embed url="https://developer.hashicorp.com/terraform/install" %}
Faire un fork du repository ci-dessous afin d'avoir votre repository sous votre identifiant GitHub
{% embed url="https://github.com/smontri/esgi-devsecops.git" %}
{% hint style="info" %} Bouton fork depuis la page GitHub du repository {% endhint %}
Faire un clone de votre repository sur votre poste de travail en utilisant la commande git clone
{% hint style="danger" %} Attention de bien cloner localement VOTRE repository {% endhint %}
Le répertoire terraform contient les templates AWS et Azure pour le déploiement de l'infrastructure.
Dans le cadre de ce TP, nous allons utiliser AWS avec le lab mis à disposition par votre intervenant.
{% hint style="warning" %}
Se placer dans le dossier terraform/aws
{% endhint %}
{% hint style="info" %} S'assurer que la CLI AWS est bien installée sur son poste de travail {% endhint %}
{% embed url="https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html" %}
Pour configurer la CLI, utiliser la commande aws configure
en renseignant les credentials fournis par le lab AWS
{% hint style="warning" %}
Il faut également ajouter la token dans le fichier credentials
de la configuration AWS
{% endhint %}
Il s'agit d'initialiser l'environnement Terraform pour charger les providers nécessaires
Pour cela nous allons utiliser la commande terraform init
terraform init
La planification permet de valider le code terraform et d'identifier les objets qui vont être crées par le déploiement.
Pour cela, nous allons utiliser la commande terraform plan
terraform plan
Le résultat de la commande terraform plan
indique le nombre de ressources qui vont être crées, mises à jour ou supprimées ainsi que les informations d'output telles que décrit dans les templates Terraform.
Le déploiement se fait via la commande terraform apply
qui exécute le plan de déploiement généré préalablement.
terraform apply
Le résultat de la commande terraform apply
indique le résultat du déploiement.