6.65 Les services RDS, AURORA ET ELASTICACHE
AWS RDS (Relational Database Service) est un service managé de bases de données relationnelles pour les applications utilisant du SQL transactionnel. Il permet de créer une base dans le cloud entièrement maintenue et administrée par AWS. Les moteurs supportés sont PostgreSQL, MySQL, MariaDB (basé sur MySQL), Oracle, Microsoft SQL Server et Aurora — la base propriétaire d'Amazon, qui aura sa propre section de cours.
Pourquoi utiliser RDS plutôt que d'installer un moteur SQL sur une EC2 ? Parce que RDS est un service entièrement géré par AWS : approvisionnement automatique, maintien en conditions opérationnelles de l'OS, mises à jour et patches, sauvegardes continues, restauration à un instant T via Point-in-Time Recovery (PITR), dashboard de supervision, support des read replicas, déploiements multi-AZ pour la haute dispo et le DRP, et mises à jour de sécurité automatisées.
Scaling et stockage
- Scaling vertical : augmenter la taille de l'instance ou de l'EBS sous-jacent.
- Scaling horizontal en lecture : ajouter des read replicas.
- Stockage sous-jacent sur EBS gp2 ou io1.
- Pas d'accès SSH à l'instance (c'est un service managé).
- Visibilité limitée à la base de données, pas à l'OS.
Côté sauvegardes, RDS les active par défaut. Un dump complet est réalisé chaque jour pendant la maintenance window, et les logs de transactions sont sauvegardés toutes les 5 minutes. Cela permet une restauration point in time jusqu'à 5 minutes près, sur une fenêtre de rétention par défaut de 7 jours, extensible jusqu'à 35 jours.
Différents des backups automatiques, les snapshots manuels sont déclenchés à la demande par l'utilisateur. Leur intérêt principal : ils peuvent être conservés indéfiniment, bien au-delà des 35 jours autorisés pour les sauvegardes automatiques. C'est utile pour garder un point de restauration à 6 mois, 1 an ou plus, par exemple avant une migration majeure. La section suivante détaillera les répliques en lecture seule et le multi-AZ, qui sont les piliers de la disponibilité dans RDS, ainsi que les services Aurora et ElastiCache (cache mémoire pour Redis/Memcached).
En résumé
RDS (Relational Database Service) est un service de base de données administré par AWS, disponible pour MySQL, MariaDB, Oracle, SQL Server et Aurora. Contrairement à l'installation manuelle sur EC2, RDS offre un service géré avec mises à jour automatiques, sauvegardes continues, points de restauration (RPO: 5 minutes), répliques en lecture seule pour améliorer les performances, et haute disponibilité multi-zones. Les bases de données sont sauvegardées complètement chaque jour et les transactions toutes les 5 minutes, avec rétention de 7 à 35 jours, tandis que les snapshots manuels peuvent être conservés indéfiniment.
Points clés
- RDS = service géré par AWS : élimine la charge administrative (OS, patchs, maintenance) et garantit disponibilité opérationnelle
- Sauvegardes automatiques : sauvegarde complète quotidienne + logs transactionnels chaque 5 minutes, restauration possible jusqu'à 5 minutes en arrière, rétention par défaut 7 jours (extensible jusqu'à 35 jours)
- Snapshots manuels : action déclenchée par l'utilisateur, conservables indéfiniment, idéaux pour restaurations long terme (6 mois, 1 an+)
- Haute disponibilité : répliques en lecture seule pour augmenter les performances de lecture, instances dédiées sur zones de disponibilité multiples pour plan de reprise d'activité (PRA)
- Mise à l'échelle : verticale (augmenter capacité CPU/RAM) ou horizontale (ajouter répliques en lecture seule)
- Stockage : EBS (gp2, io1), aucun accès SSH possible (service totalement géré par AWS)
Questions fréquentes
Quels types de bases de données sont supportés par RDS ?
RDS supporte MySQL, MariaDB, Oracle, Microsoft SQL Server, et Aurora (le service de base de données propriétaire d'Amazon).
Quelle est la différence entre les sauvegardes automatiques et les snapshots ?
Les sauvegardes automatiques sont déclenchées par AWS (complète quotidienne + logs chaque 5 minutes) avec rétention maximale 35 jours. Les snapshots sont manuels et conservables indéfiniment, idéals pour archivage long terme.
Comment augmenter la capacité d'une base RDS ?
Deux options : mise à l'échelle verticale en augmentant les capacités du serveur (CPU, RAM), ou horizontale en ajoutant des répliques en lecture seule pour distribuer la charge de lecture.