Comparer et déployer les bases AWS : RDS (MySQL, PostgreSQL, MariaDB, Oracle, SQL Server), Aurora (PostgreSQL/MySQL compatible, serverless v2), DynamoDB (NoSQL clé-valeur), ElastiCache (Redis, Memcached), DocumentDB, Neptune, Timestream, Keyspaces. Décider selon scénario.
📍 À lire d’abord : Pilier AWS SAA-C03 · VPC.
Introduction
Le choix de la bonne base de données est critique en architecture AWS. SAA-C03 teste régulièrement la décision entre RDS/Aurora/DynamoDB selon scénario. Ce tutoriel compare les services et apprend à les déployer.
Prérequis
- Compte AWS configuré.
- VPC avec subnets privés (cf. tutoriel VPC).
- Connaissance basique SQL et NoSQL.
- Niveau intermédiaire.
- Temps : 2 heures.
Étape 1 — Comparaison synthétique
RDS : SQL relationnel managé. MySQL/PostgreSQL/MariaDB/Oracle/SQL Server
Single instance ou Multi-AZ. Read replicas pour scale read.
Vertical scaling, max ~32 vCPU / 768 Go RAM
Aurora : SQL haute performance MySQL/PostgreSQL compatible.
Storage auto-scale 10 Go → 128 To, 6 copies multi-AZ.
5x perf MySQL, 3x perf PostgreSQL.
Serverless v2 : auto scale 0.5-128 ACU sec par sec
DynamoDB : NoSQL key-value, serverless, milliseconde latency.
Auto-scale, pay per request ou provisioned. DAX cache.
Limites : 400 KB/item, queries restreintes (clé primaire).
ElastiCache : in-memory cache. Redis (data structures, pub/sub) ou Memcached (simple key-value)
DocumentDB : MongoDB compatible (jusqu'à v5)
Neptune : graph DB (Property Graph + RDF/SPARQL)
Timestream : time-series DB (IoT, monitoring)
Keyspaces : Cassandra-compatible
À l’examen : choisir selon use case. Site e-commerce relationnel avec besoin scale = Aurora. Catalog produits NoSQL ms latency = DynamoDB. Cache session = ElastiCache Redis.
Étape 2 — RDS : Multi-AZ vs Read Replicas
Multi-AZ (synchronous standby) : DR + HA. Standby invisible aux apps, failover automatique en cas de panne primary. Pas de scale read.
Read Replicas (asynchronous) : scale read, jusqu’à 5 replicas par primary, peuvent être dans autre région. Apps lisent les replicas pour réduire charge primary.
Multi-AZ Cluster (depuis 2022) : 2 standbys readable, failover < 35 sec. Best of both.
À l’examen :
– Question HA → Multi-AZ
– Question scale read → Read Replicas
– Question DR cross-region → Read Replica cross-region (ou Aurora Global Database)
Étape 3 — Aurora Serverless v2
# Créer cluster Aurora Serverless v2 PostgreSQL
aws rds create-db-cluster \
--db-cluster-identifier lab-aurora \
--engine aurora-postgresql \
--engine-version 15.4 \
--master-username admin \
--manage-master-user-password \
--serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=4
aws rds create-db-instance \
--db-instance-identifier lab-aurora-instance-1 \
--db-cluster-identifier lab-aurora \
--engine aurora-postgresql \
--db-instance-class db.serverless
Aurora Serverless v2 : ~0.12 USD/ACU-hour (1 ACU = 2 Go RAM + CPU). Idéal workloads spiky ou intermittents — paie pour ce que tu utilises seconde par seconde.
Étape 4 — DynamoDB
NoSQL key-value, scaling massif (milliers de TPS), latence ms.
# Créer table
aws dynamodb create-table \
--table-name Users \
--attribute-definitions AttributeName=userId,AttributeType=S AttributeName=email,AttributeType=S \
--key-schema AttributeName=userId,KeyType=HASH \
--global-secondary-indexes "IndexName=email-index,KeySchema=[{AttributeName=email,KeyType=HASH}],Projection={ProjectionType=ALL},ProvisionedThroughput={ReadCapacityUnits=5,WriteCapacityUnits=5}" \
--billing-mode PAY_PER_REQUEST
# Insert item
aws dynamodb put-item --table-name Users --item '{"userId":{"S":"u001"},"email":{"S":"diallo@example.com"},"name":{"S":"Diallo"}}'
# Query par clé
aws dynamodb get-item --table-name Users --key '{"userId":{"S":"u001"}}'
# Query par GSI
aws dynamodb query --table-name Users --index-name email-index \
--key-condition-expression "email = :e" \
--expression-attribute-values '{":e":{"S":"diallo@example.com"}}'
Concepts à connaître :
– Partition key (HASH) : détermine la partition physique, distribution
– Sort key (RANGE) : tri à l’intérieur d’une partition
– GSI / LSI : Global / Local Secondary Index pour autres attributs
– Provisioned vs On-demand : capacité fixe vs pay-per-request
– DAX : cache in-memory devant DynamoDB, latence µs
– DynamoDB Streams : flux des changements, consommable par Lambda
– TTL : expiration automatique des items
À l’examen : DynamoDB pour single-digit ms latency, scale massive, schéma flexible. Limites : pas de joins, pas de SQL.
Étape 5 — ElastiCache
Cache in-memory pour réduire la charge sur la base.
Redis : data structures (lists, sets, sorted sets), pub/sub, Lua scripting
Multi-AZ avec auto-failover, persistence optionnelle, replication
Cluster mode pour scaling horizontal (jusqu'à 500 nodes)
Memcached : simple key-value, multi-thread, pas de persistence
Plus simple mais moins de features
Plus rapide par node single, scale horizontal
Cas d’usage : cache de session web, cache de résultats DB, leaderboard temps réel (Redis sorted sets), pub/sub notifications.
Étape 6 — DocumentDB, Neptune, autres
DocumentDB : MongoDB-compatible. Pour apps existantes en Mongo.
Note : compatible jusqu'à MongoDB 5.0 API
Neptune : graph DB. Use cases : réseaux sociaux, recommandations, fraud detection
Property Graph (Gremlin) ou RDF (SPARQL)
Timestream : time-series. Use cases : IoT data, application metrics, DevOps monitoring
Auto-tiering memory store + magnetic store
Keyspaces : Cassandra. Pour migrations Cassandra existantes.
Serverless, pay-per-request, compatible CQL.
QLDB : ledger DB immutable. Use cases : audit trail, blockchain alternative
Cryptographically verifiable history
Au CEH/Security+, c’est noté en passant. Au SAA-C03 v1, on a 1-2 questions sur ces bases spécialisées.
Étape 7 — Sécurité des bases AWS
Encryption at rest : KMS (activé à création, ne peut être ajouté après pour RDS)
Encryption in transit : TLS pour toutes les connexions (force_ssl param RDS)
Network isolation : déployer dans subnets privés du VPC
Security Groups : restreindre accès (ex: SG-DB autorise SG-WEB sur port 5432 PostgreSQL)
IAM authentication : RDS et Aurora supportent auth via IAM (token 15min)
Secrets Manager : rotation auto des passwords DB
À l’examen : architecture sécurisée standard = DB en subnet privé + SG restrictif + KMS encryption + Secrets Manager pour creds.
Étape 8 — Backup et restore
RDS Automated Backups : daily snapshot + transaction logs, retention 1-35 jours, gratuit jusqu'à 100% taille DB
RDS Manual Snapshots : à la demande, retention indéfinie
Point-in-Time Recovery : restore à n'importe quelle seconde dans la fenêtre de retention
Cross-region snapshot : copie pour DR
AWS Backup : service centralisé pour planifier backups multi-services
À l’examen : RTO/RPO question fréquente. RDS Multi-AZ failover ~60-120 sec. PITR jusqu’à 5 minutes de fraîcheur. Aurora Backtrack jusqu’à 72h en arrière (sans restore complet).
Étape 9 — Choisir selon scénario type examen
Scénario Choix
------------------------------------------------- ------------------------
App e-commerce SQL avec saisonalité Aurora Serverless v2
Catalog produits avec recherche sur attributs DynamoDB + GSI
Session cache utilisateur ElastiCache Redis
Application existante MongoDB DocumentDB
IoT logs température 100K capteurs Timestream
Réseau social (amis-amis-amis) Neptune
Audit log immutable conformité QLDB
DB legacy Oracle migrée RDS Oracle
Site web wordpress simple RDS MySQL
Analytics SQL sur 10 To data lake Athena (sur S3)
Data warehouse PB scale Redshift
Étape 10 — Aurora vs RDS standard
RDS (standard) Aurora
Storage Pré-alloué EBS Auto-scale jusqu'à 128 To
Réplication 1 master + N replicas Master + 5 replicas same storage
Failover 60-120 sec < 30 sec
Performance Standard 5x MySQL, 3x PostgreSQL
Coût ~25 % moins cher Plus cher mais plus performant
Compatibilité 5 engines MySQL/PostgreSQL only
Backup Snapshots Continuous + Backtrack
À l’examen : Aurora pour performance et HA premium, RDS standard pour Oracle/SQL Server ou budget serré.
Erreurs fréquentes
| Erreur | Solution |
|---|---|
| RDS connection timeout | SG, route table, NACL — vérifier tous les couches |
| DynamoDB hot partition | Choisir partition key avec haute cardinalité |
| Coût Aurora surprise | Activer Performance Insights, monitorer ACU usage |
| Encryption pas activée | RDS encryption activable uniquement à création |
| Read replica lag | Vérifier types instance similaires entre primary et replica |
Adaptation au contexte ouest-africain
E-commerce africains (Wave, Jumia, Glovo) : Aurora Serverless v2 + DynamoDB pour catalog + ElastiCache Redis = stack moderne.
Banques digitales : RDS Multi-AZ + Read Replicas + KMS encryption + IAM auth + Secrets Manager. Conformité PCI DSS Compatible.
Startups : DynamoDB on-demand pour démarrer (pay-per-request), pas de capacité à provisionner.
FAQ
RDS ou Aurora pour PostgreSQL ?
Aurora pour perf et HA premium si budget. RDS standard si moins de 10 USD/mois compte.
DynamoDB ou MongoDB ?
DynamoDB intégré AWS, ms latency, scale automatique. MongoDB plus flexible queries mais à gérer (DocumentDB partial alternative).
ElastiCache Redis ou Memcached ?
Redis pour features (data structures, pub/sub, persistence). Memcached pour simple key-value à très haut débit.
Pour aller plus loin
- 🔝 Pilier AWS SAA-C03
- ➡️ Suite : Architecture haute disponibilité multi-AZ (à venir).
- Documentation : AWS RDS, DynamoDB, Aurora.
Mots-clés : AWS RDS Aurora DynamoDB, ElastiCache Redis, DocumentDB MongoDB, Multi-AZ Read Replica, Aurora Serverless v2, partition key DynamoDB, choix base données AWS.
Approfondissement et cas pratiques
Études de cas réelles AWS en Afrique de l’Ouest
Cas 1 — Fintech mobile money, Dakar, 2025. Une fintech sénégalaise traite 4 millions de transactions/mois (Orange Money agrégé). Architecture AWS : ALB multi-AZ (eu-west-3) + ECS Fargate auto-scaling 8-50 tasks + Aurora Serverless v2 PostgreSQL (1-32 ACU) + DynamoDB pour ledger transactionnel + ElastiCache Redis pour sessions + S3 + CloudFront pour static. Coût mensuel 4 200 USD, soit 0.001 USD par transaction. Disponibilité mesurée 99,98 % sur 12 derniers mois. RTO 4 minutes via Multi-AZ failover Aurora.
Cas 2 — E-commerce panafricain, Abidjan/Dakar/Lagos, 2024. Plateforme avec 80 000 visiteurs/jour. Architecture multi-region active-active : eu-west-3 (Paris, principal pour AO/UE) + af-south-1 (Cape Town, secondaire pour Afrique australe) + Route 53 latency-based routing. Réplication Aurora Global Database, S3 Cross-Region Replication, DynamoDB Global Tables. CloudFront edge locations couvrant Lagos, Casablanca, Johannesburg. Coût 8 500 USD/mois, ROI prouvé par augmentation 23 % du taux conversion grâce à latence < 200ms partout en Afrique.
Cas 3 — Migration banque traditionnelle vers AWS, 2024-2025. Banque ivoirienne avec 18 ans d’historique on-prem (datacenter Plateau Abidjan + DR Yamoussoukro). Migration AWS lift-and-shift 80 % des workloads en 14 mois. Stack : VPC hub-and-spoke avec Transit Gateway, AWS Directory Service pour AD legacy, RDS pour Oracle SAP, EC2 dedicated hosts pour licences Microsoft, AWS Backup avec immutability pour conformité, AWS Control Tower pour gouvernance. Économie 40 % vs datacenter on-prem dès l’année 1, montée à 55 % en année 3.
Cinq scénarios SAA-C03 type examen détaillés
Scénario 1 : architecture e-commerce HA pour Black Friday. App attendue à 100x charge normale en 4h. Réponse : ALB + ASG avec scheduled scaling (lance 50 instances 30 min avant), CloudFront pour cache statique, Aurora Read Replicas pour scale read, ElastiCache Redis cluster mode pour sessions, SQS pour découpler order processing.
Scénario 2 : DR cross-region. Compagnie demande RTO 30 min, RPO 5 min. Réponse : Pilot Light pattern, primary eu-west-3, secondary eu-west-1 avec Aurora Global Database (lag < 1s) + AMI répliquées + Route 53 health checks failover automatique.
Scénario 3 : sécurisation données sensibles. Application stocke PII clients. Réponse : S3 SSE-KMS avec CMK, encryption EBS, RDS encrypted, KMS key rotation auto annuelle, IAM least privilege, CloudTrail logs vers S3 Object Lock immutable, GuardDuty actif, Macie pour découverte automatique PII.
Scénario 4 : optimisation coût legacy. Compte AWS avec 250 instances EC2 mostly idle nuit/weekend. Réponse : Instance Scheduler pour stop/start automatique, Reserved Instances 1 an pour baseline 24/7, Spot Instances pour batch processing, S3 Intelligent-Tiering, Compute Savings Plans 3 ans pour stack permanente. Économie attendue 65-75 %.
Scénario 5 : conformité PCI DSS. Architecture e-commerce processant cartes. Réponse : segmentation VPC stricte (CDE = Cardholder Data Environment isolé), AWS WAF + Shield Advanced, CloudHSM pour clés PCI, AWS Config rules pour conformité continue, AWS Inspector pour scan vuln, GuardDuty + Security Hub, CloudTrail multi-region, AWS Audit Manager pour rapports.
Architecture cloud-native moderne 2026
[Route 53 latency-based] → [CloudFront global edges]
↓
[WAF + Shield Advanced]
↓
[API Gateway HTTP API ou Application Load Balancer]
↓
┌────────────────────────┼────────────────────────┐
↓ ↓ ↓
[Lambda functions] [ECS Fargate tasks] [EKS pods auto-scaled]
pour serverless pour containers pour orchestration
↓ ↓ ↓
└────────┬───────────────┴────────┬───────────────┘
↓ ↓
[Aurora Serverless v2] [DynamoDB on-demand]
pour relational pour NoSQL haute scale
↓ ↓
[ElastiCache Redis cluster]
↓
[S3 Intelligent-Tiering + Glacier lifecycle]
pour archives
↓
[Observability : CloudWatch + X-Ray + EventBridge + Step Functions]
[Sécurité : IAM + KMS + Secrets Manager + GuardDuty + Security Hub]
[Gouvernance : Organizations + SCP + Control Tower + Config]
Cette architecture cloud-native moderne sert de référence pour les startups et scale-ups ouest-africaines qui veulent éviter le legacy ops.
Coûts détaillés en FCFA pour cas réel PME
PME 30 employés, 1 application web SaaS, 10 000 utilisateurs actifs/mois :
Service Coût/mois
------- ---------
EC2 t3.medium x2 (ALB + workers) 90 USD
RDS db.t3.micro Multi-AZ 28 USD
S3 + CloudFront (50 Go transfer) 35 USD
ALB + Route 53 25 USD
Backup + monitoring 15 USD
NAT Gateway (alternative : NAT Instance) 32 USD (ou 8 USD)
---------
Total 225 USD/mois
≈ 135 000 FCFA/mois
≈ 1 620 000 FCFA/an
Vs hébergement OVH/Hetzner classique : ~80 USD/mois mais sans HA, sans CDN, sans backup automatisé. AWS premium justifié pour fiabilité + scaling.
Avec Reserved Instances 3 ans : 35 % économie → 145 USD/mois ≈ 87 000 FCFA/mois.
Plan de carrière post-AWS SAA détaillé
0-12 mois : décrocher poste cloud engineer junior dans ESN cloud (Smart Africa, ETRILABS, Kasi Insight, agences Microsoft/AWS partner) ou directement chez client final (banque, opérateur, fintech). Salaire 800 000-1 200 000 FCFA. Activités : provisioning Terraform, déploiement CI/CD, monitoring CloudWatch, support N1/N2.
12-30 mois : monter compétence DevOps + sécurité cloud. Certifications cibles : AWS DevOps Pro (DOP-C02) ou AWS Security Specialty (SCS-C02). Salaire 1 400 000-2 000 000 FCFA. Activités : automation IaC, optimisation coûts (FinOps), implémentation Zero Trust, gestion incidents production.
30-60 mois : positions architecte ou tech lead. Cert AWS Solutions Architect Professional (SAP-C02). Salaire 2 200 000-3 500 000 FCFA local, 4-7 millions FCFA en remote international.
60+ mois : Cloud Architect senior, Engineering Manager, Principal Engineer ou freelance/consulting. Plateformes remote : Toptal, Malt, A.Team, Andela. Tarifs day rate 400-800 USD pour profils seniors AWS+Kubernetes+AI/ML.
Outils et frameworks complémentaires
IaC : Terraform (cross-cloud, le plus utilisé en 2026), AWS CDK (Python/TypeScript), Pulumi (alternative moderne), CloudFormation (legacy mais utile pour AWS-specific).
CI/CD : GitHub Actions (le plus populaire), GitLab CI, AWS CodePipeline (intégré AWS), CircleCI, Jenkins (legacy).
Container orchestration : Amazon ECS (managed), Amazon EKS (Kubernetes), Fargate (serverless containers).
Observability : CloudWatch (de base), Datadog (premium SaaS), New Relic, Grafana Cloud avec Prometheus.
FinOps : AWS Cost Explorer + Budgets + Compute Optimizer, Vantage.sh (alternative), CloudHealth, Apptio Cloudability.
Security : Prowler (audit script open-source), Cloudsploit, AWS Security Hub, Wiz, Lacework.