RDS fa pagare ogni ora in cui il database è acceso, che qualcuno lo usi o no. Il database di sviluppo che si tocca solo in orario d'ufficio, quello di un progetto in pausa, quello montato per una prova: tutti si sommano in fattura ogni mese. RDS permette di fermarli e smettere di pagare la parte di calcolo, che è la maggiore. Ma ha una particolarità che sorprende tutti: dopo sette giorni AWS lo riavvia da solo. Questa guida spiega come fermarlo, cosa risparmi e come gestire quel limite.
Prima di iniziare: cosa significa ogni cosa
- RDS
- Il servizio di database gestiti di Amazon.
- Istanza
- Ogni database di RDS, con la sua dimensione (classe) e il suo storage.
- Fermare (stop)
- Spegnere il database conservando dati e configurazione. Si può riaccendere con le stesse impostazioni.
- Calcolo e storage
- Fermando smetti di pagare il calcolo (le ore dell'istanza). Lo storage (i GB del disco e le copie) si continua a pagare.
- Snapshot
- Una copia del database. Ripristinandola si crea un database nuovo. È la via per le pause lunghe.
- Multi-AZ e repliche di lettura
- Configurazioni avanzate. Un database con repliche di lettura non si può fermare.
Passo dopo passo
Verifica che si possa fermare
Console di RDS, Database, apri il tuo. Se ha repliche di lettura o è esso stesso una replica, non si può fermare: bisognerebbe prima cancellare le repliche. I database Multi-AZ invece si possono fermare. E se il database è ancora usato da qualcosa (un sito, un programma notturno), avvisa o mettilo in pausa: quando lo fermi, tutto ciò che prova a connettersi fallirà.
Fai uno snapshot manuale
Azioni, Take snapshot, con un nome con la data. Fermarlo è sicuro, ma se la pausa sarà lunga, questa copia sarà il tuo piano B. Quando lo fermi, RDS fa comunque uno snapshot proprio per sicurezza.
Ferma il database
Seleziona l'istanza, Azioni, Stop temporarily. Conferma. Lo stato passa da "stopping" a "stopped" in pochi minuti. Da quel momento non si paga il calcolo dell'istanza. Se aveva Multi-AZ, nemmeno quello della replica.
Capisci cosa continui a pagare
Lo storage assegnato (i GB del disco, pieni o no), gli snapshot manuali e i backup automatici che ci sono e, se usava Secrets Manager o altri extra, quegli extra. Per un database piccolo, sono pochi euro al mese contro le decine dell'istanza accesa. Lo vedi il mese dopo in Cost Explorer filtrando per RDS.
Metti in conto il riavvio dopo sette giorni
È la regola di RDS: un database fermo si riaccende da solo passati sette giorni, per ricevere gli aggiornamenti di manutenzione. Non ti avvisa via email a meno che tu non abbia configurato una notifica di eventi di RDS. Se la pausa è di qualche settimana, hai due opzioni: fermarlo di nuovo ogni volta che riparte (mettiti un promemoria settimanale, o programma lo stop con EventBridge Scheduler e l'azione
StopDBInstance), oppure l'opzione del passo successivo.Per pause lunghe: snapshot e cancellare
Se il progetto resterà fermo per mesi, fai uno snapshot finale (quando cancelli, RDS lo propone) e cancella l'istanza. Pagherai solo lo snapshot, che è storage economico. Quando il progetto riparte, ripristini lo snapshot (crea un database nuovo con un altro endpoint, come spiega la guida sui backup di RDS) e aggiorni la configurazione dell'applicazione. È un quarto d'ora di lavoro in cambio di mesi senza pagare l'istanza.
Cosa può andare storto
Il database si è acceso da solo
Sono passati sette giorni. Fermalo di nuovo o passa al piano snapshot e cancellare. Non è un guasto, è il comportamento documentato di RDS.
Il sito dà errore da quando l'ho fermato
Qualcosa lo usava ancora. Avvialo (Azioni, Start; ci vogliono alcuni minuti) e scopri cosa: a volte è un'attività programmata di cui nessuno si ricordava.
L'ho fermato e la fattura scende appena
Guarda quanto storage ha assegnato: un database con 500 GB di disco, fermo, continua a pagare quei 500 GB. E controlla se ci sono snapshot accumulati. Se la maggior parte del costo era storage, fermare non è lo strumento giusto; ridurre il disco (migrando a un'istanza nuova più piccola) o cancellare copie vecchie, sì.
Voglio che si fermi da solo ogni notte
Si può con EventBridge Scheduler e le azioni StopDBInstance e StartDBInstance, come per le macchine EC2 (guida in questa sezione). Attenzione al riavvio: se il database resta fermo più di sette giorni di fila (vacanze), AWS lo accenderà e la tua programmazione lo fermerà di nuovo quella notte; funziona, ma è bene saperlo.
In Simplio
In Simplio fermi e avvii un database RDS con un pulsante dalla stessa lista delle tue macchine, gli dai un orario (per esempio, acceso solo in orario d'ufficio) e Simplio si occupa del dettaglio dei sette giorni: se AWS lo accende da solo, lo ferma di nuovo e te lo dice. Nella schermata Costi vedi quanto costa ogni database acceso e quanto risparmi tenendolo fermo.
La stessa cosa, in AWS e in Simplio
| Nella console di AWS | In Simplio | |
|---|---|---|
| Fermare e avviare | Console di RDS, Azioni, confermare; ricordarsi del riavvio settimanale | Pulsante ferma/avvia sul database, e Simplio lo ferma di nuovo se AWS lo accende dopo sette giorni |
| Orario d'ufficio | Due programmazioni in EventBridge Scheduler con i permessi | Orario nella scheda del database, nel tuo fuso orario |
| Sapere quanto risparmi | Cost Explorer il mese dopo | Costo stimato del database acceso e fermo, nella schermata Costi |