Aller au contenu principal

Lab : Analyse et Conception d'Architecture EC2

Objectifs du Lab​

Ce lab est un exercice de conception et d'analyse. Vous allez :

  • ✅ Analyser des architectures EC2 existantes
  • ✅ Identifier les bonnes pratiques et les erreurs
  • ✅ Concevoir votre propre architecture
  • ✅ Justifier vos choix techniques
Approche Théorique

Ce lab ne nécessite pas d'accès AWS. Vous travaillerez sur papier/document avec des schémas et des analyses.

Durée Estimée​

2 heures


Partie 1 : Analyse d'Architecture Existante​

Scénario : Site E-Commerce​

Voici l'architecture actuelle d'un site e-commerce :

┌─────────────────────────────────────────────────────────────┐
│ RÉGION : us-east-1 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ AZ : us-east-1a │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────────┐ │ │
│ │ │ Instance EC2 : i-web001 │ │ │
│ │ │ Type : t2.micro │ │ │
│ │ │ AMI : Amazon Linux 2 │ │ │
│ │ │ IP Publique : 52.1.2.3 │ │ │
│ │ │ │ │ │
│ │ │ Applications : │ │ │
│ │ │ - Apache (port 80) │ │ │
│ │ │ - MySQL (port 3306) │ │ │
│ │ │ - Application PHP │ │ │
│ │ │ │ │ │
│ │ │ Security Group : sg-default │ │ │
│ │ │ Règles : │ │ │
│ │ │ - Inbound: SSH (22) - 0.0.0.0/0 │ │ │
│ │ │ - Inbound: HTTP (80) - 0.0.0.0/0 │ │ │
│ │ │ - Inbound: MySQL (3306) - 0.0.0.0/0 │ │ │
│ │ │ │ │ │
│ │ │ Stockage : 8 GB EBS (gp2) │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Questions d'Analyse​

Question 1 : Problèmes de Sécurité

Identifiez au moins 3 problèmes de sécurité dans cette architecture.

💡 Indice

Regardez :

  • Les règles du Security Group
  • L'emplacement de MySQL
  • L'architecture mono-instance

Question 2 : Problèmes de Disponibilité

Identifiez les risques de disponibilité de cette architecture.

💡 Indice

Pensez à :

  • Nombre de zones de disponibilité
  • Point de défaillance unique (SPOF)
  • Capacité de montée en charge

Question 3 : Problèmes de Performance

Le site devient lent pendant les soldes. Quelles sont les causes possibles ?

💡 Indice

Analysez :

  • Le type d'instance
  • La séparation des composants
  • Le stockage

Partie 2 : Correction de l'Architecture​

Exercice : Proposer une Meilleure Architecture​

Redesinez l'architecture en corrigeant les problèmes identifiés.

