Skip to content

Infrastructure as Code Terraform

Par : FETCHEPING FETCHEPING Rossif Borel
Email : rossifetcheping@outlook.fr
École : IMT Atlantique
Formation : Mastère spécialisé Infrastructures Cloud et DevOps
Année académique : 2022-2023
UE : Projet fil rouge
Dépôt Gitlab : https://gitlab.imt-atlantique.fr/vapormap-cicd/terraform/
Pages Gitlab : https://vapormap-cicd.gitlab-pages.imt-atlantique.fr/terraform
Date : 27 Février 2023

Description

Ce projet permet de déployer une infrastructure Cloud sur Openstack grâce à Terraform.

Cette infrastructure est constituée d'un réseau, un sous-réseau, un routeur, des groupes de sécurité, des IP flottantes, une instance bastion et trois noeuds.

Le code d'infrastructure est organisé en modules réutilisable.

Les ressources à provisionner sont variabilisées pour permettre la personnalisation de l'infrastructure.

Le TF State de l'infrastructure est stocké et géré dans le Backend Gitlab State du projet

Caractéristiques de l'infrastructure

  • la bastion et les trois noeuds dont un manager et deux workers communiquent dans le réseau privé en full TCP et UDP.
  • la bastion administre et configure les noeuds de l'infrastructure à partir d'une machine hôte extérieure ou d'une chaine de CD.
  • le manager assure la communication avec l'extérieur et distribue le trafic vers les workers.
  • toutes les instances partagent un fichier etc/hosts commum constitué des noms et adresses IP privées de tous les noeuds.
  • la bastion a un accès en SSH à tous les noeuds.
  • la bastion est accessible en SSH à partir d'internet.
  • le manager est accessible en HTTP à partir d'internet.

Utilisation du dépôt pour déployer l'infrastructure

Deux modes opératoires sont disponibles: