Présentation d'Amazon Web Services (AWS)
Qu'est-ce qu'AWS ?
Amazon Web Services (AWS) est la plateforme cloud la plus complète et la plus utilisée au monde. Lancée en 2006 par Amazon, elle propose plus de 200 services couvrant le calcul, le stockage, les bases de données, l'analyse, le machine learning, et bien plus.
┌─────────────────────────────────────────────────────────────┐
│ AWS │
│ │
│ "Le cloud computing, simplifié et à grande échelle" │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Compute │ │ Storage │ │Database │ │ Network │ │
│ │ EC2 │ │ S3 │ │ RDS │ │ VPC │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │Serverless│ │Security │ │ AI/ML │ │ DevOps │ │
│ │ Lambda │ │ IAM │ │SageMaker│ │CodePipe │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ + 200 autres services... │
└─────────────────────────────────────────────────────────────┘
Histoire d'AWS
Timeline AWS
────────────────────────────────────────────────────────────────
2002 │ Amazon commence à vendre sa capacité excédentaire
│
2004 │ Lancement de SQS (Simple Queue Service)
│
2006 │ 🚀 Lancement officiel d'AWS avec S3 et EC2
│
2007 │ SimpleDB, SQS amélioré
│
2009 │ VPC, RDS, CloudFront
│
2012 │ DynamoDB, Redshift
│
2014 │ Lambda (serverless révolutionnaire)
│
2016 │ AI/ML services
│
2020+ │ 200+ services, leader mondial
────────────────────────────────────────────────────────────────
Infrastructure Mondiale AWS
Régions et Zones de Disponibilité
AWS organise son infrastructure en Régions et Zones de Disponibilité (AZ) :
┌─────────────────────────────────────────────────────────────────┐
│ RÉGION AWS (ex: us-east-1) │
│ │
│ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │
│ │ AZ-1a │ │ AZ-1b │ │ AZ-1c │ │
│ │ │ │ │ │ │ │
│ │ ┌───┐ ┌───┐ │ │ ┌───┐ ┌───┐ │ │ ┌───┐ ┌───┐ │ │
│ │ │DC1│ │DC2│ │ │ │DC3│ │DC4│ │ │ │DC5│ │DC6│ │ │
│ │ └───┘ └───┘ │ │ └───┘ └───┘ │ │ └───┘ └───┘ │ │
│ │ │ │ │ │ │ │
│ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │
│ │ │ │ │
│ └──────────────────┼──────────────────┘ │
│ │ │
│ Réseau haute vitesse, faible latence │
│ │
│ • Chaque AZ = 1 ou plusieurs datacenters │
│ • AZ isolées physiquement (séisme, inondation) │
│ • Connectées entre elles à très haute vitesse │
└─────────────────────────────────────────────────────────────────┘
Régions AWS Principales (2024)
| Code Région | Nom | Localisation |
|---|---|---|
| us-east-1 | N. Virginia | États-Unis Est |
| us-west-2 | Oregon | États-Unis Ouest |
| eu-west-1 | Ireland | Europe |
| eu-central-1 | Frankfurt | Europe Centrale |
| ca-central-1 | Canada | Montréal 🇨🇦 |
| ap-northeast-1 | Tokyo | Japon |
| ap-southeast-1 | Singapore | Asie du Sud-Est |
Pour ce cours, nous utiliserons souvent ca-central-1 (Montréal) car elle est proche géographiquement et répond aux exigences de souveraineté des données canadiennes.
Pourquoi Plusieurs AZ ?
Scénario : Panne d'une AZ
AVANT (1 seule AZ) APRÈS (Multi-AZ)
┌─────────────────┐ ┌─────────────────┐
│ AZ-1a │ │ AZ-1a │
│ [Serveur] │ ──────► │ [Serveur] ✓ │
│ ❌ │ └────────┬────────┘
│ PANNE ! │ │
└─────────────────┘ ┌────────┴────────┐
│ AZ-1b │
Application DOWN │ [Serveur] ✓ │
└─────────────────┘
Application UP !
Services AWS Principaux
Catégories de Services
┌─────────────────────────────────────────────────────────────┐
│ SERVICES AWS │
├─────────────────────────────────────────────────────────────┤
│ │
│ COMPUTE (Calcul) STORAGE (Stockage) │
│ ├── EC2 ├── S3 │
│ ├── Lambda ├── EBS │
│ ├── ECS/EKS ├── EFS │
│ └── Lightsail └── Glacier │
│ │
│ DATABASE NETWORK │
│ ├── RDS ├── VPC │
│ ├── DynamoDB ├── Route 53 │
│ ├── Aurora ├── CloudFront │
│ └── ElastiCache └── ELB │
│ │
│ SECURITY MANAGEMENT │
│ ├── IAM ├── CloudWatch │
│ ├── KMS ├── CloudFormation │
│ ├── WAF ├── CloudTrail │
│ └── Shield └── Systems Manager │
│ │
└─────────────────────────────────────────────────────────────┘
Services Couverts dans ce Cours
| Service | Description | Semaine |
|---|---|---|
| EC2 | Machines virtuelles | 2-4 |
| EBS | Stockage bloc | 4 |
| VPC | Réseau virtuel | 5-7 |
| ELB | Load balancer | 8 |
| Auto Scaling | Scaling automatique | 9 |
| Route 53 | DNS | 10 |
| Lambda | Serverless | 11-12 |
| CloudWatch | Monitoring | 13 |
| CloudFormation | IaC | 15 |
Modèle de Responsabilité Partagée
AWS utilise un modèle de responsabilité partagée pour la sécurité :
┌─────────────────────────────────────────────────────────────┐
│ RESPONSABILITÉ DU CLIENT │
│ "Sécurité DANS le cloud" │
├─────────────────────────────────────────────────────────────┤
│ • Données client │
│ • Plateforme, applications, gestion d'identité │
│ • Configuration OS, réseau, firewall │
│ • Chiffrement côté client │
│ • Protection du trafic réseau │
├─────────────────────────────────────────────────────────────┤
│ │
├─────────────────────────────────────────────────────────────┤
│ RESPONSABILITÉ D'AWS │
│ "Sécurité DU cloud" │
├─────────────────────────────────────────────────────────────┤
│ • Infrastructure globale (Régions, AZ, Edge) │
│ • Hardware / infrastructure physique │
│ • Réseau physique │
│ • Hyperviseur │
│ • Stockage physique │
└─────────────────────────────────────────────────────────────┘
VOUS êtes responsable de la configuration de vos Security Groups, de vos mots de passe, et de vos données. AWS ne le fait pas pour vous !
Accès à AWS
3 Méthodes d'Accès
┌─────────────────────────────────────────────────────────────┐
│ ACCÈS À AWS │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. CONSOLE WEB │
│ ┌─────────────────────────────────────┐ │
│ │ 🌐 https://console.aws.amazon.com │ │
│ │ Interface graphique │ │
│ │ Idéal pour découverte │ │
│ └─────────────────────────────────────┘ │
│ │
│ 2. AWS CLI (Command Line Interface) │
│ ┌─────────────────────────────────────┐ │
│ │ $ aws ec2 describe-instances │ │
│ │ Automatisation, scripts │ │
│ │ ✅ Ce que nous utiliserons ! │ │
│ └─────────────────────────────────────┘ │
│ │
│ 3. SDK (Software Development Kit) │
│ ┌─────────────────────────────────────┐ │
│ │ import boto3 # Python │ │
│ │ Intégration dans applications │ │
│ └─────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Pourquoi AWS CLI ?
Dans ce cours, nous utiliserons principalement AWS CLI car :
- Reproductible - Les commandes peuvent être documentées et rejouées
- Automatisable - Scripts et Infrastructure as Code
- Universel - Fonctionne avec LocalStack (notre émulateur)
- Professionnel - Compétence recherchée en entreprise
Tarification AWS
Modèle "Pay-as-you-go"
┌─────────────────────────────────────────────────────────────┐
│ TARIFICATION AWS │
├─────────────────────────────────────────────────────────────┤
│ │
│ Vous payez pour : │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ COMPUTE │ │ STORAGE │ │ TRANSFER │ │
│ │ Par heure │ │ Par Go │ │ Par Go │ │
│ │ ou seconde │ │ par mois │ │ sortant │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ Exemple EC2 t3.micro : │
│ • $0.0104/heure (us-east-1) │
│ • ~$7.50/mois si allumé 24/7 │
│ │
│ 💡 Astuce : Éteignez vos instances non utilisées ! │
└─────────────────────────────────────────────────────────────┘
Free Tier AWS
AWS offre un niveau gratuit pour les nouveaux comptes :
| Service | Gratuit pendant 12 mois |
|---|---|
| EC2 | 750 heures/mois (t2.micro) |
| S3 | 5 GB de stockage |
| RDS | 750 heures/mois (db.t2.micro) |
| Lambda | 1 million de requêtes/mois |
Nous n'utiliserons PAS de comptes AWS réels. LocalStack nous permet de pratiquer gratuitement et sans risque de facturation.
Services de Calcul AWS
Voici les principaux services de calcul que nous étudierons :
EC2 (Elastic Compute Cloud)
┌─────────────────────────────────────────────────────────────┐
│ EC2 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Machine virtuelle dans le cloud │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Instance EC2 │ │
│ │ ┌─────────────────────────────────────────┐ │ │
│ │ │ OS : Linux / Windows │ │ │
│ │ │ CPU : 1 à 448 vCPU │ │ │
│ │ │ RAM : 0.5 à 24 TB │ │ │
│ │ │ Stockage : EBS ou Instance Store │ │ │
│ │ └─────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ Cas d'usage : │
│ • Serveurs web │
│ • Applications métier │
│ • Bases de données │
│ • Environnements de développement │
└─────────────────────────────────────────────────────────────┘
Lambda (Serverless)
┌─────────────────────────────────────────────────────────────┐
│ LAMBDA │
├─────────────────────────────────────────────────────────────┤
│ │
│ Exécution de code sans gérer de serveurs │
│ │
│ Événement ──► ┌────────────┐ ──► Résultat │
│ │ Fonction │ │
│ │ Lambda │ │
│ └────────────┘ │
│ │
│ Caractéristiques : │
│ • Pas de serveur à gérer │
│ • Scaling automatique │
│ • Paiement par exécution (millisecondes) │
│ • Langages : Python, Node.js, Java, Go, etc. │
│ │
│ Cas d'usage : │
│ • APIs │
│ • Traitement d'événements │
│ • Automatisation │
└─────────────────────────────────────────────────────────────┘
Résumé
| Concept | Description |
|---|---|
| AWS | Plateforme cloud #1 mondiale, 200+ services |
| Région | Zone géographique avec plusieurs AZ |
| AZ | Datacenter(s) isolé(s) dans une région |
| EC2 | Machines virtuelles cloud |
| Lambda | Fonctions serverless |
| Console | Interface web pour gérer AWS |
| CLI | Ligne de commande pour automatiser |
| Responsabilité partagée | AWS gère le cloud, vous gérez dans le cloud |
Quiz de Validation
- En quelle année AWS a-t-il été lancé officiellement ?
- Qu'est-ce qu'une Zone de Disponibilité ?
- Quelle est la région AWS au Canada ?
- Citez 3 méthodes pour accéder à AWS.
- Qu'est-ce que le modèle de responsabilité partagée ?
- Quelle est la différence entre EC2 et Lambda ?
Prochaine section : Installation AWS CLI