Contraintes :

  • Budget modéré (pas d'instances géantes)
  • Site doit être disponible 99.9%
  • Base de données doit être sécurisée
  • Doit supporter les pics de trafic (soldes)

Template de Réponse​

Remplissez ce template :

NOUVELLE ARCHITECTURE PROPOSÉE
==============================

Région : _____________

Zones de Disponibilité utilisées : ____________

COMPOSANT 1 : Serveur(s) Web
----------------------------
- Nombre d'instances : _____
- Type d'instance : _____
- AMI : _____
- Placement : _____
- Security Group :
- Inbound : _____
- Outbound : _____

COMPOSANT 2 : Base de Données
-----------------------------
- Service/Instance : _____
- Type : _____
- Placement : _____
- Security Group :
- Inbound : _____

COMPOSANT 3 : (Optionnel)
-------------------------
- _____

JUSTIFICATIONS
--------------
1. Pourquoi ce type d'instance ? _____
2. Pourquoi cette configuration réseau ? _____
3. Comment gérez-vous la haute disponibilité ? _____

Partie 3 : Schéma d'Architecture​

Exercice : Dessiner l'Architecture​

Créez un schéma d'architecture professionnel incluant :

Éléments obligatoires :

  • La région AWS
  • Au moins 2 zones de disponibilité
  • Les instances EC2 (web)
  • La base de données (séparée)
  • Les Security Groups avec leurs règles
  • Les connexions réseau

Outils suggérés :

  • Draw.io (gratuit) : https://app.diagrams.net/
  • Lucidchart (gratuit limité)
  • PowerPoint/Google Slides
  • Papier et crayon (photo à joindre)

Exemple de Structure​

┌─────────────────────────────────────────────────────────────┐
│ RÉGION : __________ │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────┐ │
│ │ [Votre composant] │ │
│ └──────────────────────────────────────┘ │
│ │
│ ┌───────────────────┐ ┌───────────────────┐ │
│ │ AZ : ____ │ │ AZ : ____ │ │
│ │ │ │ │ │
│ │ [Instances] │ │ [Instances] │ │
│ │ │ │ │ │
│ └───────────────────┘ └───────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ [Base de données] │ │
│ └──────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Partie 4 : Étude de Cas - Choix d'Instances​

Scénario A : Startup - MVP​

Contexte :
- Application web simple (blog + formulaire contact)
- 100 visiteurs/jour attendus
- Budget très limité (< $20/mois)
- Équipe de 2 développeurs

Questions :
1. Quel type d'instance recommandez-vous ?
2. Quelle région ?
3. Quels compromis faites-vous ?

Scénario B : PME - Application Métier​

Contexte :
- ERP/CRM pour 50 employés
- Base de données PostgreSQL (20 GB)
- Utilisation 8h-18h, lundi-vendredi
- Besoin de performances constantes

Questions :
1. Quel type d'instance pour l'application ?
2. Quel type d'instance pour la base de données ?
3. Faut-il des instances Reserved ?

Scénario C : E-Commerce - Black Friday​

Contexte :
- Site e-commerce existant
- Trafic normal : 1000 visiteurs/heure
- Black Friday : 50000 visiteurs/heure (pic)
- Catalogue de 10000 produits

Questions :
1. Comment gérer le pic de trafic ?
2. Quelle stratégie de scaling ?
3. Quels types d'instances pour chaque niveau de charge ?

Partie 5 : Tableau Récapitulatif des Choix​

Complétez ce tableau pour chaque scénario :

CritèreScénario AScénario BScénario C
Instance Web
Instance BDD
Modèle de prix
Nombre d'AZ
Coût estimé/mois
Justification principale

Livrables du Lab​

Document à Remettre​

Créez un document (Word, PDF ou Markdown) contenant :

1. Page de titre

  • Nom, date, titre du lab

2. Partie 1 : Analyse (20%)

  • Liste des 3+ problèmes de sécurité
  • Liste des risques de disponibilité
  • Analyse des problèmes de performance

3. Partie 2 : Correction (25%)

  • Template rempli avec la nouvelle architecture
  • Justifications détaillées

4. Partie 3 : Schéma (25%)

  • Schéma d'architecture clair et lisible
  • Légende des composants
  • Security Groups documentés

5. Partie 4 : Études de Cas (20%)

  • Réponses pour les 3 scénarios
  • Justifications des choix

6. Partie 5 : Tableau (10%)

  • Tableau récapitulatif complété

Grille d'Évaluation​

CritèrePoints
Identification correcte des problèmes4
Architecture corrigée cohérente5
Schéma clair et complet5
Choix d'instances justifiés4
Tableau récapitulatif complet2
Total20

Correction - Partie 1 (À consulter après avoir fait l'exercice)​

📋 Voir la correction

Problèmes de Sécurité​

  1. SSH ouvert à tout le monde (0.0.0.0/0)

    • Risque : Attaques brute-force
    • Solution : Restreindre à l'IP de l'admin
  2. MySQL exposé publiquement (0.0.0.0/0)

    • Risque : Accès non autorisé à la BDD
    • Solution : Fermer le port, accès interne uniquement
  3. Tout sur la même instance

    • Risque : Si l'instance est compromise, tout l'est
    • Solution : Séparer web et BDD
  4. Utilisation du SG par défaut

    • Risque : Règles non auditées
    • Solution : Créer des SG spécifiques

Problèmes de Disponibilité​

  1. Une seule AZ

    • Risque : Panne de zone = site down
    • Solution : Multi-AZ
  2. Instance unique (SPOF)

    • Risque : Panne instance = site down
    • Solution : Multiple instances + Load Balancer
  3. Pas de backup visible

    • Risque : Perte de données
    • Solution : Snapshots EBS, RDS Multi-AZ

Problèmes de Performance​

  1. t2.micro trop petit

    • Crédits burst épuisés rapidement
    • Solution : t3.small minimum pour production
  2. MySQL sur la même instance

    • Compétition pour les ressources
    • Solution : Instance dédiée ou RDS
  3. 8 GB de stockage insuffisant

    • Solution : EBS gp3, plus grand

Ressources pour le Lab​

Icônes AWS​

Documentation​

Calculateur de Prix​


Félicitations ! Vous avez complété le lab d'architecture EC2. Ces compétences de conception sont essentielles pour tout architecte cloud.