Skip to content

eazytraining/dev-cloud-challenge-two

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Migration Infrastructure EAZYTraining

Auteur : Anselme Tchassem – Tech Lead, DevOps, DevSecOps, Cloud

Objectifs

La migration vise à :

  • Réduire les coûts d'infrastructure en optimisant les ressources
  • Améliorer les performances d'accès aux applications
  • Changer de région AWS : Paris → Irlande (eu-west-1)

Architecture cible

WordPress (site EAZYTraining)

Infrastructure EAZYTraining

Composant Service AWS
Conteneurs ECS Fargate – 1 vCPU / 2 GB RAM par tâche
Base de données RDS (MySQL)
Fichiers statiques EFS
Exposition ALB + CloudFront
HTTPS AWS Certificate Manager (ACM)
Sécurité (optionnelle) AWS WAF

Odoo + autres apps internes

Other Apps EAZYTraining

Odoo est utilisé ponctuellement (facturation interne). L'instance est démarrée/arrêtée automatiquement via Semaphore.

Composant Détail
Instance EC2 t2.medium – scale down : 2 vCPU / 2 GB RAM (remplacement du t2.large)
Stockage Volume EBS (données Odoo + PostgreSQL)
IP publique Elastic IP
Reverse proxy & SSL nginx-proxy + nginx-proxy-letsencrypt (Let's Encrypt)
Conteneurs Odoo, PostgreSQL, nginx, nginx-proxy, nginx-proxy-letsencrypt

Les services non utilisés (Redis, phpMyAdmin, OpenVPN, Pure FTPd, Udemy apps, httpd) ne sont pas redéployés.

Stratégie de migration des données

Application Données Méthode
WordPress Fichiers statiques (médias, plugins…) Plugins de migration WordPress
WordPress Base de données Snapshot RDS restauré dans la nouvelle région
Odoo Application + PostgreSQL AMI générée depuis l'instance existante (sans les conteneurs WordPress/MySQL)

Provisionner l'infrastructure (IaC)

L'infrastructure est définie en Terraform (>= 1.6) et cible AWS.

Prérequis

  • Terraform >= 1.6 installé
  • Credentials AWS configurés (aws configure ou variables d'environnement)
  • Une clé SSH nommée eazytraining-migration disponible dans la région cible

Déploiement

# 1. Initialiser les providers et modules
terraform init

# 2. Vérifier le plan d'exécution
terraform plan

# 3. Provisionner l'infrastructure
terraform apply

Principales variables configurables (variables.tf)

Variable Description Défaut
region Région AWS cible
size Taille du volume EBS (Go) 100
ssh_key Nom de la paire de clés EC2 eazytraining-migration
rds_instance_type Type d'instance RDS db.t2.micro
db_name Nom de la base de données WordPress dbw
elb_ssl_cert ARN du certificat ACM

Ressources provisionnées

  • ec2.tf — Instance EC2 Odoo
  • ebs.tf — Volume EBS attaché à l'instance
  • eip.tf — Elastic IP associée à l'instance
  • rds.tf — Instance RDS MySQL pour WordPress
  • sg.tf — Security Groups
  • cloudfront.tf — Distribution CloudFront
  • role.tf — IAM Roles (SSM, CloudWatch…)
  • provisioners.tf — Scripts de post-configuration

Détruire l'infrastructure

terraform destroy

Plan de migration (résumé)

  1. Implémenter le code IaC → ce dépôt
  2. Provisionner un environnement de testterraform apply
  3. Simuler la migration des données (snapshot RDS, AMI Odoo)
  4. Valider le fonctionnement des applications dans le nouvel environnement
  5. Planifier la fenêtre de migration (minimiser l'impact utilisateurs)
  6. Exécuter la migration : transfert fichiers WordPress, restauration RDS, lancement instance Odoo depuis AMI
  7. Vérifications post-migration : fonctionnement, intégrité des données, stabilité

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors