← Retour au cours
▶ Aperçu gratuit · Leçon offerte

Compute (EC2, Lambda, Elastic Beanstalk, ECS/EKS)

⏱ 12 min · 🎬 Video · 🏆 20 XP

Amazon EC2 (Elastic Compute Cloud)

EC2 est le service de machines virtuelles d'AWS, offrant une capacité de calcul redimensionnable dans le cloud. Il constitue la base de nombreuses architectures AWS et est central à l'examen SAA-C03.

Types d'instances EC2

AWS propose différents types d'instances optimisés pour des cas d'usage spécifiques :

  • General Purpose (T3, T4g, M5, M6i) : Équilibre entre CPU, mémoire et réseau
  • Compute Optimized (C5, C6i) : Applications nécessitant une puissance CPU élevée
  • Memory Optimized (R5, X1e) : Bases de données en mémoire, analytics
  • Storage Optimized (I3, D3) : Systèmes de fichiers distribués, data warehousing
💡 Astuce : Pour l'examen, retenez la nomenclature : la première lettre indique la famille (T=burstable, M=general purpose, C=compute, R=memory, I=storage), le chiffre la génération, et la taille suit (nano, micro, small, medium, large, xlarge...).

Exemple pratique : Déploiement d'une instance EC2

# Lancer une instance EC2 via AWS CLI
aws ec2 run-instances \
    --image-id ami-0abcdef1234567890 \
    --instance-type t3.medium \
    --key-name my-key-pair \
    --security-group-ids sg-12345678 \
    --subnet-id subnet-6e7f829e \
    --user-data file://userdata.sh \
    --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=WebServer}]'

# Script userdata.sh pour configuration automatique
#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "

Hello from EC2!

" > /var/www/html/index.html

AWS Lambda

Lambda est le service de calcul serverless d'AWS permettant d'exécuter du code sans provisionner de serveurs. Il s'adapte automatiquement à la charge et vous ne payez que pour le temps d'exécution.

Caractéristiques clés :

  • Timeout maximum : 15 minutes
  • Mémoire : 128 MB à 10 GB
  • Stockage temporaire : jusqu'à 10 GB (/tmp)
  • Variables d'environnement : 4 KB maximum

Scénario Lambda : Traitement d'images automatisé

import json
import boto3
from PIL import Image
import os

def lambda_handler(event, context):
    s3 = boto3.client('s3')
    
    # Récupération de l'événement S3
    bucket = event['Records'][0]['s3']['bucket']['name']
    key = event['Records'][0]['s3']['object']['key']
    
    # Téléchargement de l'image
    download_path = '/tmp/' + key
    s3.download_file(bucket, key, download_path)
    
    # Redimensionnement
    image = Image.open(download_path)
    image.thumbnail((200, 200))
    
    # Upload de la miniature
    thumbnail_key = 'thumbnails/' + key
    thumbnail_path = '/tmp/thumb_' + key
    image.save(thumbnail_path)
    
    s3.upload_file(thumbnail_path, bucket, thumbnail_key)
    
    return {
        'statusCode': 200,
        'body': json.dumps(f'Thumbnail created: {thumbnail_key}')
    }
⚠️ Piège examen : Lambda a une limite de 1000 exécutions concurrentes par défaut par région. Pour des charges importantes, considérez Reserved Concurrency ou utilisez SQS pour lisser la charge.

AWS Elastic Beanstalk

Elastic Beanstalk est un service PaaS qui simplifie le déploiement d'applications web. Il gère automatiquement l'infrastructure (EC2, ELB, Auto Scaling) tout en conservant le contrôle des ressources sous-jacentes.

Plateformes supportées :

  • Java, .NET, PHP, Node.js, Python, Ruby
  • Docker
  • Go

Amazon ECS (Elastic Container Service)

ECS est le service de conteneurisation managé d'AWS. Il orchestre les conteneurs Docker avec deux modes de lancement :

  • EC2 Launch Type : Vous gérez les instances EC2
  • Fargate Launch Type : AWS gère complètement l'infrastructure

Exemple ECS : Définition de tâche

{
  "family": "web-app",
  "networkMode": "awsvpc",
  "requiresCompatibilities": ["FARGATE"],
  "cpu": "256",
  "memory": "512",
  "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
  "containerDefinitions": [
    {
      "name": "web-container",
      "image": "nginx:latest",
      "portMappings": [
        {
          "containerPort": 80,
          "protocol": "tcp"
        }
      ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/web-app",
          "awslogs-region": "us-east-1"
        }
      }
    }
  ]
}

Amazon EKS (Elastic Kubernetes Service)

EKS est le service Kubernetes managé d'AWS. Il gère le plan de contrôle Kubernetes tandis que vous gérez les worker nodes via des groupes de nœuds managés ou auto-managés.

💡 Astuce : EKS vs ECS : Choisissez EKS si vous avez déjà une expertise Kubernetes ou besoin de portabilité multi-cloud. ECS est plus simple et mieux intégré à l'écosystème AWS.

Scénario architectural : E-commerce haute disponibilité

Architecture recommandée pour une application e-commerce :

  • Frontend : CloudFront + S3 (site statique) ou EC2 Auto Scaling
  • API Layer : Lambda + API Gateway pour les microservices
  • Conteneurs : ECS Fargate pour les services applicatifs
  • Batch Processing : Lambda pour les tâches courtes, EC2 Spot pour le traitement lourd

Facturation et optimisation des coûts

Modèles de tarification EC2 :

  • On-Demand : Tarif horaire sans engagement
  • Reserved Instances : Réduction jusqu'à 75% avec engagement 1-3 ans
  • Spot Instances : Jusqu'à 90% moins cher, mais interruptible
  • Dedicated Hosts : Serveur physique dédié
⚠️ Piège examen : Les Savings Plans offrent plus de flexibilité que les Reserved Instances car ils s'appliquent à EC2, Lambda et Fargate, pas seulement à un type d'instance spécifique.

Mini-Quiz de révision

Question 1 : Quelle est la durée maximale d'exécution d'une fonction Lambda ? Réponse : 15 minutes. C'est une limitation importante à retenir pour l'examen.
Question 2 : Quel service choisir pour une application nécessitant une disponibilité de 99.99% avec des pics de trafic imprévisibles ? Réponse : EC2 Auto Scaling avec des instances réparties sur plusieurs AZ, ou Lambda si l'application peut être décomposée en fonctions courtes. ECS Fargate est aussi une option pour les conteneurs.
Question 3 : Dans quel cas préférer EKS à ECS ? Réponse : EKS est préférable quand vous avez déjà une expertise Kubernetes, besoin de portabilité multi-cloud, ou utilisez des outils de l'écosystème Kubernetes. ECS est plus simple pour les nouveaux projets AWS-natifs.

Continuez le parcours 🚀

Inscrivez-vous pour accéder aux 4 autres leçons + le quiz final.

Créer mon compte
🍪 Nous utilisons des cookies essentiels et, avec ton accord, des cookies analytiques. En savoir plus

⚙️ Préférences cookies

Choisis quels cookies tu acceptes — modifiable à tout moment.

🔐 Essentiels (obligatoires)Authentification, session, sécurité. Toujours actifs.
📊 Analytics anonymesMesure d'audience anonymisée — aucune donnée personnelle.
📣 MarketingPublicités ITAG pertinentes sur d'autres sites.
💬 Contactez-nous sur WhatsApp