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.
AWS propose différents types d'instances optimisés pour des cas d'usage spécifiques :
# 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
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 :
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}')
}
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 :
ECS est le service de conteneurisation managé d'AWS. Il orchestre les conteneurs Docker avec deux modes de lancement :
{
"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"
}
}
}
]
}
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.
Architecture recommandée pour une application e-commerce :
Modèles de tarification EC2 :
Inscrivez-vous pour accéder aux 4 autres leçons + le quiz final.
Créer mon compteChoisis quels cookies tu acceptes — modifiable à tout moment.