Quasi tutte le piccole aziende con qualcosa in AWS sono in una di queste due situazioni: non fanno backup, oppure ne fanno qualcuno senza sapere bene di cosa, ogni quanto né fino a quando viene conservato. Tutte e due finiscono allo stesso modo il giorno in cui qualcuno cancella quello che non doveva o un aggiornamento rompe il negozio. La differenza tra perdere un pomeriggio e perdere l'attività è avere un piano, e non deve per forza essere complicato.
Eccone uno che sta in una pagina. È pensato per macchine Lightsail con un sito, un negozio o un gestionale, con o senza database separato. Alla fine c'è un esempio completo per un sito con negozio che puoi copiare così com'è e adattare.
Prima di iniziare: cosa significa ogni cosa
- Backup
- Una seconda versione dei tuoi dati conservata altrove, da cui puoi recuperare ciò che hai perso. Se esiste una sola versione, non è un backup: è l'originale.
- Istantanea (snapshot)
- La fotografia completa del disco di una macchina in un dato momento. Serve per creare una macchina identica. È il modo naturale di copiare una macchina intera in Lightsail e in EC2.
- Copia del database
- Nei database gestiti (Lightsail o RDS), AWS conserva copie che permettono di tornare a un momento preciso. È diversa dall'istantanea di una macchina.
- S3
- L'archivio di file di Amazon. Si paga per lo spazio occupato, non per macchine. È il posto logico dove conservare copie di file sciolti: documenti, foto, esportazioni.
- Conservazione
- Per quanto tempo si conserva ogni copia prima di cancellarla. Più conservazione significa più sicurezza e più spesa.
- Regola 3-2-1
- Tre copie di ogni dato, su due supporti diversi, con una fuori sede. È la regola classica e vale ancora nel cloud.
- Ripristinare
- Rimettere in funzione quello che si è perso a partire da una copia. È l'unica prova reale che la copia serviva.
- RPO
- Quanti dati accetti di perdere, misurato in tempo. Se copi ogni notte, nel peggiore dei casi perdi un giorno di lavoro. Più è piccolo, più frequente deve essere la copia.
Passo dopo passo
Capisci la regola 3-2-1 e adattala al cloud
La regola dice: tre copie di ogni dato, su due supporti diversi, e una fuori sede. È nata nell'epoca dei nastri, ma tradotta in AWS diventa così:
- Tre copie: l'originale in uso, una copia recente nella stessa regione e un'altra copia ancora.
- Due supporti: nel cloud non ci sono nastri, ma ci sono due cose diverse: il disco della macchina (dove vive l'originale) e l'archivio delle istantanee o S3 (dove vivono le copie). Un'istantanea non sta sullo stesso disco della macchina, quindi questa parte ce l'hai quasi gratis.
- Una fuori sede: questo è ciò che quasi nessuno fa. Tutte le istantanee di Lightsail vengono conservate nella stessa regione della macchina. Se vuoi una copia fuori, bisogna copiarla in un'altra regione (Irlanda se sei a Parigi, per esempio). È un passo in più, ma è quello che ti salva se l'intera regione ha un problema.
Non serve rispettarla al millimetro dal primo giorno, ma conviene sapere a che punto sei.
Decidi cosa copiare di ogni cosa
Ogni tipo di dato ha la sua forma naturale di copia. Mescolarle è l'errore più comune (per esempio, confidare che l'istantanea della macchina protegga un database che sta in un altro servizio).
- Macchina intera (sistema, programmi, configurazione, sito): istantanea della macchina. È quello che ti permette di ricrearla com'era in pochi minuti.
- Database (ordini, clienti, contenuti): se il database sta dentro la macchina, l'istantanea lo include, anche se conviene in più un dump (export) giornaliero, perché un'istantanea presa mentre si scrive può lasciare il database in uno stato strano. Se è un database gestito (Lightsail Databases o RDS), ha le sue copie automatiche e vanno attivate a parte.
- File sciolti (documenti, foto caricate, fatture in PDF, esportazioni): un bucket S3 con versioning attivato. Se questi file vivono già nella macchina, l'istantanea copre anche loro, ma S3 è più economico e ti permette di recuperare un singolo file senza avviare una macchina intera.
Fai una lista corta: per ogni cosa che ti farebbe male perdere, annota dov'è e come si copia. Se qualcosa non rientra in nessuna, hai un buco.
Fissa frequenze e conservazione ragionevoli
Per una PMI, questo schema copre quasi tutti i casi senza far esplodere la spesa:
- Giornaliera, conservando gli ultimi 7 giorni. Ti protegge dall'errore di ieri o dell'altro ieri.
- Settimanale, conservando le ultime 4 settimane. Per quando il problema si scopre tardi (un dato sbagliato da due settimane).
- Mensile, conservando gli ultimi 12 mesi. Per verifiche, reclami o semplicemente per poter guardare com'era qualcosa sei mesi fa.
Se vendi online, forse un giorno di ordini persi è troppo. Allora il database ha bisogno di copie più frequenti (ogni ora, o ripristino a un punto nel tempo, che è quello che offrono i database gestiti). La macchina in sé può restare giornaliera: cambia poco.
Le istantanee di Lightsail si pagano per GB al mese, ma solo per quello che cambia tra l'una e l'altra, quindi 7 copie giornaliere costano molto meno di sette dischi. Se il budget stringe, taglia prima le mensili, mai le giornaliere.
Attiva le copie automatiche di Lightsail
Lightsail può fare un'istantanea giornaliera di ogni macchina senza che tu faccia nulla. Nella console di Lightsail, entra nella macchina, scheda Snapshots, e nel blocco Automatic snapshots attiva l'interruttore. Scegli l'ora (meglio di notte, quando si scrive meno). Lightsail conserva le ultime 7 e cancella la più vecchia ogni giorno; quel numero non si può cambiare.
Questo ti dà la parte giornaliera del piano e nient'altro. Quello che Lightsail non fa da solo:
- Le copie settimanali e mensili: se ne vuoi una di tre settimane fa, dovrai averla fatta a mano (menu Create snapshot nella stessa scheda) o averla programmata in altro modo. Le istantanee manuali non si cancellano da sole, quindi annota quando cancellarle.
- La copia in un'altra regione: bisogna copiarla a mano dal menu dell'istantanea, ogni volta.
- Avvisarti se un giorno la copia automatica non viene fatta.
Se hai un database Lightsail, vai su di esso, scheda Snapshots, e verifica che le copie automatiche siano attivate: conserva 7 giorni e permette di ripristinare a qualsiasi minuto di quella settimana. È indipendente dall'istantanea della macchina.
Se hai RDS, controlla la conservazione
Con un database in Amazon RDS, le copie automatiche sono attivate con 7 giorni di conservazione per impostazione predefinita, ma vale la pena controllarlo. Nella console di RDS, entra nel database, pulsante Modify, sezione Backup: lì c'è il periodo di conservazione (da 0 a 35 giorni) e la finestra oraria. Se è a 0, non ci sono copie. Portalo almeno a 7; a 14 o più se il database è il cuore dell'attività. La modifica non richiede riavvio.
Per la parte mensile, crea un'istantanea manuale il giorno 1 (Actions, Take snapshot): quelle manuali non scadono; cancellale tu dopo un anno.
Metti per iscritto come si ripristina e provalo
Una copia che non è mai stata ripristinata è una supposizione. Prima di dare il piano per fatto, esegui almeno una volta ogni ripristino e annota come si fa:
- Macchina: dalla scheda Snapshots, menu di un'istantanea, Create new instance. Scegli lo stesso piano, aspetta che si avvii, entra dal browser o via SSH e verifica che il sito si carichi. Poi cancellala.
- Database gestito: Restore to point in time crea un database nuovo con un altro nome; collegati, controlla che ci siano gli ordini di ieri, cancellalo.
- File in S3: apri il bucket, attiva Show versions, recupera una versione precedente di un file qualsiasi.
Annota quanto ha richiesto ciascuno e chi sa farlo. Ripeti la prova ogni tre o sei mesi.
Piano tipo per un sito con negozio online
Supponi un negozio online su una macchina Lightsail da 4 GB (WordPress con WooCommerce, o PrestaShop) con il database in un database Lightsail a parte, e le foto dei prodotti sulla macchina stessa. Il piano minimo sarebbe così:
- Macchina del negozio: istantanea automatica giornaliera di Lightsail (7 copie). Istantanea manuale il lunedì a prima ora, cancellando quella di 5 settimane prima (4 copie). Istantanea manuale il giorno 1 di ogni mese, cancellando quella di 13 mesi prima (12 copie). Una volta a settimana, copiare l'istantanea del lunedì in Irlanda e cancellare lì quella del mese precedente.
- Database Lightsail: copie automatiche attivate (7 giorni con ripristino a qualsiasi minuto). Istantanea manuale mensile il giorno 1, conservandone 12.
- Foto e documenti: stanno dentro la macchina, quindi l'istantanea li copre. Se superano pochi GB, spostarli su S3 con versioning rende più economiche la macchina e le istantanee.
- Prova di ripristino: il primo lunedì di ogni trimestre, creare una macchina dall'ultima istantanea in Irlanda, verificare che si carichi, cancellarla.
Costo indicativo: con un disco da 80 GB, tutto il piano resta in pochi euro al mese; la copia in Irlanda, poco di più. Quello che richiede disciplina sono le copie manuali, la copia in un'altra regione e la cancellazione delle vecchie: mettilo nel calendario di una persona precisa, o automatizzalo (più sotto).
Cosa può andare storto
Le istantanee automatiche erano attivate, ma la macchina è nuova
Quando ricrei una macchina da un'istantanea, o cambi piano, le copie automatiche non si ereditano: la macchina nuova nasce senza. Ogni volta che crei una macchina, passa dalla scheda Snapshots e riattivale. È la dimenticanza più frequente.
L'istantanea ripristinata si avvia, ma il database è incompleto
L'istantanea è stata presa mentre il database scriveva (un ordine a metà, per esempio). Se il database sta dentro la macchina, aggiungi un dump giornaliero con mysqldump o simile subito prima dell'ora dell'istantanea; così, anche se l'istantanea coglie il database a metà, il dump è pulito. Se è un database gestito, usa il suo ripristino, non quello della macchina.
La spesa per le istantanee sale ogni mese
Quasi sempre sono istantanee manuali che nessuno cancella. Entra in Snapshots nella console di Lightsail, ordina per data e cancella quelle fuori dal piano. E controlla la regione di riserva: le copie che stanno lì non compaiono nell'elenco della regione principale.
Solo una persona sa ripristinare
È un rischio grande quanto non avere backup. Il documento del passo 6 deve stare dove un'altra persona lo trovi, con gli accessi in un gestore di password condiviso.
In Simplio
Simplio automatizza la parte del piano che dipende dal ricordarsene. Per ogni macchina programmi istantanee giornaliere, settimanali o mensili con quante conservarne di ogni tipo, e Simplio le fa e cancella le vecchie. Nella stessa programmazione spunti la copia in un'altra regione e quante conservarne lì. Per i database Lightsail e RDS, programmi copie con la stessa logica e le ripristini dalla stessa schermata. Se una copia non si completa, ti arriva un'email.
Quello che Simplio non fa è decidere il piano al posto tuo: quella resta la tua lista sulla pagina. Ma una volta deciso, è fatto.
La stessa cosa, in AWS e in Simplio
| Nella console di AWS | In Simplio | |
|---|---|---|
| Copia giornaliera della macchina | Istantanee automatiche di Lightsail: 7 copie, ora a scelta, nessun avviso se fallisce | Programmazione giornaliera con la conservazione che vuoi e avviso via email se fallisce |
| Settimanale e mensile con conservazione | A mano, con promemoria, e cancellare le vecchie da soli | Programmazione settimanale e mensile con quante conservarne; si cancellano da sole |
| Copia fuori dalla regione | Copiare ogni istantanea a mano dal suo menu | Casella nella programmazione: si copia e si pulisce da sola |
| Prova di ripristino | Creare un'istanza dall'istantanea nell'altra regione, aprire le porte, cancellare | Ripristinare in un'altra regione in un passo; cancellare la macchina di prova dalla sua scheda |