1. Quelle est la difference entre les regions, les zones de disponibilite et les edge locations AWS ?
Une Region est une zone geographique independante (ex: eu-west-3 pour Paris) contenant plusieurs data centers. Chaque region a au minimum 3 Availability Zones (AZ), des data centers physiquement separes avec alimentation, refroidissement et reseau independants, relies par un reseau a faible latence. Les Edge Locations (plus de 400) sont des points de presence du CDN CloudFront et de Route 53, proches des utilisateurs finaux. Choisir une region selon : proximite des utilisateurs, conformite legale (RGPD pour l'Europe), services disponibles, et cout. Concevoir multi-AZ pour la haute disponibilite, multi-region pour la reprise apres sinistre.
2. Expliquez les differents types de stockage AWS (S3, EBS, EFS).
S3 (Simple Storage Service) : stockage objet, capacite illimitee, 99.999999999% de durabilite (11 nines). Classes : Standard, Intelligent-Tiering, Glacier (archivage). Ideal pour les fichiers statiques, backups, data lakes. EBS (Elastic Block Store) : volumes bloc attaches a une instance EC2, comme un disque dur virtuel. Types : gp3 (general purpose SSD), io2 (haute performance), st1 (HDD throughput). Lie a une seule AZ. EFS (Elastic File System) : systeme de fichiers NFS partage entre plusieurs instances, multi-AZ automatique, capacite elastique. Utiliser S3 pour les objets, EBS pour les bases de donnees et OS, EFS pour les fichiers partages entre instances.
3. Comment fonctionne IAM (Identity and Access Management) ?
IAM gere l'authentification et l'autorisation sur AWS. Elements : Users (identites humaines), Groups (regroupement logique d'utilisateurs), Roles (identites temporaires pour les services, applications ou federation), Policies (documents JSON definissant les permissions). Principe du moindre privilege : accorder uniquement les permissions necessaires. Les policies ont un Effect (Allow/Deny), Action (s3:GetObject), Resource (arn:aws:s3:::mon-bucket/*). Le Deny explicite l'emporte toujours. Bonnes pratiques : MFA sur le compte root, ne jamais utiliser les cles root, utiliser des roles plutot que des cles d'acces, activer CloudTrail pour l'audit.
4. Qu'est-ce que les services de compute AWS et quand les utiliser ?
EC2 : machines virtuelles, controle total, ideal pour les workloads previsibles et les applications legacy. Types d'instances : general purpose (t3, m6i), compute optimized (c6i), memory optimized (r6i), storage optimized (i3). Lambda : serverless, execution par evenement, facturation a la milliseconde, zero administration. Ideal pour les microservices, les triggers S3/API Gateway, et les taches courtes (max 15 min). ECS/EKS : orchestration de conteneurs (Docker). ECS est natif AWS, EKS est Kubernetes manage. Fargate : conteneurs serverless, pas de gestion d'infrastructure. Choix : Lambda pour les fonctions courtes et evenementielles, conteneurs pour les applications complexes, EC2 pour le controle maximal.
5. Expliquez les services de base de donnees AWS.
RDS : bases relationnelles gerees (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server). Multi-AZ pour la haute disponibilite, read replicas pour la performance en lecture. Aurora : compatible MySQL/PostgreSQL, 5x plus performant, stockage auto-scaling jusqu'a 128 TB, Aurora Serverless pour les charges variables. DynamoDB : NoSQL key-value et document, milliseconde de latence, capacite auto-scaling, tables globales multi-region. ElastiCache : cache en memoire (Redis ou Memcached). Redshift : data warehouse pour l'analytique. DocumentDB : compatible MongoDB. Choix : RDS/Aurora pour les donnees relationnelles, DynamoDB pour les acces key-value a haute performance, Redshift pour le BI et l'analytique.
6. Comment concevoir une architecture haute disponibilite sur AWS ?
Principes : deployer sur plusieurs AZ (minimum 2, idealement 3). Utiliser un ALB (Application Load Balancer) pour distribuer le trafic entre les AZ. Auto Scaling Groups pour ajuster le nombre d'instances selon la charge. Bases de donnees en Multi-AZ (RDS) ou tables globales (DynamoDB). Stockage sur S3 (replique automatiquement sur 3 AZ). Route 53 avec health checks et failover routing pour le DNS. Files de messages SQS pour decoupler les composants. CloudFront CDN pour la distribution globale. Architecture de reference : ALB + ASG multi-AZ + RDS Multi-AZ + ElastiCache replica + S3 pour les assets. Objectif : aucun single point of failure.
7. Qu'est-ce que les VPC et comment configurer le reseau AWS ?
Un VPC (Virtual Private Cloud) est un reseau virtuel isole dans AWS. Configuration : definir un CIDR block (ex: 10.0.0.0/16), creer des subnets (publics avec route vers Internet Gateway, prives avec route vers NAT Gateway). Security Groups : firewall stateful au niveau des instances (regles d'entree/sortie). NACLs : firewall stateless au niveau du subnet. Internet Gateway : acces internet pour les subnets publics. NAT Gateway : acces internet sortant pour les subnets prives. VPC Peering : connexion entre VPC. Transit Gateway : hub reseau pour connecter plusieurs VPC et on-premises. VPN/Direct Connect : connexion securisee au reseau on-premises.
8. Expliquez les services de monitoring et logging AWS.
CloudWatch : metriques (CPU, memoire, requetes), alarmes, dashboards. Metriques custom pour les metriques applicatives. CloudWatch Logs : centralisation des logs avec retention configurable, Logs Insights pour les requetes analytiques. CloudTrail : journal d'audit de toutes les actions API AWS (qui a fait quoi, quand). Indispensable pour la securite et la conformite. X-Ray : tracing distribue pour les applications microservices, visualisation des appels entre services. AWS Config : suivi des changements de configuration des ressources, regles de conformite. Bonnes pratiques : alarmes sur les metriques critiques, retention des logs adaptee, dashboards par service, et alertes vers SNS/PagerDuty.
9. Comment fonctionne le deploiement et l'infrastructure as code sur AWS ?
CloudFormation : IaC natif AWS, templates YAML/JSON declaratifs. Gere les stacks avec creation, mise a jour et suppression ordonnees. Drift detection pour verifier les modifications manuelles. CDK (Cloud Development Kit) : ecrire l'infrastructure en TypeScript, Python, Java. Genere du CloudFormation. Plus expressif et testable. Terraform : IaC multi-cloud, HCL declaratif, state file pour le suivi. CodePipeline : CI/CD natif (Source -> Build -> Test -> Deploy). CodeBuild pour la compilation, CodeDeploy pour le deploiement (blue/green, rolling). Alternative populaire : GitHub Actions avec des actions AWS officielles. Toujours versionner l'infrastructure et la deployer via des pipelines, jamais manuellement en production.
10. Qu'est-ce que les strategies de cout et d'optimisation sur AWS ?
Types de tarification EC2 : On-Demand (plein tarif, flexibilite), Reserved Instances (engagement 1-3 ans, jusqu'a 72% de reduction), Savings Plans (engagement de depense, flexible), Spot Instances (jusqu'a 90% de reduction, interruptibles). S3 : choisir la bonne classe de stockage, lifecycle policies pour archiver automatiquement. Right-sizing : analyser les instances sous-utilisees avec Compute Optimizer. Outils : Cost Explorer pour l'analyse, Budgets pour les alertes, Trusted Advisor pour les recommandations. Bonnes pratiques : tags de cout sur toutes les ressources, comptes AWS separes par environnement (Organizations), supprimer les ressources inutilisees (EIP, volumes EBS non attaches, snapshots obsoletes).