Un backup a Amazon S3 guarda copias de WordPress y servidores fuera del hosting con alta durabilidad y automatización. Para que resista un incidente, necesita permisos IAM mínimos, Versioning, cifrado, retención inmutable con Object Lock y restauraciones probadas. Así podrás definir costes reales, elegir la herramienta adecuada y medir cuánto dato puedes perder (RPO) y cuánto tardas en volver a operar (RTO).
Índice
Anuncio
Estrategia segura para un backup a Amazon S3
Una copia externa debe formar parte de un plan de backup completo.
Aplica la regla 3-2-1-1-0
La regla 3-2-1-1-0 incorpora una copia aislada o inmutable. Object Lock añade esa inmutabilidad e impide borrar o alterar objetos protegidos hasta una fecha concreta, incluso cuando se compromete una clave con permisos amplios.
Define RPO y RTO antes de programar
El RPO es la pérdida máxima de datos aceptable, medida en tiempo. Un RPO de 24 horas acepta perder hasta un día de cambios; uno de 1 hora limita esa pérdida a la última hora.
Incluye todo lo necesario
Una restauración de WordPress requiere al menos los archivos web, la base de datos MySQL y el archivo wp-config.php. También pueden ser necesarios certificados, reglas de Nginx o Apache, tareas cron, configuraciones PHP y archivos situados fuera de public_html.
La regla 3-2-1-1-0 puede convertirse en un checklist sencillo:
- conserva al menos tres copias de los datos, en dos tipos de soporte o ubicaciones diferenciadas, con una copia fuera del entorno principal y otra aislada o inmutable. En la práctica, producción cuenta como una copia
- un backup de WordPress en un bucket de Amazon S3 privado puede ser la segunda
- un disco cifrado desconectado, otra cuenta AWS con controles independientes o una copia con Object Lock pueden aportar el componente aislado
El cero final exige verificar errores: cada ejecución debe terminar con un registro correcto, comprobación de tamaño o checksum y una restauración de WordPress probada.
Qué datos proteger en WordPress y servidores
No basta con copiar wp-content.
Una copia válida permite reconstruir el servicio completo, no solo mostrar una portada parecida a la anterior.
Archivos, MySQL y configuraciones
Haz una copia de archivos y otra de base de datos, con fecha y sitio identificados. En un VPS conviene guardar también la versión de PHP, las extensiones activas, la configuración del servidor y una lista de servicios necesarios.
Casos con mayor exigencia
WooCommerce, membresías y reservas necesitan revisar tablas personalizadas, suscripciones y datos de pasarela. Una instalación Multisite requiere confirmar si todos los sitios comparten base de datos, archivos de subida y configuración de red.
Criterio de ubicación y cumplimiento
Las regiones AWS Europa (Madrid), Europa (Irlanda) y Europa (Fráncfort) permiten mantener los datos en la Unión Europea. La región no resuelve por sí sola el cumplimiento, pero ayuda a documentar dónde se aloja la información.
Elige plugin, CLI o backup de servidor
No hay un método único.
Un plugin es cómodo para una o pocas webs; una tarea de servidor suele encajar mejor con varios sitios o bases de datos pesadas. AWS CLI es la herramienta oficial de terminal de AWS, y rclone sincroniza archivos entre muchos servicios de almacenamiento.
Plugins para sitios WordPress
UpdraftPlus, BackWPup y WPvivid Backup Plugin permiten enviar archivos a S3 desde el panel de WordPress. Son adecuados cuando el responsable necesita programar y restaurar sin entrar por SSH, la consola segura del servidor.
Automatización técnica y servidor
AWS CLI encaja en scripts con registros de actividad y tareas programadas. WP-CLI ayuda a ejecutar acciones de WordPress desde terminal, mientras que mysqldump puede extraer MySQL antes de comprimir y enviar la copia.
| Método | Caso adecuado | Coste de operación | Límite principal |
|---|---|---|---|
| UpdraftPlus, BackWPup o WPvivid | Una web y gestión desde panel | Bajo a medio | Carga del hosting y claves en WordPress |
| AWS CLI | VPS o procesos técnicos | Medio | Requiere scripts y supervisión |
| rclone | Mover archivos entre destinos | Medio | Puede propagar borrados |
| Backup del servidor | Varios sitios o Linux completo | Medio a alto | Necesita acceso y control técnico |
Un disco externo cifrado puede mantener una copia local adicional antes de enviarla a S3. Resulta útil para restauraciones grandes sin descargar todo desde Internet.
- Permite conservar una copia desconectada del servidor y del panel WordPress.
- Reduce el tiempo de recuperación al restaurar archivos voluminosos en local.
- Sirve como segunda ubicación física para aplicar la regla 3-2-1-1-0.
Para una web WordPress sencilla, un plugin con bucket privado, permisos limitados y prueba trimestral suele ser suficiente. Para una tienda activa o varios clientes, conviene crear copias de MySQL entre cada 1 y 4 horas y subirlas desde el servidor con una identidad separada; si el ransomware es una amenaza relevante, Versioning debe complementarse con Object Lock. La decisión correcta es la que cumple el RPO y RTO definidos sin depender de una clave AWS con acceso total.
Configura el bucket de S3 sin riesgos
El bucket debe nacer privado.
Crea el bucket en la región elegida y activa Bloqueo de acceso público. También conviene activar el cifrado del lado del servidor, que protege los datos guardados en los discos de AWS sin cambiar el funcionamiento del plugin.
Versionado e inmutabilidad
Object Lock no puede añadirse después a un bucket normal: debe habilitarse al crearlo. En modo Governance, una identidad especialmente autorizada puede eludir la retención; en modo Compliance, nadie puede hacerlo hasta que venza el plazo.
Estructura y protección de red
Usa un prefijo por web, entorno y fecha. Por ejemplo, empresa-es/produccion/base-datos/ evita mezclar una copia de pruebas con la de producción.
Activa S3 Versioning en el bucket antes de depender de él como protección frente a sobrescrituras y borrados, ya que conservará versiones no actuales de los objetos que se reemplacen o eliminen. MFA Delete añade una confirmación con un segundo factor para cambios críticos de versionado y borrado permanente de versiones, pero su administración se realiza mediante AWS CLI o API con las credenciales adecuadas, no desde todos los paneles o plugins. No debe plantearse como sustituto de Object Lock: AWS no permite usar MFA Delete y Object Lock simultáneamente en el mismo bucket.
Para una protección contra ransomware robusta, conviene priorizar Object Lock con retención inmutable, permisos IAM separados y una cuenta o identidad administrativa distinta de la que realiza las subidas.
Limita IAM y protege las credenciales
Una clave de backup no debe administrar AWS.
AWS Identity and Access Management (IAM) controla qué puede hacer cada identidad. Para un plugin, crea un usuario o rol exclusivo por sitio y limítalo a un bucket y prefijo concretos.
Política mínima para adaptar
Sustituye MI-BUCKET y mi-sitio/* por tus valores. Si el proceso nunca borra copias, no añadas s3:DeleteObject.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListBucket"],
"Resource": "arn:aws:s3:::MI-BUCKET",
"Condition": {"StringLike": {"s3:prefix": ["mi-sitio/*"]}}
},
{
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload"],
"Resource": "arn:aws:s3:::MI-BUCKET/mi-sitio/*"
}
]
}
Esta política permite listar el área asignada, subir y leer objetos. No concede acceso a otros buckets ni permiso para borrar.
Roles y secretos temporales
En Amazon EC2, contenedores o servidores compatibles, es preferible un rol IAM con credenciales temporales. Así no se guarda una clave permanente en WordPress ni en un archivo de configuración.
Anuncio
Retención, object lock y coste real
Guardar más no siempre protege más.
S3 Versioning acumula versiones no actuales, y cada una ocupa espacio. Sin reglas Lifecycle, una web de 10 GB con copias completas diarias puede guardar entre 300 y 3.650 GB al año, según cuánto cambie cada archivo y cómo trabaje el plugin.
Retención útil frente a ransomware
La práctica demuestra que el versionado ayuda ante errores humanos, pero una copia inmutable o aislada es la barrera útil cuando se comprometen las credenciales de backup. No conviene activar Compliance sin acordar el plazo, porque ni el administrador podrá borrar antes de la fecha.
Glacier y factura completa
Amazon S3 Glacier reduce el coste de archivo para copias antiguas, pero recuperarlas puede tardar y generar cargos. No muevas la única copia reciente a una clase lenta si tu RTO es de pocas horas.
Archivos y MySQL
Conservar cambios
Object Lock si aplica
Restauración medida
Antes de fijar una política Lifecycle, estima la factura por cuatro partidas: GB-mes almacenados, solicitudes de subida y listado, recuperación desde clases de archivo y transferencia de salida al restaurar. Por ejemplo, una copia completa diaria de 10 GB retenida durante 30 días puede aproximarse a 300 GB almacenados si cada archivo se guarda como un objeto nuevo; ese volumen crece si se mantienen más generaciones o versiones. Las reglas Lifecycle pueden mover copias mensuales a S3 Glacier y eliminar versiones no actuales tras el plazo aprobado, pero hay que comprobar la duración mínima de almacenamiento y los cargos de recuperación de cada clase.
El cifrado de backups debe decidirse aparte del ahorro: SSE-S3 simplifica la operación, mientras SSE-KMS añade control sobre claves y puede sumar solicitudes de KMS.
Programa copias y prueba restauraciones
Una copia sin prueba es una hipótesis.
Programa MySQL antes o durante la copia de archivos, y etiqueta cada ejecución con fecha, web y entorno. En WooCommerce, una base de datos cada 1 a 4 horas y archivos diarios suele equilibrar recuperación y carga, aunque una tienda con muchas operaciones puede necesitar más frecuencia.
Incluye VPS, EC2 y correo
Un snapshot de VPS o EC2 captura un estado de disco, pero no sustituye una exportación de MySQL ni una copia externa. Puede servir para recuperar el servidor entero, mientras que una copia de WordPress permite restaurar solo un sitio o una tabla con más precisión.
Mide una restauración real
Restaura primero en un subdominio aislado o en un servidor de pruebas. Importa la base de datos, recupera archivos, ajusta credenciales de prueba y revisa acceso, formularios, medios, pedidos recientes y registros de error.
Preguntas y respuestas
¿Cómo hago un backup WordPress en Amazon S3?
Crea una copia de archivos y MySQL, y envíala a un bucket privado mediante plugin, AWS CLI o un script de servidor. Activa cifrado, Versioning y permisos IAM limitados al prefijo de esa web.
¿Cuánto cuesta guardar backups en Amazon S3?
El coste depende de GB, solicitudes, versiones antiguas, recuperación y transferencia de salida. Una regla Lifecycle evita pagar durante meses por versiones no actuales que ya no necesitas.
¿Versioning protege contra ransomware?
Versioning recupera versiones anteriores, pero no garantiza inmutabilidad ante credenciales comprometidas. Para ese riesgo, evalúa Object Lock con una retención definida y una identidad distinta para administrar la cuenta.
¿Cómo restauro una web desde S3?
Descarga la copia, restaura archivos y MySQL en un entorno aislado, y valida funciones críticas antes de publicar. Mide el proceso para comprobar que cumple tu RTO de entre 1 y 24 horas, según el servicio.
¿Qué permisos necesita un plugin de WordPress?
Un plugin necesita listar, subir y, solo si procede, leer objetos dentro de su prefijo. No debe recibir acceso total a S3 ni permiso sobre buckets de otros clientes.
¿Puedo guardar la clave AWS en WordPress?
Puedes hacerlo si no hay alternativa, pero aumenta el daño posible ante una intrusión. Es preferible usar roles IAM, variables de entorno o una clave exclusiva que se rote entre 90 y 180 días.
¿Debo usar S3 Glacier para todas las copias?
No, Glacier encaja para archivo de largo plazo cuando aceptas recuperaciones más lentas. Mantén copias recientes en S3 Standard u otra clase compatible con el RTO que hayas fijado.
¿Cada cuánto debo probar una restauración?
Prueba una restauración completa al menos cada tres meses y tras cambios relevantes de hosting o arquitectura. Una tienda activa o varios sitios de clientes se benefician de pruebas mensuales o trimestrales documentadas.
- Lo esencial: una copia externa en S3 reduce la dependencia del hosting, pero debe incluir base de datos, archivos y configuraciones necesarias.
- Lo esencial: Versioning conserva cambios previos, mientras Object Lock aporta retención resistente a borrados durante el plazo elegido.
- Lo esencial: IAM de mínimo privilegio limita el alcance de una clave filtrada o de un plugin comprometido.
- Lo esencial: Lifecycle controla costes de versiones antiguas y Glacier solo encaja cuando el RTO admite esperas.
- Lo esencial: una restauración cronometrada es la única prueba de que el backup podrá recuperar el negocio.
Anuncio
Fuentes de interés
Otros artículos que pueden complementar lo que acabas de leer:
- Cómo hacer una copia de seguridad de WordPress en ... — wpbeginner.com
- Copia de seguridad de WordPress en Amazon S3 — es.servmask.com
- Cómo hacer una copia de seguridad de un sitio ... — duplicator.com
- ¿Cómo conectar Amazon S3 con WordPress? — webempresa.com
- Sin validar S3, borrar imágenes de WordPress rompe enlaces
- Conserva tus reglas de caché al actualizar plugins
Josu Barrios
Somos especialistas en mantenimiento WordPress para empresas, profesionales y tiendas online. Contamos con experiencia en seguridad web, optimización de rendimiento, actualizaciones, copias de seguridad y resolución de incidencias técnicas, ayudando a que cada sitio funcione de forma rápida, estable y protegida. Nuestro enfoque combina soporte técnico profesional, buenas prácticas de seguridad y seguimiento continuo para ofrecer un servicio fiable, transparente y orientado a resultados reales.