[{"data":1,"prerenderedAt":491},["ShallowReactive",2],{"deck:aws":3},{"deck":4,"reason":489,"status":490},{"id":5,"stem":6,"matiere":7,"name":8,"punchline":9,"deckStatus":10,"customMessages":11,"sources":21,"cards":25},"aws","decks/aws","informatique","AWS","Tout est refusé par défaut, et la sortie est payante","publié",{"low":12,"medium":15,"high":18},[13,14],"Région, AZ, IAM : le socle avant les services","Un rôle, jamais une clé en dur",[16,17],"VPC public et privé, ça se dessine","Les acronymes se rangent",[19,20],"Multi-AZ, IMDSv2, SCP : tu parles AWS couramment","La facture n'aura plus de surprise",[22],{"title":23,"url":24},"AWS Documentation","https://docs.aws.amazon.com/",[26,35,43,51,59,66,73,84,92,104,112,120,131,142,153,160,171,178,185,196,204,216,228,239,246,253,260,267,274,282,289,298,305,313,321,328,345,352,363,370,384,392,404,415,423,434,441,448,455,467,478],{"id":27,"tags":28,"question":31,"quick_answer":32,"details":33,"difficulty":34},"aws-001",[7,5,29,30],"cloud","infrastructure","Qu'est-ce qu'une **Région** AWS ?","Une zone géographique (Paris, Francfort, Virginie…) qui regroupe plusieurs zones de disponibilité","Chaque Région est indépendante : les données n'en sortent pas sauf si on le décide. On choisit une Région pour la latence, la conformité (RGPD : `eu-west-3` Paris, `eu-central-1` Francfort) et le prix.\n\nLa plupart des ressources sont régionales ; IAM, Route 53 et CloudFront sont globaux.",3,{"id":36,"tags":37,"question":38,"quick_answer":39,"details":40,"dependsOn":41,"difficulty":42},"aws-002",[7,5,29,30],"Qu'est-ce qu'une **zone de disponibilité** (AZ) ?","Un ou plusieurs datacenters isolés dans une Région, avec alimentation et réseau séparés","`eu-west-3a`, `eu-west-3b`, `eu-west-3c`. Les AZ d'une Région sont reliées par des liens à faible latence mais assez éloignées pour qu'une inondation ou une panne électrique n'en touche qu'une.\n\nHaute disponibilité = déployer dans **au moins deux AZ**. Une instance EC2 ou un volume EBS vit dans une seule AZ.",[27],4,{"id":44,"tags":45,"question":47,"quick_answer":48,"details":49,"difficulty":50},"aws-003",[7,5,29,46],"securite","Dans le **modèle de responsabilité partagée**, de quoi AWS est-il responsable ?","De la sécurité DU cloud : datacenters, matériel, réseau, hyperviseur","Le client est responsable de la sécurité **DANS** le cloud : ses données, le chiffrement, les permissions IAM, les correctifs de l'OS sur ses instances EC2, la configuration de ses buckets.\n\nLa frontière bouge avec le service : sur Lambda, AWS patche l'OS ; sur EC2, c'est toi. Un bucket S3 public par erreur n'est jamais la faute d'AWS.",5,{"id":52,"tags":53,"question":55,"quick_answer":56,"details":57,"dependsOn":58,"difficulty":34},"aws-004",[7,5,54,46],"iam","Qu'est-ce qu'**IAM** ?","Le service qui gère les identités et leurs permissions : qui peut faire quoi sur quelle ressource","Identity and Access Management. Service **global** et gratuit. Objets principaux : utilisateurs, groupes, rôles, policies.\n\nPar défaut, tout est **refusé** : une identité sans policy ne peut rien faire.",[44],{"id":60,"tags":61,"question":62,"quick_answer":63,"details":64,"dependsOn":65,"difficulty":50},"aws-005",[7,5,54,46],"Qu'est-ce qu'un **rôle IAM** ?","Une identité sans clé fixe, assumée par un service ou un utilisateur pour des identifiants temporaires","On attache un rôle à une instance EC2, une fonction Lambda ou un pod EKS : le code y récupère automatiquement des identifiants qui expirent et tournent.\n\nC'est la bonne pratique numéro un : **jamais de clé d'accès en dur** dans le code ou dans une image Docker. Un rôle se définit par sa **trust policy** (qui peut l'assumer) et ses **permission policies** (ce qu'il peut faire).",[52],{"id":67,"tags":68,"question":69,"quick_answer":70,"details":71,"dependsOn":72,"difficulty":42},"aws-006",[7,5,54,46],"Dans une **policy IAM**, qu'arrive-t-il si une règle autorise une action et une autre la refuse explicitement ?","Le Deny explicite gagne toujours","Ordre d'évaluation : refus par défaut → un `Allow` l'emporte sur le refus implicite → un `Deny` explicite l'emporte sur tout.\n\nUne policy est un document JSON : `Effect` (Allow/Deny), `Action` (`s3:GetObject`), `Resource` (un ARN), `Condition` optionnelle.",[52],{"id":74,"tags":75,"question":76,"quick_answer":77,"details":78,"dependsOn":79,"difficulty":42,"sources":80},"aws-007",[7,5,54,46],"Pourquoi ne pas utiliser le compte **root** AWS au quotidien ?","Il a tous les droits sans restriction possible : une fuite de ses identifiants donne le compte entier","Le root est le propriétaire (l'adresse e-mail de création). Aucune policy IAM ne peut le limiter. Bonne pratique : MFA dessus, pas de clé d'accès, et un utilisateur ou rôle administrateur pour le travail courant.\n\nQuelques actions restent réservées au root : changer l'e-mail ou le mot de passe root, et récupérer l'accès quand le seul admin IAM s'est verrouillé.",[52],[81],{"title":82,"url":83},"AWS Docs — IAM root user","https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html",{"id":85,"tags":86,"question":87,"quick_answer":88,"details":89,"dependsOn":90,"difficulty":91},"aws-008",[7,5,54],"Structure d'un **ARN** (Amazon Resource Name) ?","arn:partition:service:region:account-id:resource","Exemple : `arn:aws:s3:::mon-bucket/photo.jpg` (S3 est global : région et compte vides) ou `arn:aws:iam::123456789012:role/app-role`.\n\nL'ARN est l'identifiant unique qu'on met dans le champ `Resource` des policies. Le `*` sert de joker.",[52],2,{"id":93,"tags":94,"question":96,"quick_answer":97,"details":98,"dependsOn":99,"difficulty":34,"sources":100},"aws-009",[7,5,95],"compute","Qu'est-ce qu'**EC2** ?","Le service de machines virtuelles à la demande","Elastic Compute Cloud. On choisit un **type d'instance** (`t3.micro`, `m6i.large` : famille, génération, taille), une **AMI** (image de l'OS) et une AZ. Facturation à la seconde (minimum 60 s) sur Linux et Windows ; RHEL et SUSE restent à l'heure.\n\nC'est la brique IaaS de base : on gère l'OS, les mises à jour et ce qui tourne dessus.",[36],[101],{"title":102,"url":103},"AWS — EC2 On-Demand pricing","https://aws.amazon.com/ec2/pricing/on-demand/",{"id":105,"tags":106,"question":108,"quick_answer":109,"details":110,"dependsOn":111,"difficulty":50},"aws-010",[7,5,95,107,46],"reseau","Qu'est-ce qu'un **security group** ?","Un pare-feu virtuel attaché à une instance (ou autre ressource), qui ne contient que des règles d'autorisation","Il est **stateful** : si une connexion entrante est autorisée, la réponse sort automatiquement. Pas de règle `deny` : ce qui n'est pas autorisé est bloqué.\n\nUne règle peut référencer un autre security group (« la base accepte le port 5432 depuis le SG des serveurs web ») plutôt que des IP.",[93],{"id":113,"tags":114,"question":116,"quick_answer":117,"details":118,"dependsOn":119,"difficulty":42},"aws-011",[7,5,115],"stockage","Qu'est-ce qu'**EBS** ?","Un disque bloc réseau, persistant, attaché à une instance EC2 dans la même AZ","Elastic Block Store. Le volume survit à l'arrêt de l'instance (et à sa suppression si on le demande). On peut le détacher et le rattacher à une autre instance **de la même AZ**.\n\n**Snapshots** : sauvegardes incrémentales stockées dans S3, copiables entre AZ et Régions. Types : `gp3` (SSD généraliste), `io2` (IOPS garanties), `st1` (HDD débit).",[93],{"id":121,"tags":122,"question":123,"quick_answer":124,"details":125,"dependsOn":126,"difficulty":34,"sources":127},"aws-012",[7,5,115],"Qu'est-ce que **S3** ?","Le service de stockage d'objets : des fichiers avec une clé, dans des buckets, accessibles par HTTP","Simple Storage Service. Pas un système de fichiers : pas de vrais dossiers (les `/` dans la clé ne sont qu'une convention), pas de modification partielle d'un objet, on remplace tout.\n\nDurabilité annoncée de 99,999999999 % (onze 9), capacité illimitée, objets jusqu'à 5 To. Usage : sauvegardes, assets statiques, data lake, uploads utilisateurs.",[27],[128],{"title":129,"url":130},"AWS Docs — S3 data durability","https://docs.aws.amazon.com/AmazonS3/latest/userguide/DataDurability.html",{"id":132,"tags":133,"question":134,"quick_answer":135,"details":136,"dependsOn":137,"difficulty":91,"sources":138},"aws-013",[7,5,115],"Le nom d'un **bucket S3** doit être unique à quel niveau ?","Au niveau mondial, tous comptes confondus (dans la partition standard)","Le nom sert d'hôte DNS (`mon-bucket.s3.eu-west-3.amazonaws.com`). `photos` est déjà pris depuis longtemps ; d'où les noms préfixés par l'entreprise ou l'ID de compte.\n\nUn bucket est créé dans **une** Région, même si l'espace de noms est global.",[121],[139],{"title":140,"url":141},"AWS Docs — S3 bucket naming rules","https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html",{"id":143,"tags":144,"question":145,"quick_answer":146,"details":147,"dependsOn":148,"difficulty":42,"sources":149},"aws-014",[7,5,115,46],"Un bucket S3 fraîchement créé est-il accessible publiquement ?","Non : privé par défaut, avec Block Public Access activé","Depuis 2023, tout nouveau bucket a **Block Public Access** activé et les ACL désactivées. Rendre un bucket public demande de lever explicitement ce blocage puis d'ajouter une bucket policy.\n\nLes fuites célèbres de données sur S3 viennent presque toujours d'une mauvaise configuration côté client (ACL « Authenticated Users » comprise comme « mes utilisateurs », alors que c'est tout compte AWS). Pour servir un site statique, préférer CloudFront devant un bucket privé.",[121],[150],{"title":151,"url":152},"AWS — S3 security best practices by default (avril 2023)","https://aws.amazon.com/about-aws/whats-new/2023/04/amazon-s3-security-best-practices-buckets-default/",{"id":154,"tags":155,"question":156,"quick_answer":157,"details":158,"dependsOn":159,"difficulty":50},"aws-015",[7,5,115],"À quoi servent les **classes de stockage** S3 ?","À payer moins pour les objets rarement lus, au prix d'un accès plus lent ou facturé","**Standard** (accès fréquent) → **Standard-IA** (infrequent access, moins cher au Go, frais par lecture) → **Glacier** (archivage, restauration en minutes à heures) → **Glacier Deep Archive** (le moins cher, 12 h de restauration).\n\n**Intelligent-Tiering** déplace automatiquement les objets selon leur usage. Les **règles de cycle de vie** automatisent la transition et l'expiration.",[121],{"id":161,"tags":162,"question":163,"quick_answer":164,"details":165,"dependsOn":166,"difficulty":50,"sources":167},"aws-016",[7,5,115],"Comment donner à un utilisateur un accès **temporaire** à un objet S3 privé sans lui créer d'identité ?","Avec une URL présignée (presigned URL)","L'application, qui a les droits, génère une URL signée avec une durée de validité (7 jours maximum avec une clé IAM ; signée par un rôle, l'URL meurt avec la session du rôle). Quiconque a l'URL peut lire (ou envoyer, pour un upload) l'objet jusqu'à expiration.\n\nC'est le pattern standard pour les uploads directs depuis un navigateur sans passer les fichiers par son serveur.",[143],[168],{"title":169,"url":170},"AWS Docs — S3 presigned URLs","https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html",{"id":172,"tags":173,"question":174,"quick_answer":175,"details":176,"dependsOn":177,"difficulty":42},"aws-017",[7,5,107],"Qu'est-ce qu'un **VPC** ?","Un réseau privé virtuel isolé dans une Région, avec sa plage d'IP, ses sous-réseaux et ses tables de routage","Virtual Private Cloud. On définit un bloc CIDR (`10.0.0.0/16`), on le découpe en sous-réseaux par AZ, on décide ce qui est joignable depuis Internet.\n\nChaque compte a un VPC par défaut dans chaque Région ; en production, on crée le sien.",[36],{"id":179,"tags":180,"question":181,"quick_answer":182,"details":183,"dependsOn":184,"difficulty":50},"aws-018",[7,5,107],"Qu'est-ce qui rend un sous-réseau VPC **public** ?","Une route vers une Internet Gateway dans sa table de routage","Un sous-réseau est juste une plage d'IP dans une AZ. Il devient « public » si sa route par défaut (`0.0.0.0/0`) pointe vers l'**Internet Gateway** du VPC, et si les instances ont une IP publique.\n\nSans cette route, le sous-réseau est privé : injoignable depuis Internet, c'est là qu'on met les bases de données et les serveurs applicatifs.",[172],{"id":186,"tags":187,"question":188,"quick_answer":189,"details":190,"dependsOn":191,"difficulty":50,"sources":192},"aws-019",[7,5,107],"Comment une instance en sous-réseau **privé** peut-elle télécharger des mises à jour depuis Internet ?","Via une NAT Gateway placée dans un sous-réseau public","La NAT Gateway laisse sortir le trafic initié depuis le privé et bloque tout ce qui vient de l'extérieur. Elle est facturée à l'heure **et** au Go : un poste de coût souvent sous-estimé.\n\nPour parler aux services AWS (S3, DynamoDB) sans passer par Internet : les **VPC endpoints**, moins chers et plus sûrs.",[179],[193],{"title":194,"url":195},"AWS — VPC pricing (NAT Gateway)","https://aws.amazon.com/vpc/pricing/",{"id":197,"tags":198,"question":199,"quick_answer":200,"details":201,"dependsOn":202,"difficulty":203},"aws-020",[7,5,107,46],"Qu'est-ce qu'une **NACL** (Network ACL) ?","Un pare-feu stateless au niveau du sous-réseau, avec règles allow et deny numérotées","Deux différences avec le security group : elle s'applique au **sous-réseau** (pas à l'instance) et elle est **stateless** : il faut autoriser explicitement le trafic retour (ports éphémères 1024-65535).\n\nLa NACL par défaut autorise tout. En pratique, on travaille avec les security groups et on garde les NACL pour des blocages d'IP grossiers.",[105,172],6,{"id":205,"tags":206,"question":208,"quick_answer":209,"details":210,"dependsOn":211,"difficulty":42,"sources":212},"aws-021",[7,5,95,207],"serverless","Qu'est-ce que **Lambda** ?","Du code exécuté à la demande sans serveur à gérer, facturé à la milliseconde d'exécution","On envoie une fonction (Node, Python, Go, Java… ou une image conteneur), AWS la lance en réponse à un événement : requête HTTP via API Gateway, fichier déposé sur S3, message SQS, cron EventBridge.\n\nLimites à connaître : **15 minutes** d'exécution maximum, 10 Go de mémoire, démarrage à froid (cold start) de quelques centaines de ms.",[27],[213],{"title":214,"url":215},"AWS Docs — Lambda quotas","https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html",{"id":217,"tags":218,"question":220,"quick_answer":221,"details":222,"dependsOn":223,"difficulty":34,"sources":224},"aws-022",[7,5,219],"base-de-donnees","Qu'est-ce que **RDS** ?","Des bases de données relationnelles managées : PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Db2","Relational Database Service. AWS gère l'installation, les sauvegardes automatiques, les correctifs, le failover. On garde le schéma et les requêtes.\n\n**Aurora** est la variante maison compatible PostgreSQL/MySQL, avec stockage distribué sur 3 AZ et jusqu'à 15 réplicas.",[27],[225],{"title":226,"url":227},"AWS Docs — RDS engines","https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RDSFeaturesRegionsDBEngines.grids.html",{"id":229,"tags":230,"question":231,"quick_answer":232,"details":233,"dependsOn":234,"difficulty":203,"sources":235},"aws-023",[7,5,219],"Sur RDS, que donne l'option **Multi-AZ** ?","Une réplique synchrone en attente dans une autre AZ, avec basculement automatique en cas de panne","C'est de la **haute disponibilité**, pas de la performance : en mode Multi-AZ **instance**, la standby ne sert pas de lecture. Le mode Multi-AZ **cluster** (deux standbys lisibles, failover \u003C 35 s) existe depuis 2022. Le failover change l'IP derrière le même nom DNS en 1 à 2 minutes.\n\nÀ ne pas confondre avec le **read replica** : copie asynchrone, lisible, pour décharger les lectures ou servir une autre Région.",[217],[236],{"title":237,"url":238},"AWS Docs — RDS Multi-AZ single standby","https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZSingleStandby.html",{"id":240,"tags":241,"question":242,"quick_answer":243,"details":244,"dependsOn":245,"difficulty":42},"aws-024",[7,5,219],"Qu'est-ce que **DynamoDB** ?","La base NoSQL clé-valeur / document managée, à latence constante quelle que soit la taille","Pas de serveur, pas de schéma, scale automatique. On accède par **clé de partition** (et clé de tri optionnelle) ; les requêtes complexes sans clé sont coûteuses ou impossibles : le modèle de données se conçoit à partir des accès.\n\nFacturation à la requête (on-demand) ou en capacité provisionnée.",[27],{"id":247,"tags":248,"question":249,"quick_answer":250,"details":251,"dependsOn":252,"difficulty":42},"aws-025",[7,5,107],"Qu'est-ce qu'un **ALB** ?","L'Application Load Balancer : couche 7, il route selon l'URL, l'hôte ou les en-têtes HTTP","Il comprend HTTP : `/api` vers un groupe de cibles, `/static` vers un autre, routage par nom d'hôte, terminaison TLS, intégration Cognito pour l'authentification.\n\nC'est le choix par défaut pour une application web ou une API.",[93],{"id":254,"tags":255,"question":256,"quick_answer":257,"details":258,"dependsOn":259,"difficulty":42},"aws-026",[7,5,95],"Que fait un **Auto Scaling Group** ?","Maintient un nombre d'instances EC2 entre un min et un max, et remplace celles qui tombent","On donne un **launch template** (AMI, type, security group), des bornes (`min 2, desired 2, max 10`) et des politiques (ajouter une instance si CPU > 70 %). L'ASG répartit les instances sur plusieurs AZ et les enregistre dans le load balancer.\n\nUne instance en échec de health check est terminée et recréée.",[93,247],{"id":261,"tags":262,"question":263,"quick_answer":264,"details":265,"dependsOn":266,"difficulty":34},"aws-027",[7,5,107],"Qu'est-ce que **Route 53** ?","Le service DNS d'AWS : zones hébergées, enregistrement de domaines, routage intelligent","Le nom vient du port 53 du DNS. Au-delà des enregistrements classiques, il propose des politiques de routage : pondéré, par latence, par géolocalisation, failover avec health checks.\n\nL'enregistrement **Alias** pointe vers une ressource AWS (ALB, CloudFront, bucket) sans IP fixe, y compris à la racine du domaine.",[27],{"id":268,"tags":269,"question":270,"quick_answer":271,"details":272,"dependsOn":273,"difficulty":42},"aws-028",[7,5,107],"Qu'est-ce que **CloudFront** ?","Le CDN d'AWS : des points de présence qui mettent en cache le contenu près des utilisateurs","Une **distribution** a une origine (bucket S3, ALB, serveur quelconque) et des règles de cache. Il termine le TLS, absorbe les pics et réduit les frais de sortie S3.\n\nAvec **Origin Access Control**, le bucket reste privé et seul CloudFront peut le lire.",[121],{"id":275,"tags":276,"question":278,"quick_answer":279,"details":280,"dependsOn":281,"difficulty":34},"aws-029",[7,5,277],"observabilite","Qu'est-ce que **CloudWatch** ?","Le service de métriques, logs et alarmes","Tous les services y publient des métriques (CPU EC2, latence ALB, erreurs Lambda). **CloudWatch Logs** centralise les journaux ; une **alarme** déclenche une action (SNS, auto scaling) quand un seuil est dépassé.\n\nLes métriques détaillées (à la minute) et les logs sont facturés au volume ingéré : un `console.log` bavard en Lambda coûte réellement.",[27],{"id":283,"tags":284,"question":285,"quick_answer":286,"details":287,"dependsOn":288,"difficulty":42},"aws-030",[7,5,277,46],"Qu'est-ce que **CloudTrail** ?","Le journal d'audit de tous les appels API sur le compte : qui a fait quoi, quand, depuis où","Chaque action de gestion (console, CLI, SDK) est enregistrée, 90 jours d'historique gratuits : création d'une instance, modification d'une policy, lecture d'un secret. C'est la première chose à ouvrir après un incident de sécurité.\n\nÀ ne pas confondre avec CloudWatch (métriques et logs applicatifs). Activer un trail multi-Régions vers un bucket S3 verrouillé est un réflexe de base ; les événements de **données** (GetObject S3, invocations Lambda) ne sont journalisés que par un trail configuré pour ça, et facturés.",[275],{"id":290,"tags":291,"question":293,"quick_answer":294,"details":295,"dependsOn":296,"difficulty":42},"aws-031",[7,5,292],"conteneurs","Qu'est-ce qu'**ECS** ?","L'orchestrateur de conteneurs propre à AWS, intégré nativement à IAM et aux load balancers","Elastic Container Service. Une **task definition** décrit les conteneurs (image, CPU, mémoire, ports), un **service** en maintient N copies derrière un ALB. Plus simple que Kubernetes, mais spécifique à AWS.\n\nLes images viennent d'ECR, les conteneurs tournent sur EC2 ou Fargate.",[297],"dkr-003",{"id":299,"tags":300,"question":301,"quick_answer":302,"details":303,"dependsOn":304,"difficulty":50},"aws-032",[7,5,292,207],"Qu'est-ce que **Fargate** ?","Le mode d'exécution de conteneurs sans gérer de serveurs, pour ECS et EKS","Sans Fargate, ECS et EKS lancent les conteneurs sur des instances EC2 que l'on dimensionne, patche et paie. Avec Fargate, on déclare CPU et mémoire par tâche/pod et AWS fournit la capacité.\n\nPlus cher à l'unité, moins cher en temps humain. Pas d'accès à la machine hôte, pas de GPU.",[290],{"id":306,"tags":307,"question":308,"quick_answer":309,"details":310,"dependsOn":311,"difficulty":34},"aws-033",[7,5,292],"Qu'est-ce qu'**ECR** ?","Le registre d'images de conteneurs d'AWS, privé par défaut","Elastic Container Registry. `docker push 123456789012.dkr.ecr.eu-west-3.amazonaws.com/app:1.2` après un `aws ecr get-login-password | docker login`. Scan de vulnérabilités intégré, règles de cycle de vie pour effacer les vieilles images.\n\nLes droits se gèrent en IAM, comme tout le reste.",[312],"dkr-019",{"id":314,"tags":315,"question":317,"quick_answer":318,"details":319,"dependsOn":320,"difficulty":42},"aws-034",[7,5,316],"messagerie","Qu'est-ce que **SQS** ?","Une file de messages managée : un producteur dépose, un consommateur retire et traite","Simple Queue Service. Découple deux services : l'API répond tout de suite, un worker traite plus tard. Un message retiré est **invisible** pendant le traitement puis supprimé par le consommateur ; sinon il réapparaît.\n\nFile standard (au moins une livraison, ordre approximatif) ou FIFO (exactement une fois, ordre strict). Une **dead-letter queue** récupère les messages en échec répété.",[27],{"id":322,"tags":323,"question":324,"quick_answer":325,"details":326,"dependsOn":327,"difficulty":42},"aws-035",[7,5,316],"Qu'est-ce que **SNS** ?","Un service de publication/abonnement : un message publié sur un topic est poussé à tous les abonnés","Simple Notification Service. Abonnés possibles : files SQS, fonctions Lambda, e-mails, SMS, webhooks HTTP. Un message → N destinataires, en parallèle.\n\nPattern classique **fan-out** : SNS publie, plusieurs files SQS reçoivent chacune une copie, chaque worker consomme la sienne.",[314],{"id":329,"tags":330,"question":331,"quick_answer":332,"details":333,"dependsOn":334,"difficulty":42,"sources":335},"aws-036",[7,5,46],"Qu'est-ce que **KMS** ?","Le service de gestion des clés de chiffrement, utilisé par S3, EBS, RDS, Secrets Manager…","Key Management Service. Les clés ne quittent jamais le service : on lui demande de chiffrer/déchiffrer, et IAM décide qui peut le faire. Les clés gérées par AWS ne coûtent rien en stockage (les appels API restent facturés) ; une **customer managed key** coûte environ 1 $/mois et permet rotation et policy fine. L'ancien sigle CMK est abandonné depuis 2021.\n\nS3 chiffre tout nouvel objet par défaut depuis janvier 2023 ; sur EBS, le chiffrement par défaut est un réglage à activer **par compte et par Région**.",[52],[336,339,342],{"title":337,"url":338},"AWS Docs — EBS encryption by default","https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html",{"title":340,"url":341},"AWS — S3 encrypts new objects by default (janvier 2023)","https://aws.amazon.com/about-aws/whats-new/2023/01/amazon-s3-automatically-encrypts-new-objects/",{"title":343,"url":344},"AWS — KMS pricing","https://aws.amazon.com/kms/pricing/",{"id":346,"tags":347,"question":348,"quick_answer":349,"details":350,"dependsOn":351,"difficulty":50},"aws-037",[7,5,46],"Où stocker un mot de passe de base de données pour qu'une application le lise sans l'avoir en dur ?","Dans Secrets Manager, lu au démarrage via le rôle IAM","**Secrets Manager** : chiffré par KMS, rotation automatique des identifiants RDS, facturé par secret et par appel. L'application n'a besoin que des droits IAM de lecture : zéro secret dans le code, l'image ou les variables d'environnement commitées.\n\nAlternative économique : **Parameter Store** (dans Systems Manager), niveau standard gratuit, pas de rotation. Bon pour la config et les secrets simples.",[60,329],{"id":353,"tags":354,"question":356,"quick_answer":357,"details":358,"dependsOn":359,"difficulty":42,"sources":360},"aws-038",[7,5,355],"facturation","Quel transfert de données est facturé par AWS : entrant ou sortant ?","Le sortant vers Internet ; l'entrant est gratuit","Le trafic entrant (upload vers S3, requêtes vers EC2) ne coûte rien. Le trafic **sortant** vers Internet est facturé au Go dégressif, autour de 0,09 $/Go, ainsi que le trafic entre Régions et, dans une moindre mesure, entre AZ.\n\nC'est l'argument de CloudFront (sortie moins chère) et un frein à la sortie du cloud (egress fees).",[27],[361],{"title":362,"url":103},"AWS — EC2 On-Demand pricing, data transfer",{"id":364,"tags":365,"question":366,"quick_answer":367,"details":368,"dependsOn":369,"difficulty":34},"aws-039",[7,5,355],"Comment être prévenu avant qu'une facture AWS ne dérape ?","Avec AWS Budgets : une alerte e-mail à un seuil de dépense, prévue ou réelle","Premier réflexe sur un compte neuf : un budget mensuel avec alertes à 50, 80 et 100 %. **Cost Explorer** permet ensuite de voir où part l'argent, par service, par tag, par jour.\n\nFuites classiques : NAT Gateway, instances oubliées, snapshots EBS qui s'accumulent, logs CloudWatch sans rétention.",[353],{"id":371,"tags":372,"question":373,"quick_answer":374,"details":375,"dependsOn":376,"difficulty":42,"sources":377},"aws-040",[7,5,355,95],"Qu'est-ce qu'une instance EC2 **Spot** ?","De la capacité inutilisée vendue jusqu'à 90 % moins cher, reprise par AWS avec 2 minutes de préavis","Idéal pour les traitements tolérants à l'interruption : batch, CI, rendu, workers derrière une file. Mauvaise idée pour une base de données.\n\nAutres modèles : **On-Demand** (plein tarif, sans engagement), **Reserved / Savings Plans** (engagement 1 ou 3 ans, jusqu'à 72 % de remise).",[93],[378,381],{"title":379,"url":380},"AWS — EC2 Spot","https://aws.amazon.com/ec2/spot/",{"title":382,"url":383},"AWS Docs — Spot interruptions","https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html",{"id":385,"tags":386,"question":388,"quick_answer":389,"details":390,"dependsOn":391,"difficulty":42},"aws-041",[7,5,387],"infrastructure-as-code","Qu'est-ce que **CloudFormation** ?","L'infrastructure as code native : un template YAML/JSON décrit les ressources, créées en une stack","Une **stack** se crée, se met à jour (avec change set pour prévisualiser) et se supprime d'un bloc. En cas d'erreur, rollback automatique.\n\nLe **CDK** génère du CloudFormation depuis du TypeScript ou Python. **Terraform** (HashiCorp/OpenTofu) est l'alternative tierce la plus répandue, multi-cloud.",[27],{"id":393,"tags":394,"question":395,"quick_answer":396,"details":397,"dependsOn":398,"difficulty":399,"sources":400},"aws-042",[7,5,46,95],"Comment une application sur EC2 obtient-elle les identifiants de son rôle IAM ?","En interrogeant le service de métadonnées d'instance (IMDS) sur 169.254.169.254","Le SDK AWS le fait automatiquement : il appelle `http://169.254.169.254/latest/meta-data/iam/security-credentials/` et reçoit des identifiants temporaires.\n\nRisque : une faille SSRF dans l'application permet de lire cette URL et de voler le rôle (incident Capital One, 2019). **IMDSv2** impose un jeton de session via une requête PUT, ce qui bloque la plupart des SSRF. À activer en mode obligatoire.",[60],7,[401],{"title":402,"url":403},"AWS Docs — Instance metadata service","https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html",{"id":405,"tags":406,"question":407,"quick_answer":408,"details":409,"dependsOn":410,"difficulty":50,"sources":411},"aws-043",[7,5,54,46],"Rôle de **STS** (Security Token Service) ?","Émettre des identifiants temporaires, notamment via AssumeRole","`aws sts assume-role --role-arn … --role-session-name …` renvoie une clé d'accès, une clé secrète et un token de session, valables de 15 minutes à 12 heures.\n\nC'est le mécanisme derrière les rôles EC2/Lambda, l'accès cross-compte, et la fédération (un login d'entreprise via SAML/OIDC échangé contre un rôle AWS). `aws sts get-caller-identity` dit « qui suis-je » : premier réflexe quand une commande refuse.",[60],[412],{"title":413,"url":414},"AWS Docs — STS AssumeRole","https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html",{"id":416,"tags":417,"question":419,"quick_answer":420,"details":421,"dependsOn":422,"difficulty":50},"aws-044",[7,5,418],"organisation","Pourquoi utiliser **plusieurs comptes AWS** plutôt qu'un seul ?","Isolation forte : un compte par environnement ou équipe limite le rayon d'explosion et clarifie la facture","**AWS Organizations** regroupe les comptes, centralise la facturation et applique des **SCP** (Service Control Policies) : des garde-fous qu'aucun admin de compte membre ne peut lever (« interdit de créer des ressources hors Europe »).\n\nUn compte dev compromis ne touche pas la prod ; un bucket mal configuré ne peut pas exposer les données d'un autre compte.",[52],{"id":424,"tags":425,"question":426,"quick_answer":427,"details":428,"dependsOn":429,"difficulty":34,"sources":430},"aws-045",[7,5,107],"Qu'est-ce qu'une **Elastic IP** ?","Une adresse IPv4 publique fixe, réservée au compte et réattachable à une autre instance","L'IP publique normale d'une instance EC2 est libérée à chaque stop/start (un simple reboot la conserve). L'Elastic IP reste. Depuis février 2024, toute IPv4 publique est facturée à l'heure, qu'elle soit attachée ou non.\n\nPour un service web, on préfère un nom DNS vers un load balancer plutôt qu'une IP fixe sur une instance.",[93],[431],{"title":432,"url":433},"AWS Blog — Public IPv4 address charge","https://aws.amazon.com/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/",{"id":435,"tags":436,"question":437,"quick_answer":438,"details":439,"dependsOn":440,"difficulty":42},"aws-046",[7,5,207],"Rôle d'**API Gateway** devant une Lambda ?","Exposer la fonction en HTTP : routes, authentification, limitation de débit, CORS","Lambda n'écoute sur aucun port. API Gateway reçoit la requête HTTP, vérifie éventuellement un JWT ou une clé d'API, et invoque la fonction avec l'événement. Deux variantes : **HTTP API** (simple, moins chère) et **REST API** (plus de fonctionnalités).\n\nAlternative minimaliste : les **Lambda function URLs**, une URL HTTPS directe sans gateway.",[205],{"id":442,"tags":443,"question":444,"quick_answer":445,"details":446,"dependsOn":447,"difficulty":34},"aws-047",[7,5,418,355],"À quoi servent les **tags** sur les ressources AWS ?","À ventiler les coûts, filtrer, automatiser et restreindre les droits par équipe ou projet","`Environment=prod`, `Team=data`, `CostCenter=42`. Activés comme **cost allocation tags**, ils découpent la facture dans Cost Explorer. Une policy IAM peut exiger un tag ou limiter l'accès aux ressources taguées d'une certaine façon (ABAC).\n\nUne ressource sans tag est une ressource que personne ne saura à qui attribuer quand il faudra nettoyer.",[364],{"id":449,"tags":450,"question":451,"quick_answer":452,"details":453,"dependsOn":454,"difficulty":50},"aws-048",[7,5,107],"Quand choisir un **NLB** plutôt qu'un ALB ?","Pour du TCP/UDP brut, une IP statique ou des millions de connexions à latence minimale","Le **Network Load Balancer** travaille en couche 4 : il ne regarde pas le contenu, donc pas de routage par URL ni de terminaison HTTP évoluée, mais une latence très faible et une IP fixe par AZ.\n\nUsages : protocoles non HTTP (bases, MQTT, jeux), passerelles qui exigent une IP à mettre en allowlist, trafic très élevé.",[247],{"id":456,"tags":457,"question":458,"quick_answer":459,"details":460,"dependsOn":461,"difficulty":42,"sources":463},"aws-049",[7,5,292],"Qu'est-ce qu'**EKS** ?","Kubernetes managé par AWS : control plane hébergé et opéré par AWS, nœuds à toi (ou Fargate)","Elastic Kubernetes Service. Un cluster EKS est un Kubernetes standard : manifests, Helm, operators fonctionnent tels quels, donc portabilité. En échange : plus de complexité qu'ECS et un coût fixe par cluster (environ 0,10 $/h) en plus des nœuds.\n\nLes identités IAM se mappent aux ServiceAccounts Kubernetes (IRSA / Pod Identity).",[462,290],"k8s-001",[464],{"title":465,"url":466},"AWS — EKS pricing","https://aws.amazon.com/eks/pricing/",{"id":468,"tags":469,"question":470,"quick_answer":471,"details":472,"dependsOn":473,"difficulty":42,"sources":474},"aws-050",[7,5,355,95],"Qu'est-ce qu'un **Savings Plan** ?","Un engagement de dépense horaire sur 1 ou 3 ans, en échange de jusqu'à 72 % de remise sur le compute","On s'engage sur « 10 $/h de compute pendant 3 ans » et tout usage EC2, Fargate ou Lambda couvert par cet engagement est facturé au tarif réduit. Plus souple que les anciennes **Reserved Instances**, liées à un type d'instance.\n\nRègle : réserver le socle stable (ce qui tourne 24/7), laisser le reste en On-Demand ou Spot.",[371],[475],{"title":476,"url":477},"AWS — Compute Savings Plans pricing","https://aws.amazon.com/savingsplans/compute-pricing/",{"id":479,"tags":480,"question":481,"quick_answer":482,"details":483,"dependsOn":484,"difficulty":42,"sources":485},"aws-051",[7,5,219],"Qu'est-ce qu'**Aurora** ?","La base relationnelle maison d'AWS, compatible PostgreSQL et MySQL, au stockage distribué sur 3 AZ","Le stockage est séparé du calcul et répliqué six fois sur trois AZ : failover en secondes, jusqu'à 15 réplicas de lecture, sauvegardes continues. Plus chère que RDS classique à petite échelle, plus performante et résiliente au-delà.\n\n**Aurora Serverless v2** ajuste la capacité automatiquement, jusqu'à zéro en pause.",[217],[486],{"title":487,"url":488},"AWS Docs — Aurora replication","https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Replication.html","ok",null,1792059302098]