Quasi tutti i siti conservano i loro dati in un database (MySQL quasi sempre, PostgreSQL a volte) che vive dentro la stessa macchina. Funziona, ma quando la macchina cade, cade tutto; quando si riempie il disco, si riempie per entrambi; e le copie del database dipendono dal fatto che qualcuno le faccia. Un database gestito è un database che Amazon installa, aggiorna, copia ogni giorno e sorveglia per te, su una macchina a parte che non vedi. Lightsail lo offre a prezzo fisso al mese, come le sue macchine.
Questa guida ne crea uno, ci collega il sito e spiega come spostare i dati. Se il tuo sito è piccolo e una sola macchina ti basta e avanza, non è obbligatorio; se il sito conta, è una delle decisioni migliori che puoi prendere.
Prima di iniziare: cosa significa ogni cosa
- Database
- Dove il sito conserva i suoi dati: utenti, ordini, testi. Il sito li legge e li scrive in continuazione.
- MySQL e PostgreSQL
- I due sistemi di database più usati nei siti web. WordPress e la maggior parte dei negozi online usano MySQL (o suo cugino MariaDB).
- Database gestito
- Un database che il fornitore installa e mantiene per te, su una macchina che tu non amministri. Tu lo usi soltanto.
- Endpoint
- L'indirizzo a cui il tuo sito si connette per parlare con il database. Sostituisce il "localhost" di quando stava sulla stessa macchina.
- Utente master
- L'utente principale del database, con tutti i permessi. La sua password la scegli tu o la genera Lightsail.
- Modalità pubblica
- Se il database accetta connessioni da internet. Disattivata di default e così deve restare: solo le tue macchine Lightsail della stessa regione devono raggiungerlo.
- Dump
- Un file con tutto il contenuto di un database, per spostarlo da un posto a un altro.
Passo dopo passo
Crea il database
Nella console di Lightsail, scheda Database, Crea database. Scegli la stessa regione della tua macchina, il motore (MySQL per WordPress e la maggior parte dei casi; PostgreSQL se la tua applicazione lo richiede) e la versione consigliata. Lascia che Lightsail generi la password master o mettine una tua lunga. Scegli il piano più piccolo per iniziare, a meno che tu non sappia di aver bisogno di più. Nome:
bd-web. Crea. Ci vogliono alcuni minuti perché sia disponibile.Annota i dati di connessione
Apri il database, scheda Connetti. Vedrai l'endpoint (un indirizzo lungo che finisce con
rds.amazonaws.com), la porta (3306 in MySQL, 5432 in PostgreSQL), l'utente master e un pulsante per vedere la password. Lascia la modalità pubblica disattivata: la tua macchina Lightsail può raggiungerlo anche senza, perché sono nella stessa regione.Verifica la connessione dalla macchina
Apri il terminale del browser della tua macchina e prova (MySQL):
mysql -h TU-PUNTO-DE-ENLACE -u USUARIO -pScrivi la password quando la chiede. Se entri e vedi il simbolo
mysql>, la connessione funziona. Scriviexit. Se il comandomysqlnon esiste, installa il client (sudo apt install mysql-clientsu Ubuntu o Debian).Copia i dati dal database attuale a quello nuovo
Se il sito ha già dati nel database locale, metti il sito in manutenzione per un momento e scaricali:
mysqldump -u root -p nombre_bd > copia.sql mysql -h TU-PUNTO-DE-ENLACE -u USUARIO -p -e "CREATE DATABASE nombre_bd" mysql -h TU-PUNTO-DE-ENLACE -u USUARIO -p nombre_bd < copia.sqlSu una macchina Bitnami (WordPress di Lightsail) l'utente locale è
roote la sua password sta nel filebitnami_application_passwordo nella configurazione dell'applicazione. Il dump richiede un tempo proporzionale alla dimensione; con un sito normale, secondi.Cambia la configurazione del sito
Modifica il file di configurazione della tua applicazione e cambia il server del database da
localhostall'endpoint, e l'utente e la password con quelli del database gestito. In WordPress èwp-config.php: le righeDB_HOST,DB_USEReDB_PASSWORD. Salva e apri il sito: deve funzionare come prima. Togli la modalità manutenzione.Ferma il database locale e controlla le copie
Quando funziona da qualche giorno con quello nuovo, ferma il servizio di database della macchina (
sudo systemctl disable --now mysqlo il comando di Bitnami) per liberare memoria. Nel database gestito, scheda Snapshot: Lightsail fa copie automatiche ogni giorno; puoi inoltre crearne una manuale prima di cambiamenti importanti. E guarda la scheda Parametri ogni tanto: se la CPU o le connessioni vanno al limite, è il momento di aumentare il piano, cosa che nei database si fa davvero con un pulsante.
Cosa può andare storto
Il sito dice "Errore nello stabilire una connessione al database"
Controlla lettera per lettera endpoint, utente e password nella configurazione. Poi, che la macchina e il database siano nella stessa regione. E che il database esista dentro il server (il CREATE DATABASE del passo 4).
Voglio connettermi dal mio computer con un programma grafico
Devi attivare la modalità pubblica, che apre il database a internet (protetto solo dalla password). Fallo solo per il tempo in cui ti serve e poi disattivala di nuovo, oppure connettiti attraverso la macchina con un tunnel SSH.
Il sito è più lento di prima
Ora il database sta su un'altra macchina e ogni query viaggia in rete, anche se dentro lo stesso centro dati. Normalmente non si nota; se si nota, il sito fa troppe query: un plugin di cache di solito risolve.
Costa più che tenere il database nella macchina
Sì: è un servizio in più. Quello che compri è che non cada insieme al sito, che abbia copie giornaliere senza che nessuno se ne ricordi e che tu possa crescere senza reinstallare nulla. Per un sito che porta soldi, di solito conviene.
In Simplio
In Simplio i database di Lightsail e di RDS compaiono accanto alle tue macchine, con il loro stato, l'endpoint pronto da copiare, le copie con la data e le metriche. Fai un'istantanea con un pulsante, e chi ha il permesso può vederla senza poterla toccare. Se una copia programmata non viene fatta o il database va al limite, ti avvisa via email.
La stessa cosa, in AWS e in Simplio
| Nella console di AWS | In Simplio | |
|---|---|---|
| Vedere lo stato e le copie del database | Entrare in Lightsail, scheda per scheda | Il database accanto alle sue macchine, con stato, copie e metriche in una scheda |
| Fare una copia prima di un cambiamento | Scheda Snapshot, creare, dare un nome | Pulsante dell'istantanea: 1 clic |
| Accorgersi se va al limite | Guardare la scheda Parametri | Avviso via email se la CPU o le connessioni schizzano, o se manca una copia |