RDS facture chaque heure pendant laquelle la base de données est allumée, que quelqu'un l'utilise ou non. La base de développement que l'on ne touche qu'aux heures de bureau, celle d'un projet en pause, celle montée pour un test : toutes s'ajoutent à la facture chaque mois. RDS permet de les arrêter et de cesser de payer la partie calcul, qui est la plus importante. Mais il a une particularité qui surprend tout le monde : au bout de sept jours, AWS la redémarre toute seule. Ce guide explique comment l'arrêter, ce que vous économisez et comment gérer cette limite.
Avant de commencer : ce que signifie chaque chose
- RDS
- Le service de bases de données managées d'Amazon.
- Instance
- Chaque base de données RDS, avec sa taille (classe) et son stockage.
- Arrêter (stop)
- Éteindre la base de données en conservant les données et la configuration. On peut la rallumer avec les mêmes paramètres.
- Calcul et stockage
- En arrêtant, vous cessez de payer le calcul (les heures de l'instance). Le stockage (les Go du disque et les sauvegardes) continue d'être facturé.
- Instantané
- Une copie de la base de données. En la restaurant, on crée une nouvelle base de données. C'est la voie pour les longues pauses.
- Multi-AZ et réplicas en lecture
- Configurations avancées. Une base avec des réplicas en lecture ne peut pas être arrêtée.
Pas à pas
Vérifiez qu'elle peut être arrêtée
Console RDS, Bases de données, ouvrez la vôtre. Si elle a des réplicas en lecture ou si elle est elle-même un réplica, elle ne peut pas être arrêtée : il faudrait d'abord supprimer les réplicas. Les bases Multi-AZ, elles, peuvent être arrêtées. Et si quelque chose utilise encore la base de données (un site, un programme nocturne), prévenez ou mettez-le en pause : à l'arrêt, tout ce qui tentera de se connecter échouera.
Faites un instantané manuel
Actions, Prendre un instantané, avec un nom contenant la date. L'arrêt est sans risque, mais si la pause doit être longue, cette copie sera votre plan B. À l'arrêt, RDS fait en plus un instantané de son côté, par précaution.
Arrêtez la base de données
Sélectionnez l'instance, Actions, Arrêter temporairement. Confirmez. L'état passe par « stopping » puis « stopped » en quelques minutes. À partir de ce moment, le calcul de l'instance n'est plus facturé. Si elle avait Multi-AZ, celui de la réplique non plus.
Comprenez ce que vous continuez de payer
Le stockage alloué (les Go du disque, qu'ils soient pleins ou non), les instantanés manuels et les sauvegardes automatiques existantes, et, si elle utilisait Secrets Manager ou d'autres extras, ces extras. Pour une petite base, cela représente quelques euros par mois contre des dizaines pour l'instance allumée. Vous le verrez le mois suivant dans Cost Explorer en filtrant par RDS.
Comptez avec le redémarrage au bout de sept jours
C'est la règle de RDS : une base arrêtée se rallume toute seule après sept jours, pour recevoir les mises à jour de maintenance. Vous n'êtes pas prévenu par e-mail, sauf si vous avez configuré une notification d'événements RDS. Si la pause dure quelques semaines, vous avez deux options : la réarrêter à chaque redémarrage (mettez-vous un rappel hebdomadaire, ou programmez l'arrêt avec EventBridge Scheduler et l'action
StopDBInstance), ou l'option de l'étape suivante.Pour les longues pauses : instantané et suppression
Si le projet doit rester des mois à l'arrêt, faites un instantané final (à la suppression, RDS le propose) et supprimez l'instance. Vous ne paierez que l'instantané, qui est du stockage bon marché. Quand le projet reprendra, restaurez l'instantané (cela crée une nouvelle base avec un autre point de terminaison, comme l'explique le guide sur les sauvegardes RDS) et mettez à jour la configuration de l'application. C'est un quart d'heure de travail en échange de mois sans payer l'instance.
Ce qui peut mal tourner
La base de données s'est rallumée toute seule
Sept jours sont passés. Réarrêtez-la ou passez au plan instantané et suppression. Ce n'est pas une panne, c'est le comportement documenté de RDS.
Le site renvoie une erreur depuis que je l'ai arrêtée
Quelque chose l'utilisait encore. Démarrez-la (Actions, Démarrer ; cela prend quelques minutes) et cherchez quoi : parfois c'est une tâche programmée dont personne ne se souvenait.
J'ai arrêté et la facture baisse à peine
Regardez combien de stockage est alloué : une base avec 500 Go de disque, arrêtée, continue de payer ces 500 Go. Et vérifiez s'il y a des instantanés accumulés. Si l'essentiel du coût était le stockage, l'arrêt n'est pas le bon outil ; réduire le disque (en migrant vers une nouvelle instance plus petite) ou supprimer les vieilles sauvegardes, oui.
Je veux qu'elle s'arrête toute seule chaque nuit
C'est possible avec EventBridge Scheduler et les actions StopDBInstance et StartDBInstance, comme pour les machines EC2 (guide dans cette section). Attention au redémarrage : si la base reste arrêtée plus de sept jours d'affilée (vacances), AWS la rallumera et votre programmation la réarrêtera le soir même ; cela fonctionne, mais mieux vaut le savoir.
Dans Simplio
Dans Simplio, vous arrêtez et démarrez une base de données RDS d'un bouton depuis la même liste que vos machines, vous lui donnez un horaire (par exemple, allumée seulement aux heures de bureau) et Simplio s'occupe du détail des sept jours : si AWS la rallume toute seule, il la réarrête et vous le signale. Dans l'écran Coûts, vous voyez ce que coûte chaque base de données allumée et ce que vous économisez quand elle est arrêtée.
La même chose, dans AWS et dans Simplio
| Dans la console AWS | Dans Simplio | |
|---|---|---|
| Arrêter et démarrer | Console RDS, Actions, confirmer ; se souvenir du redémarrage hebdomadaire | Bouton arrêter/démarrer sur la base de données, et Simplio la réarrête si AWS la rallume au bout de sept jours |
| Heures de bureau | Deux programmations dans EventBridge Scheduler avec permissions | Horaire sur la fiche de la base de données, dans votre fuseau horaire |
| Savoir ce que vous économisez | Cost Explorer le mois suivant | Coût estimé de la base de données allumée et arrêtée, dans l'écran Coûts |