Introduction à Amazon EC2
Qu'est-ce qu'Amazon EC2 ?
Amazon EC2 (Elastic Compute Cloud) est le service de calcul fondamental d'AWS. Il vous permet de louer des serveurs virtuels (appelés instances) dans le cloud.
┌─────────────────────────────────────────────────────────────┐
│ AMAZON EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ "Des serveurs virtuels à la demande" │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Instance EC2 │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ CPU │ │ RAM │ │ Stockage │ │ │
│ │ │ (vCPU) │ │ (GiB) │ │ (EBS) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ OS │ │ Réseau │ │ Sécurité │ │ │
│ │ │Linux/Win │ │ (IP) │ │ (SG) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ Vous contrôlez : │
│ • Le type/taille de l'instance │
│ • Le système d'exploitation │
│ • Les logiciels installés │
│ • La configuration réseau et sécurité │
└─────────────────────────────────────────────────────────────┘
Analogie : Location d'Appartement
┌────────────────────────────────────────────────────────────────┐
│ LOCATION TRADITIONNELLE vs AMAZON EC2 │
├────────────────────────────────────────────────────────────────┤
│ │
│ 🏠 Appartement 💻 Instance EC2 │
│ ───────────── ───────────── │
│ Taille (m²) Type d'instance (t2, m5) │
│ Nombre de pièces vCPU et RAM │
│ Emplacement (ville) Région AWS │
│ Bail (1 an minimum) À la demande (par seconde) │
│ Meubles optionnels AMI (OS préinstallé) │
│ Serrure/Alarme Security Group │
│ │
│ 💰 Loyer mensuel fixe 💰 Paiement à l'usage │
│ 📋 Préavis 3 mois 🔄 Arrêt immédiat possible │
└────────────────────────────────────────────────────────────────┘
Cas d'Usage EC2
Quand Utiliser EC2 ?
| Cas d'Usage | Description | Exemple |
|---|---|---|
| Serveurs Web | Héberger des sites et applications | Apache, Nginx |
| Applications métier | ERP, CRM, logiciels internes | SAP, Oracle |
| Bases de données | BDD auto-gérées | MySQL, PostgreSQL |
| Développement/Test | Environnements temporaires | CI/CD, QA |
| Calcul intensif | Traitement de données | Analytics, ML |
| Gaming | Serveurs de jeux | Minecraft, game servers |
EC2 vs Autres Services
┌─────────────────────────────────────────────────────────────┐
│ CHOISIR LE BON SERVICE DE CALCUL │
├─────────────────────────────────────────────────────────────┤
│ │
│ EC2 Lambda ECS/EKS │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐│
│ │ Contrôle │ │ Serverless │ │ Conteneurs ││
│ │ total │ │ Événements │ │ Docker ││
│ │ │ │ │ │ ││
│ │ OS complet │ │ Code seul │ │ Images ││
│ │ 24/7 │ │ À la │ │ Orchestré ││
│ │ │ │ demande │ │ ││
│ └────────────┘ └────────────┘ └────────────┘│
│ │
│ Utilisez EC2 si : │
│ ✅ Vous avez besoin d'un OS complet │
│ ✅ Applications longue durée (24/7) │
│ ✅ Logiciels qui ne sont pas conteneurisables │
│ ✅ Contrôle total sur la configuration │
│ │
│ N'utilisez PAS EC2 si : │
│ ❌ Tâches courtes et événementielles → Lambda │
│ ❌ Applications conteneurisées → ECS/EKS │
│ ❌ Sites statiques → S3 + CloudFront │
└─────────────────────────────────────────────────────────────┘
Cycle de Vie d'une Instance EC2
┌─────────────────────────────────────────────────────────────┐
│ CYCLE DE VIE EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ │
│ │ PENDING │ ← Lancement │
│ └────┬────┘ │
│ │ │
│ ▼ │
│ ┌─────────┐ ┌─────────┐ │
│ │STOPPING │◄──────►│ RUNNING │ ← En fonctionnement │
│ └────┬────┘ └────┬────┘ (facturation active) │
│ │ │ │
│ ▼ │ │
│ ┌─────────┐ │ │
│ │ STOPPED │◄────────────┘ │
│ └────┬────┘ ← Arrêtée (pas de facturation compute) │
│ │ │
│ │ Terminer │
│ ▼ │
│ ┌─────────────┐ │
│ │ TERMINATING │ │
│ └──────┬──────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ TERMINATED │ ← Supprimée définitivement │
│ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
États et Facturation
| État | Description | Facturation |
|---|---|---|
| Pending | Démarrage en cours | Non |
| Running | En fonctionnement | ✅ Oui |
| Stopping | Arrêt en cours | Oui |
| Stopped | Arrêtée | Non (mais EBS facturé) |
| Terminating | Suppression en cours | Non |
| Terminated | Supprimée | Non |
Attention
Une instance Stopped ne facture pas le compute (CPU/RAM), mais le stockage EBS reste facturé !
Modèles de Tarification EC2
1. On-Demand (À la Demande)
┌─────────────────────────────────────────────────────────────┐
│ ON-DEMAND │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 Paiement : Par heure ou par seconde │
│ 📋 Engagement : Aucun │
│ ⚡ Flexibilité : Maximale │
│ 💲 Prix : Le plus élevé │
│ │
│ Idéal pour : │
│ • Développement et test │
│ • Charges imprévisibles │
│ • Applications courte durée │
│ │
│ Exemple : t3.micro = ~$0.0104/heure (us-east-1) │
└─────────────────────────────────────────────────────────────┘
2. Reserved Instances (Instances Réservées)
┌─────────────────────────────────────────────────────────────┐
│ RESERVED INSTANCES │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 Paiement : Engagement 1 ou 3 ans │
│ 📋 Engagement : Fort │
│ ⚡ Flexibilité : Limitée │
│ 💲 Prix : Jusqu'à 72% de réduction │
│ │
│ Types : │
│ • Standard : Meilleur prix, moins flexible │
│ • Convertible : Prix moyen, peut changer de type │
│ │
│ Idéal pour : │
│ • Charges stables et prévisibles │
│ • Applications en production 24/7 │
│ │
└─────────────────────────────────────────────────────────────┘
3. Spot Instances
┌─────────────────────────────────────────────────────────────┐
│ SPOT INSTANCES │
├─────────────────────────────────────────────────────────────┤
│ │
│ 💰 Paiement : Enchères sur capacité inutilisée │
│ 📋 Engagement : Aucun │
│ ⚡ Flexibilité : Variable (interruption possible) │
│ 💲 Prix : Jusqu'à 90% de réduction ! │
│ │
│ ⚠️ ATTENTION : AWS peut reprendre l'instance │
│ avec 2 minutes de préavis ! │
│ │
│ Idéal pour : │
│ • Traitement par lots │
│ • Charges tolérantes aux interruptions │
│ • CI/CD, tests │
│ │
└─────────────────────────────────────────────────────────────┘
Comparaison des Prix (Exemple t3.large, us-east-1)
On-Demand ████████████████████████████████ $0.0832/h (100%)
Reserved 1yr █████████████████████ $0.0528/h (63%)
Reserved 3yr ███████████████ $0.0333/h (40%)
Spot ████████ $0.0250/h (30%)
Composants d'une Instance EC2
┌─────────────────────────────────────────────────────────────┐
│ COMPOSANTS D'UNE INSTANCE EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ INSTANCE EC2 │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 1. AMI (Amazon Machine Image) │ │ │
│ │ │ Système d'exploitation + logiciels │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 2. Type d'Instance │ │ │
│ │ │ CPU (vCPU) + RAM (GiB) │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 3. Stockage (EBS ou Instance Store) │ │ │
│ │ │ Disques attachés │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 4. Configuration Réseau │ │ │
│ │ │ VPC, Subnet, IP publique/privée │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 5. Security Group │ │ │
│ │ │ Règles de pare-feu │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ ┌────────────────────────────────────────────────┐ │ │
│ │ │ 6. Paire de Clés │ │ │
│ │ │ Authentification SSH │ │ │
│ │ └────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Métadonnées d'Instance
Chaque instance EC2 a accès à ses propres métadonnées via une URL spéciale :
http://169.254.169.254/latest/meta-data/
Informations Disponibles
| Endpoint | Information |
|---|---|
/instance-id | ID de l'instance |
/instance-type | Type (t3.micro, etc.) |
/ami-id | ID de l'AMI |
/local-ipv4 | IP privée |
/public-ipv4 | IP publique |
/placement/availability-zone | Zone de disponibilité |
Exemple d'Utilisation
# Depuis l'instance EC2
curl http://169.254.169.254/latest/meta-data/instance-id
# Résultat: i-0123456789abcdef0
curl http://169.254.169.254/latest/meta-data/instance-type
# Résultat: t3.micro
Utilité
Les métadonnées sont utiles pour :
- Scripts de configuration automatique
- Applications qui doivent connaître leur environnement
- Récupération de credentials IAM temporaires
Résumé
| Concept | Description |
|---|---|
| EC2 | Service de machines virtuelles AWS |
| Instance | Un serveur virtuel individuel |
| AMI | Image système (OS + logiciels) |
| Type | Configuration CPU/RAM |
| On-Demand | Paiement à l'usage, flexible |
| Reserved | Engagement long terme, économies |
| Spot | Capacité inutilisée, très économique mais interruptible |
Quiz de Validation
- Qu'est-ce qu'une instance EC2 ?
- Quelle est la différence entre les états "Stopped" et "Terminated" ?
- Quel modèle de tarification offre la plus grande flexibilité ?
- Quel modèle offre les plus grandes économies avec un risque d'interruption ?
- Quels sont les 6 composants principaux d'une instance EC2 ?
- À quoi servent les métadonnées d'instance ?
Prochaine section : Régions et Zones de Disponibilité