Casi todas las webs guardan sus datos en una base de datos (MySQL casi siempre, PostgreSQL a veces) que vive dentro de la misma máquina. Funciona, pero cuando la máquina se cae, se cae todo; cuando se llena el disco, se llena para los dos; y las copias de la base de datos dependen de que alguien las haga. Una base de datos gestionada es una base de datos que Amazon instala, actualiza, copia cada día y vigila por ti, en una máquina aparte que no ves. Lightsail la ofrece con precio fijo al mes, igual que sus máquinas.
Esta guía crea una, conecta la web a ella y explica cómo mover los datos. Si tu web es pequeña y una sola máquina te sobra, no es obligatorio; si la web importa, es de las mejores decisiones que puedes tomar.
Antes de empezar: qué significa cada cosa
- Base de datos
- Donde la web guarda sus datos: usuarios, pedidos, textos. La web los lee y escribe constantemente.
- MySQL y PostgreSQL
- Los dos sistemas de base de datos más usados en webs. WordPress y la mayoría de tiendas usan MySQL (o su primo MariaDB).
- Base de datos gestionada
- Una base de datos que el proveedor instala y mantiene por ti, en una máquina que tú no administras. Tú solo la usas.
- Punto de enlace (endpoint)
- La dirección a la que tu web se conecta para hablar con la base de datos. Sustituye al "localhost" de cuando estaba en la misma máquina.
- Usuario maestro
- El usuario principal de la base de datos, con todos los permisos. Su contraseña la eliges tú o la genera Lightsail.
- Modo público
- Si la base de datos acepta conexiones desde internet. Apagado por defecto y así debe quedarse: solo tus máquinas Lightsail de la misma región deben llegar a ella.
- Volcado (dump)
- Un fichero con todo el contenido de una base de datos, para moverla de un sitio a otro.
Paso a paso
Crea la base de datos
En la consola de Lightsail, pestaña Bases de datos, Crear base de datos. Elige la misma región que tu máquina, el motor (MySQL para WordPress y la mayoría; PostgreSQL si tu aplicación lo pide) y la versión que recomiende. Deja que Lightsail genere la contraseña maestra o pon una tuya larga. Elige el plan más pequeño para empezar, salvo que sepas que necesitas más. Nombre:
bd-web. Crea. Tarda unos minutos en estar disponible.Apunta los datos de conexión
Abre la base de datos, pestaña Conectar. Verás el punto de enlace (una dirección larga que termina en
rds.amazonaws.com), el puerto (3306 en MySQL, 5432 en PostgreSQL), el usuario maestro y un botón para ver la contraseña. Deja el modo público desactivado: tu máquina Lightsail puede llegar a ella sin él porque están en la misma región.Comprueba la conexión desde la máquina
Abre la terminal del navegador de tu máquina y prueba (MySQL):
mysql -h TU-PUNTO-DE-ENLACE -u USUARIO -pEscribe la contraseña cuando la pida. Si entras y ves el símbolo
mysql>, la conexión funciona. Escribeexit. Si el comandomysqlno existe, instala el cliente (sudo apt install mysql-clienten Ubuntu o Debian).Copia los datos de la base actual a la nueva
Si la web ya tiene datos en la base local, pon la web en mantenimiento un momento y vuélcalos:
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.sqlEn una máquina Bitnami (WordPress de Lightsail) el usuario local es
rooty su contraseña está en el ficherobitnami_application_passwordo en la configuración de la aplicación. El volcado tarda según el tamaño; con una web normal, segundos.Cambia la configuración de la web
Edita el fichero de configuración de tu aplicación y cambia el servidor de la base de datos de
localhostal punto de enlace, y el usuario y la contraseña por los de la base gestionada. En WordPress eswp-config.php: las líneasDB_HOST,DB_USERyDB_PASSWORD. Guarda y abre la web: debe funcionar igual que antes. Quita el modo mantenimiento.Para la base de datos local y revisa las copias
Cuando lleve unos días funcionando con la nueva, para el servicio de base de datos de la máquina (
sudo systemctl disable --now mysqlo el comando de Bitnami) para liberar memoria. En la base de datos gestionada, pestaña Instantáneas: Lightsail hace copias automáticas a diario; puedes además crear una manual antes de cambios importantes. Y mira la pestaña Métricas de vez en cuando: si la CPU o las conexiones van al límite, es momento de subir de plan, que en bases de datos sí se hace con un botón.
Qué puede salir mal
La web dice "Error estableciendo conexión con la base de datos"
Revisa letra a letra el punto de enlace, usuario y contraseña en la configuración. Después, que la máquina y la base de datos están en la misma región. Y que la base de datos existe dentro del servidor (el CREATE DATABASE del paso 4).
Quiero conectar desde mi ordenador con un programa gráfico
Necesitas activar el modo público, que abre la base de datos a internet (protegida solo por la contraseña). Hazlo solo el rato que lo necesites y vuelve a desactivarlo, o conéctate a través de la máquina con un túnel SSH.
La web va más lenta que antes
Ahora la base de datos está en otra máquina y cada consulta viaja por la red, aunque sea dentro del mismo centro de datos. Normalmente no se nota; si se nota, la web hace demasiadas consultas: un plugin de caché suele resolverlo.
Cuesta más que tener la base en la máquina
Sí: es un servicio más. Lo que compras es que no se caiga con la web, que tenga copias diarias sin que nadie se acuerde y que puedas crecer sin reinstalar nada. Para una web que da dinero, suele compensar.
En Simplio
En Simplio las bases de datos de Lightsail y de RDS aparecen junto a tus máquinas, con su estado, su punto de enlace listo para copiar, las copias con fecha y las métricas. Haces una instantánea con un botón, y quien tenga permiso puede verla sin poder tocarla. Si una copia programada no se hace o la base de datos va al límite, te avisa por correo.
Lo mismo, en AWS y en Simplio
| En la consola de AWS | En Simplio | |
|---|---|---|
| Ver el estado y las copias de la base de datos | Entrar en Lightsail, pestaña por pestaña | La base de datos junto a sus máquinas, con estado, copias y métricas en una tarjeta |
| Hacer una copia antes de un cambio | Pestaña Instantáneas, crear, nombrar | Botón de instantánea: 1 clic |
| Enterarte si va al límite | Mirar la pestaña Métricas | Aviso por correo si la CPU o las conexiones se disparan, o si falta una copia |