1. Quelle est la différence entre les régions, les zones de disponibilité et les edge locations AWS ?
Une Région est une zone géographique indépendante (ex: eu-west-3 pour Paris) contenant plusieurs data centers. Chaque région a au minimum 3 Availability Zones (AZ), des data centers physiquement séparés avec alimentation, refroidissement et réseau indépendants, relies par un réseau a faible latence. Les Edge Locations (plus de 400) sont des points de présence du CDN CloudFront et de Route 53, proches des utilisateurs finaux. Choisir une région selon : proximité des utilisateurs, conformité légale (RGPD pour l'Europe), services disponibles, et coût. Concevoir multi-AZ pour la haute disponibilité, multi-region pour la reprise après sinistre.
2. Expliquez les différents types de stockage AWS (S3, EBS, EFS).
S3 (Simple Storage Service) : stockage objet, capacité illimitee, 99.999999999% de durabilité (11 nines). Classes : Standard, Intelligent-Tiering, Glacier (archivage). Idéal pour les fichiers statiques, backups, data lakes. EBS (Elastic Block Store) : volumes bloc attaches à une instance EC2, comme un disque dur virtuel. Types : gp3 (général purpose SSD), io2 (haute performance), st1 (HDD throughput). Lie à une seule AZ. EFS (Elastic File System) : système de fichiers NFS partage entre plusieurs instances, multi-AZ automatique, capacité élastique. Utiliser S3 pour les objets, EBS pour les bases de données 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. Éléments : Users (identités humaines), Groups (regroupement logique d'utilisateurs), Rôles (identités temporaires pour les services, applications ou federation), Policies (documents JSON definissant les permissions). Principe du moindre privilege : accorder uniquement les permissions nécessaires. 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 clés root, utiliser des rôles plutôt que des clés d'accès, activer CloudTrail pour l'audit.
4. Qu'est-ce que les services de compute AWS et quand les utiliser ?
EC2 : machines virtuelles, contrôle total, idéal pour les workloads previsibles et les applications legacy. Types d'instances : général purpose (t3, m6i), compute optimized (c6i), memory optimized (r6i), storage optimized (i3). Lambda : serverless, exécution par événement, facturation à la milliseconde, zéro administration. Idéal pour les microservices, les triggers S3/API Gateway, et les tâches 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 contrôle maximal.
5. Expliquez les services de base de données AWS.
RDS : bases relationnelles gérées (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server). Multi-AZ pour la haute disponibilité, read réplicas pour la performance en lecture. Aurora : compatible MySQL/PostgreSQL, 5x plus performant, stockage auto-scaling jusqu'à 128 TB, Aurora Serverless pour les charges variables. DynamoDB : NoSQL key-value et document, milliseconde de latence, capacité auto-scaling, tables globales multi-region. ElastiCache : cache en mémoire (Redis ou Memcached). Redshift : data warehouse pour l'analytique. DocumentDB : compatible MongoDB. Choix : RDS/Aurora pour les données relationnelles, DynamoDB pour les accès key-value a haute performance, Redshift pour le BI et l'analytique.
6. Comment concevoir une architecture haute disponibilité sur AWS ?
Principes : déployer sur plusieurs AZ (minimum 2, idéalement 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 données 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 référence : 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 réseau AWS ?
Un VPC (Virtual Private Cloud) est un réseau virtuel isole dans AWS. Configuration : définir un CIDR block (ex: 10.0.0.0/16), créer des subnets (publics avec route vers Internet Gateway, prives avec route vers NAT Gateway). Security Groups : firewall stateful au niveau des instances (règles d'entrée/sortie). NACLs : firewall stateless au niveau du subnet. Internet Gateway : accès internet pour les subnets publics. NAT Gateway : accès internet sortant pour les subnets prives. VPC Peering : connexion entre VPC. Transit Gateway : hub réseau pour connecter plusieurs VPC et on-premises. VPN/Direct Connect : connexion sécurisée au réseau on-premises.
8. Expliquez les services de monitoring et logging AWS.
CloudWatch : métriques (CPU, mémoire, requêtes), alarmes, dashboards. Métriques custom pour les métriques applicatives. CloudWatch Logs : centralisation des logs avec retention configurable, Logs Insights pour les requêtes analytiques. CloudTrail : journal d'audit de toutes les actions API AWS (qui a fait quoi, quand). Indispensable pour la sécurité et la conformité. X-Ray : tracing distribue pour les applications microservices, visualisation des appels entre services. AWS Config : suivi des changements de configuration des ressources, règles de conformité. Bonnes pratiques : alarmes sur les métriques critiques, retention des logs adaptée, dashboards par service, et alertes vers SNS/PagerDuty.
9. Comment fonctionne le déploiement et l'infrastructure as code sur AWS ?
CloudFormation : IaC natif AWS, templates YAML/JSON declaratifs. Gere les stacks avec création, mise à jour et suppression ordonnees. Drift détection pour vérifier les modifications manuelles. CDK (Cloud Development Kit) : écrire l'infrastructure en TypeScript, Python, Java. Genere du CloudFormation. Plus expressif et testable. Terraform : IaC multi-cloud, HCL déclaratif, state file pour le suivi. CodePipeline : CI/CD natif (Source -> Build -> Test -> Deploy). CodeBuild pour la compilation, CodeDeploy pour le déploiement (blue/green, rolling). Alternative populaire : GitHub Actions avec des actions AWS officielles. Toujours versionner l'infrastructure et la déployer via des pipelines, jamais manuellement en production.
10. Qu'est-ce que les stratégies de coût et d'optimisation sur AWS ?
Types de tarification EC2 : On-Demand (plein tarif, flexibilité), Reserved Instances (engagement 1-3 ans, jusqu'à 72% de réduction), Savings Plans (engagement de dépense, flexible), Spot Instances (jusqu'à 90% de réduction, 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 coût sur toutes les ressources, comptes AWS séparés par environnement (Organizations), supprimer les ressources inutilisees (EIP, volumes EBS non attaches, snapshots obsolètes).