Expert

Optimisation examen

Découplage, Well-Architected, chiffrement et coûts : les sujets qui font la différence au-dessus de 72 %

Module 9

Découplage : SQS et SNS

Files, notifications et fan-out : absorber les pics sans perdre un seul message.

1. SQS : la file d'attente

  • Standard : débit quasi illimité, ordre au mieux, au moins une fois. FIFO : ordre strict et déduplication, 300 msg/s (10 000 en batch).
  • Visibility timeout : message invisible pendant son traitement ; s'il n'est pas supprimé, il réapparaît. Long polling (jusqu'à 20 s) pour réduire les coûts.
  • Dead-letter queue (DLQ) : isole les messages en échec après N réceptions (maxReceiveCount) pour analyse.
  • Rétention 1 minute à 14 jours ; chiffrement SSE-SQS ou SSE-KMS ; politiques d'accès.
Pourquoi c'est important : Un flash de commandes écrase vos workers, les requêtes synchrones expirent et des commandes sont perdues sans trace. En plaçant une file SQS devant les traitements et un topic SNS pour prévenir tous les services en parallèle, le pic est absorbé, chaque message est rejoué et la montée en charge ne casse plus rien.
L'analogie qui aide : SQS est la file de la boulangerie avec tickets numérotés : chacun attend son tour sans bousculade, et les ratés vont au comptoir des réclamations (DLQ). SNS est le mégaphone qui annonce une fournée à tous les rayons d'un coup pour déclencher le fan-out vers plusieurs files.

2. SNS : la diffusion

  • Modèle publish/subscribe : un message vers N abonnés (SQS, Lambda, HTTP, email, SMS).
  • Fan-out : un topic SNS alimente plusieurs files SQS (parallélisme + persistance). Topics FIFO pour l'ordre.
  • EventBridge : bus d'événements avec routage par règles (planifié, SaaS, services AWS) ; Step Functions pour orchestrer des workflows ; API Gateway comme porte d'entrée HTTP/REST/WebSocket.
Démonstration pas à pas : Besoin : 50 000 commandes par heure sans perte, avec facturation, stock et notification en parallèle. Étape 1 : un topic SNS reçoit chaque commande et la diffuse en fan-out vers trois files SQS dédiées. Étape 2 : chaque file a une DLQ avec maxReceiveCount à 5 et un long polling de 20 secondes pour réduire les coûts. Étape 3 : les workers consomment, traitent puis suppriment, sinon le message réapparaît après le visibility timeout. Pourquoi pas des appels directs synchrones : le premier service lent fait tout échouer. Pourquoi pas du Standard si l'ordre compte : prenez FIFO avec déduplication.
aws sqs create-queue --queue-name commandes
aws sqs create-queue --queue-name commandes.fifo --attributes FifoQueue=true,ContentBasedDeduplication=true
aws sqs send-message --queue-url https://sqs.eu-west-3.amazonaws.com/1234/commandes --message-body "commande-42"
aws sqs receive-message --queue-url https://sqs.eu-west-3.amazonaws.com/1234/commandes --max-number-of-messages 5 --wait-time-seconds 10
aws sqs purge-queue --queue-url https://sqs.eu-west-3.amazonaws.com/1234/commandes
aws sns create-topic --name alertes
aws sns subscribe --topic-arn arn:aws:sns:eu-west-3:1234:alertes --protocol email --notification-endpoint ops@exemple.fr
aws sns publish --topic-arn arn:aws:sns:eu-west-3:1234:alertes --message "deploiement termine"
aws sqs list-queues
aws sns list-topics
Points d'examen :
  • Pic de charge + pas de perte = SQS devant les workers (découplage).
  • Un événement vers plusieurs cibles = SNS fan-out.
  • Ordre strict = FIFO (SQS et SNS) ; échecs = DLQ.
  • Visibility timeout supérieur au temps de traitement, sinon double traitement.
Pièges classiques : Pic plus aucune perte égale SQS devant les workers, un événement vers N cibles égale SNS en fan-out. Ordre strict et déduplication égale FIFO à 300 messages par seconde, sinon Standard quasi illimité. Réglez le visibility timeout au-dessus du temps de traitement et isolez les poisons dans une DLQ.
À vous de jouer : Des ordres boursiers doivent être traités strictement dans l'ordre et une seule fois. Que choisissez-vous ?
Voir la réponse

Une file SQS FIFO avec ContentBasedDeduplication et un topic SNS FIFO en amont si diffusion. La file Standard autorise doublons et désordre, donc réponse fausse à l'examen.

Module 10

Well-Architected : les 5 piliers

La grille de lecture officielle pour chaque scénario de l'examen.

1. Les piliers et leurs mots-clés

  • Excellence opérationnelle : IaC (CloudFormation/Terraform), déploiements automatisés, runbooks, revues, observabilité.
  • Sécurité : moindre privilège, séparation des tâches, chiffrement partout, détection (GuardDuty, Security Hub), traçabilité CloudTrail.
  • Fiabilité : reprise automatique, multi-AZ puis multi-région, sauvegardes testées (RTO/RPO), limitation des erreurs (bulkheads, backoff).
  • Efficacité des performances : bons services (cache, CDN, serverless), expérimentation, surveillance continue.
  • Optimisation des coûts : dimensionnement juste, modèle de prix adapté, détection du gaspillage, coût total mesuré.
  • Un 6e pilier existe : la durabilité (sobriété des ressources). L'examen SAA-C03 reste centré sur les 5 premiers.
Pourquoi c'est important : Un audit révèle une base mono-AZ sans sauvegarde testée, des clés surdimensionnées et des déploiements manuels le vendredi soir. Au premier incident, la restauration prend 48 heures et la facture a doublé. La grille Well-Architected donne à l'architecte un réflexe par pilier pour trancher vite : fiabilité, sécurité, coûts, performance et excellence opérationnelle.
L'analogie qui aide : Voyez Well-Architected comme le contrôle technique en cinq points avant un long voyage : freins pour la sécurité, roue de secours pour la fiabilité, consommation pour les coûts, moteur pour la performance, carnet d'entretien pour l'excellence opérationnelle. On ne part pas si un voyant est rouge.

2. Réflexes examen par pilier

  • « Haute disponibilité » : multi-AZ, ALB, ASG, RDS Multi-AZ, S3 (nativement multi-AZ).
  • « Reprise après sinistre » : sauvegarde/restauration, pilote (pilot light), tiède (warm standby), multirégion actif-actif selon le RTO/RPO.
  • « Moindre coût » : arrêter l'inutile, Intelligent-Tiering, Spot/Savings Plans, rightsizing.
  • « Déploiement sans interruption » : blue/green, canary, rolling via CodeDeploy ou ALB pondéré.
Démonstration pas à pas : Besoin : clinique en ligne critique avec RTO de 4 heures et RPO d'une heure. Étape 1 : fiabilité avec RDS Multi-AZ, ALB et ASG sur deux AZ, sauvegardes testées chaque mois. Étape 2 : sécurité avec moindre privilège IAM et chiffrement KMS partout. Étape 3 : coûts avec rightsizing et S3 Intelligent-Tiering, excellence opérationnelle avec stack CloudFormation versionnée et déploiement blue-green. Pourquoi pas du mono-AZ moins cher : le RTO explose. Pourquoi pas de l'administration manuelle : non rejouable ni auditable.
# Exemple CloudFormation minimal : bucket versionne et chiffre (IaC = pilier Excellence operationnelle)
# aws cloudformation deploy --template-file stack.yaml --stack-name socle --region eu-west-3
# Contenu de stack.yaml :
# Resources:
#   BucketSocle:
#     Type: AWS::S3::Bucket
#     Properties:
#       VersioningConfiguration:
#         Status: Enabled
#       BucketEncryption:
#         ServerSideEncryptionConfiguration:
#           - ServerSideEncryptionByDefault:
#               SSEAlgorithm: aws:kms
aws cloudformation describe-stacks --stack-name socle
aws configure get region
Points d'examen :
  • Associez chaque scénario à son pilier : le bon vocabulaire rapporte des points.
  • RTO (durée max d'arrêt) et RPO (perte max de données) dictent la stratégie de reprise.
  • Automatiser (IaC, auto scaling, auto-healing) plutôt qu'administrer à la main.
  • La revue Well-Architected Tool identifie les risques par pilier.
Pièges classiques : RTO mesure la durée maximale d'arrêt acceptée, RPO la perte maximale de données, et la stratégie suit : sauvegarde simple, pilote léger, tiède puis actif-actif. L'examen SAA-C03 reste centré sur les 5 piliers historiques, la durabilité est un sixième pilier hors périmètre. Tout scénario manuel à la main est suspect face à une réponse automatisée en IaC.
À vous de jouer : Une PME exige RPO d'une heure et RTO de 24 heures avec un budget serré. Quelle reprise proposez-vous ?
Voir la réponse

Une stratégie sauvegarde et restauration automatisée avec snapshots et scripts IaC testés. Un actif-actif multi-région respecterait le RTO mais coûterait sans justification face à un RTO de 24 heures.

Module 11

Chiffrement et KMS

Envelope encryption, types de clés, rotation : le chiffrement expliqué comme à l'examen.

1. Envelope encryption : le principe

La clé de données (DEK) chiffre les données ; la clé KMS (CMK) chiffre la DEK. On ne manipule jamais la CMK directement sur de gros volumes : rapide, sûr, auditable. Types de clés : gérées par AWS (automatiques, sans contrôle), gérées par le client (contrôle total, rotation, politiques) et propriété d'AWS (services internes).

Pourquoi c'est important : Un disque EBS non chiffré est détaché et lu en clair, et l'auditeur demande qui a déchiffré les dossiers clients le mois dernier sans que vous puissiez répondre. Avec le chiffrement KMS au repos et la trace CloudTrail de chaque utilisation de clé, la fuite devient inexploitable et l'audit devient une simple requête.
L'analogie qui aide : Pensez enveloppe scellée : la clé de données est la petite clé qui ferme chaque tiroir rapidement, la clé KMS est la clé maîtresse qui ne sort jamais du coffre et sert uniquement à sceller les petites clés dans des enveloppes. On trace chaque sortie de la clé maîtresse sans jamais l'exposer.

2. Usage dans les services

  • S3 : SSE-S3, SSE-KMS (audit CloudTrail + politiques de clé), SSE-C (clé fournie), chiffrement côté client.
  • EBS/RDS : chiffrement au repos en un clic via KMS, hérité par snapshots et replicas.
  • Rotation automatique annuelle des CMK gérées par le client ; politiques de clé (key policies) distinctes des politiques IAM.
  • CloudHSM : module matériel dédié mono-locataire pour les exigences réglementaires strictes ; ACM pour les certificats TLS gratuits auto-renouvelés.
Démonstration pas à pas : Besoin : dossiers patients chiffrés avec audit par utilisateur et TLS sur l'ALB. Étape 1 : CMK gérée par le client avec rotation annuelle et politique de clé restrictive. Étape 2 : S3 en SSE-KMS et EBS et RDS chiffrés avec cette CMK, héritage automatique aux snapshots. Étape 3 : certificat gratuit ACM sur ALB et CloudFront pour le transit. Pourquoi pas SSE-S3 seul : pas d'audit fin par clé dans CloudTrail. Pourquoi pas SSE-C : vous gérez les clés à la main sans rotation native.
aws kms create-key --description "cle principale SAA" --key-usage ENCRYPT_DECRYPT --origin AWS_KMS
aws kms create-alias --alias-name alias/saa-principale --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab
aws kms enable-key-rotation --key-id alias/saa-principale
aws kms describe-key --key-id alias/saa-principale
aws kms encrypt --key-id alias/saa-principale --plaintext "secret" --query CiphertextBlob
aws kms decrypt --ciphertext-blob fileb://secret.binaire --query Plaintext
aws kms list-aliases
aws kms get-key-rotation-status --key-id alias/saa-principale
Points d'examen :
  • Contrôle + audit + rotation = CMK gérée par le client.
  • Savoir qui a utilisé quelle clé et quand = CloudTrail + SSE-KMS.
  • Certificats TLS sur ALB/CloudFront = ACM (gratuit, renouvelé).
  • HSM dédié exigé = CloudHSM, pas KMS mutualisé.
Pièges classiques : Contrôle plus audit plus rotation égale CMK gérée par le client, automatique sans contrôle égale clé gérée par AWS. SSE-KMS trace chaque usage dans CloudTrail, SSE-S3 non. Certificats TLS gratuits auto-renouvelés égale ACM, module matériel dédié mono-locataire exigé égale CloudHSM, pas KMS mutualisé.
À vous de jouer : Un régulateur impose un module cryptographique dédié mono-locataire pour vos clés. Que choisissez-vous ?
Voir la réponse

CloudHSM en cluster dédié dans votre VPC. KMS reste mutualisé même avec CMK client, donc non conforme à cette exigence précise.

Module 12

Tarification et optimisation des coûts

Payer le juste prix : modèles de facturation, transfert de données et gouvernance.

1. Les modèles de prix à connaître

  • EC2 : On-Demand, Spot, Reserved, Savings Plans (Compute/EC2), Dedicated Host. Base stable = engagement, pics = On-Demand/Spot.
  • S3 : Go stockés par classe + requêtes + transfert sortant + gestion (lifecycle, réplication). Entrant toujours gratuit.
  • Transfert : entrant gratuit, sortant vers Internet facturé au Go (100 Go/mois offerts), trafic intra-AZ généralement gratuit, inter-AZ facturé.
Pourquoi c'est important : Des EC2 de test tournent 24/7 pour 2 heures d'usage hebdomadaire et 800 euros de transfert sortant vers Internet apparaissent sans alerte. En combinant le bon modèle de prix, l'arrêt programmé et des budgets avec seuils, l'architecte divise la facture par deux sans toucher aux performances de production.
L'analogie qui aide : Voyez la facture comme l'électricité d'une colocation : Cost Explorer est le compteur détaillé par appareil, Budgets est le disjoncteur qui bippe à 80 pour cent, les tags sont les noms sur chaque prise pour imputer à chacun, et Organizations est le syndic qui regroupe les factures et interdit les radiateurs interdits via les SCP.

2. Gouvernance des coûts

  • Cost Explorer (historique et prévisions), Budgets (alertes seuil), Cost Anomaly Detection (dépenses inhabituelles).
  • AWS Organizations + SCP : facturation consolidée et garde-fous ; Trusted Advisor et Compute Optimizer : recommandations de rightsizing.
  • Tags de répartition des coûts (Cost Allocation Tags) activés pour imputer par projet.
Démonstration pas à pas : Besoin : développement 40 heures par semaine plus production stable. Étape 1 : développement en On-Demand avec arrêt nocturne automatisé et Spot pour les tests, jamais de Reserved 3 ans pour du variable. Étape 2 : production en Savings Plans 1 an pour le socle plus On-Demand pour les pics. Étape 3 : S3 Intelligent-Tiering avec cycle de vie, CloudFront et endpoints pour couper le transfert sortant, budget à 80 et 100 pour cent avec alerte SNS. Pourquoi pas tout en On-Demand : surcoût durable. Pourquoi pas Reserved pour le dev : engagement perdu hors horaires.
aws ce get-cost-and-usage --time-period Start=2026-01-01,End=2026-02-01 --granularity MONTHLY --metrics BlendedCost --group-by Type=DIMENSION,Key=SERVICE
aws budgets describe-budgets --account-id 123456789012
aws ec2 describe-spot-price-history --instance-types t3.micro --product-descriptions "Linux/UNIX" --availability-zone eu-west-3a --max-items 5
aws support describe-trusted-advisor-checks --language fr
aws organizations list-accounts
aws ce get-cost-forecast --time-period Start=2026-02-01,End=2026-03-01 --metric BLENDED_COST --granularity MONTHLY
Points d'examen :
  • Question « moins cher » : toujours comparer engagement (stable) contre flexibilité (variable).
  • Data transfer : minimiser le sortant (CloudFront, endpoints, même région/AZ).
  • Budgets + alertes pour « être notifié avant de dépasser » ; Organizations pour « consolider et contrôler ».
  • TCO et Pricing Calculator pour chiffrer une migration.
Pièges classiques : Entrant toujours gratuit, sortant vers Internet facturé au Go avec 100 Go offerts, inter-AZ facturé. Stable 24/7 égale engagement Reserved ou Savings Plans, variable ou interruptible égale On-Demand ou Spot. Budgets alerte sans bloquer, Organizations avec SCP pour consolider et interdire, Trusted Advisor et Compute Optimizer pour le rightsizing.
À vous de jouer : Une application interne ne tourne que lundi à vendredi de 9 heures à 18 heures. Quelle facturation proposez-vous ?
Voir la réponse

Des instances On-Demand avec arrêt automatique le soir et le week-end via Instance Scheduler. Un Reserved tournerait à vide 128 heures par semaine sans économie réelle.