Consejos para configurar backups automáticos y snapshots en Hetzner

·

·

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

  1. Accede al Panel de Control de Hetzner Cloud.
  2. Selecciona tu proyecto y el servidor deseado.
  3. En la pestaña Backups, activa la opción Automatic Backups.
  4. Confirma la activación y revisa el coste estimado.

3.2. Crear un Snapshot Manual

Para generar un snapshot puntual:

  1. En la sección Snapshots, haz clic en Create Snapshot.
  2. Asigna un nombre descriptivo, por ejemplo pre-upgrade-2024-06-05.
  3. 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 gpg si 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

Your email address will not be published. Required fields are marked *