Consejos para configurar backups automáticos y snapshots en Hetzner
En entornos de producción, la seguridad de los datos y la recuperación ante desastres son fundamentales. Hetzner Cloud ofrece servicios integrados de backups automáticos y snapshots que facilitan la protección de la infraestructura. Este artículo detallado te guiará paso a paso para implementar, automatizar y optimizar tus copias de seguridad en Hetzner.
Índice de contenidos
1. ¿Por qué backups y snapshots
Implementar un sistema de copias de seguridad robusto ofrece múltiples ventajas:
- Protección ante fallos: hardware defectuoso o errores humanos.
- Recuperación rápida: restauración en minutos en caso de incidente.
- Versionado: acceder a estados pasados del sistema o bases de datos.
- Pruebas y desarrollo: clonar entornos de producción para test.
2. Tipos de copias en Hetzner
Hetzner Cloud proporciona dos opciones principales:
| Característica | Snapshots | Backups Automáticos |
|---|---|---|
| Creación | Manual o por API | Programado (diario) |
| Retención | Indefinida hasta eliminación | Hasta 7 instantáneas |
| Uso común | Clonación puntual | Copia de seguridad regular |
| Costo adicional | Sí, por GB | Sí, por GB |
3. Activación y configuración inicial
3.1. Habilitar Backups Automáticos
- Accede al Panel de Control de Hetzner Cloud.
- Selecciona tu proyecto y el servidor deseado.
- En la pestaña Backups, activa la opción Automatic Backups.
- Confirma la activación y revisa el coste estimado.
3.2. Crear un Snapshot Manual
Para generar un snapshot puntual:
- En la sección Snapshots, haz clic en Create Snapshot.
- Asigna un nombre descriptivo, por ejemplo
pre-upgrade-2024-06-05. - Confirma y espera a que finalice el proceso (puede tardar minutos).
4. Automatización vía CLI y API
La hcloud CLI y la API REST de Hetzner permiten integrar la creación de snapshots en scripts y herramientas de orquestación.
4.1. Instalación de hcloud CLI
curl -O https://github.com/hetznercloud/cli/releases/latest/download/hcloud-linux-amd64.tar.gz
tar -xzf hcloud-linux-amd64.tar.gz
sudo mv hcloud /usr/local/bin/
4.2. Autenticación y comandos básicos
hcloud login
# Introduce tu token de API de Hetzner
# Crear un snapshot
hcloud server snapshot create --description snapshot-(date %F)
# Listar snapshots
hcloud server snapshot list
4.3. Script cron para snapshots diarios
Ejemplo de script /usr/local/bin/hetzner-snapshot.sh:
#!/bin/bash
SERVER_ID=123456
DATE=(date %F_%H%M)
hcloud server snapshot create SERVER_ID --description auto-DATE
# Eliminar snapshots antiguos (más de 7 días)
hcloud server snapshot list --json jq -r .[] select(.descriptiontest(^auto-)) select(.created fromdateiso8601 < (now - 786400)) .id
xargs -r -I{} hcloud server snapshot delete {}
Agrega al crontab:
0 2 /usr/local/bin/hetzner-snapshot.sh >> /var/log/hetzner-snapshot.log 2>1
5. Políticas de retención y purga
Definir retención adecuada evita costes excesivos y asegura disponibilidad de puntos de restauración:
- Snapshots frecuentes: retén 7–14 días.
- Backups automáticos: Hetzner retiene hasta 7 copias diarias.
- Almacenamiento externo: para backups a largo plazo, vuelca a S3/Dropbox/FTP con rclone y elimina locales.
6. Buenas prácticas
- Encriptación: cifra respaldos con
gpgsi contienen datos sensibles. - Verificación: programa restauraciones de prueba periódicas.
- Monitoreo: integra alertas (Slack/Email) cuando fallen backups.
- Etiquetado: usa labels y descripciones consistentes para gestionarlos.
7. Ejemplos de scripts y Terraform
7.1. Terraform para backups
provider hcloud {
token = var.hcloud_token
}
resource hcloud_server web {
name = web-server
server_type = cx31
image = ubuntu-24.04
}
resource hcloud_server_backup web_backup {
server_id = hcloud_server.web.id
schedule = daily
}
7.2. Export a S3 compatible
# Instalar rclone y configurar un remote s3backup
rclone copy /var/backups s3backup:hetzner-backups/(hostname)/(date %Y-%m-%d) --transfers=4 --checkers=8
8. Verificación y restauración
- Para restaurar un snapshot: en Panel de Control selecciona Restore to Server o usa CLI:
hcloud server restore --snapshot - Para restaurar un backup automático: en la sección Backups haz clic en Restore.
- Comprueba servicios críticos (bases de datos, web, SSH).
9. Conclusión y recursos
Configurar backups automáticos y snapshots en Hetzner es sencillo si se aprovechan las herramientas oficiales y la API. Con un enfoque de automatización, encriptación y monitorización, obtendrás un sistema fiable y escalable.
Documentación oficial:
Con estos consejos y ejemplos, estarás preparado para proteger tus servidores y datos en Hetzner de forma eficiente y profesional.
Leave a Reply