Aller au contenu principal

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égionNomLocalisation
us-east-1N. VirginiaÉtats-Unis Est
us-west-2OregonÉtats-Unis Ouest
eu-west-1IrelandEurope
eu-central-1FrankfurtEurope Centrale
ca-central-1CanadaMontréal 🇨🇦
ap-northeast-1TokyoJapon
ap-southeast-1SingaporeAsie du Sud-Est
Région Canadienne

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​

ServiceDescriptionSemaine
EC2Machines virtuelles2-4
EBSStockage bloc4
VPCRéseau virtuel5-7
ELBLoad balancer8
Auto ScalingScaling automatique9
Route 53DNS10
LambdaServerless11-12
CloudWatchMonitoring13
CloudFormationIaC15

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 │
└─────────────────────────────────────────────────────────────┘
Important

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 :

  1. Reproductible - Les commandes peuvent être documentées et rejouées
  2. Automatisable - Scripts et Infrastructure as Code
  3. Universel - Fonctionne avec LocalStack (notre émulateur)
  4. 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 :

ServiceGratuit pendant 12 mois
EC2750 heures/mois (t2.micro)
S35 GB de stockage
RDS750 heures/mois (db.t2.micro)
Lambda1 million de requêtes/mois
Pour ce cours

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é​

ConceptDescription
AWSPlateforme cloud #1 mondiale, 200+ services
RégionZone géographique avec plusieurs AZ
AZDatacenter(s) isolé(s) dans une région
EC2Machines virtuelles cloud
LambdaFonctions serverless
ConsoleInterface web pour gérer AWS
CLILigne de commande pour automatiser
Responsabilité partagéeAWS gère le cloud, vous gérez dans le cloud

Quiz de Validation​

  1. En quelle année AWS a-t-il été lancé officiellement ?
  2. Qu'est-ce qu'une Zone de Disponibilité ?
  3. Quelle est la région AWS au Canada ?
  4. Citez 3 méthodes pour accéder à AWS.
  5. Qu'est-ce que le modèle de responsabilité partagée ?
  6. Quelle est la différence entre EC2 et Lambda ?

Prochaine section : Installation AWS CLI