AWS Backup: qué es, cómo funciona y por qué deberías probar tus restauraciones
Tener backups no es suficiente. La única garantía real de que puedes recuperarte es haber probado la restauración. AWS Backup no solo centraliza la protección de datos — también automatiza esa prueba. Te explico cómo.
¿Qué es AWS Backup?
AWS Backup es el servicio gestionado de AWS para centralizar y automatizar la protección de datos en la nube. Antes de que existiera, cada servicio de AWS tenía su propio mecanismo de backup: snapshots de EBS, backups de RDS, copias de DynamoDB… todos configurados por separado, con distintas políticas y distintos puntos de visibilidad.
AWS Backup unifica todo eso bajo un único plano de control. Desde una sola consola — o desde Terraform — puedes definir políticas de backup que aplican a múltiples servicios y cuentas de AWS.
Servicios compatibles
A fecha de 2026, AWS Backup soporta la mayoría de servicios de almacenamiento y datos de AWS:
- Compute y almacenamiento: EC2 (instancias completas + EBS), EFS, FSx
- Bases de datos: RDS, Aurora, DynamoDB, DocumentDB, Neptune
- Almacenamiento de objetos: S3
- Híbrido: Storage Gateway, VMware workloads on-prem
- Otros: Redshift, Timestream, SAP HANA en EC2
La cobertura es amplia y sigue creciendo. Si trabajas con arquitecturas multi-servicio, esta centralización simplifica enormemente la operación.
Conceptos clave
Backup Plan (Plan de copia de seguridad)
Define cuándo se hacen los backups y cuánto tiempo se retienen. Se compone de reglas que especifican frecuencia, ventana de backup y política de transición a cold storage (para reducir coste en retenciones largas).
# Ejemplo de backup plan con Terraform
resource "aws_backup_plan" "produccion" {
name = "plan-produccion-diario"
rule {
rule_name = "diario-30-dias"
target_vault_name = aws_backup_vault.principal.name
schedule = "cron(0 3 * * ? *)" # 3:00 AM UTC cada día
lifecycle {
delete_after = 30 # retener 30 días
}
}
rule {
rule_name = "semanal-1-año"
target_vault_name = aws_backup_vault.principal.name
schedule = "cron(0 3 ? * SUN *)" # domingos a las 3:00 AM
lifecycle {
cold_storage_after = 30 # mover a cold storage a los 30 días
delete_after = 365 # retener 1 año en total
}
}
}
Backup Vault (Almacén de copias)
Es el repositorio donde se guardan los puntos de recuperación. Se puede cifrar con una clave KMS propia y proteger con una vault lock policy que impide el borrado accidental o malicioso de backups — incluso para administradores. Esto es especialmente relevante para cumplir con requisitos de inmutabilidad en marcos regulatorios.
resource "aws_backup_vault" "principal" {
name = "vault-produccion"
kms_key_arn = aws_kms_key.backup.arn
tags = {
Environment = "prod"
}
}
# Vault Lock — backups inmutables durante el periodo de retención
resource "aws_backup_vault_lock_configuration" "principal" {
backup_vault_name = aws_backup_vault.principal.name
min_retention_days = 7
max_retention_days = 365
}
Backup Selection (Selección de recursos)
Define qué se respalda. Se pueden seleccionar recursos individuales
por ARN o, lo más potente, seleccionar recursos por etiquetas (tags). Esto
permite una estrategia dinámica: cualquier recurso con el tag
Backup=true queda automáticamente incluido en el plan.
resource "aws_backup_selection" "produccion" {
name = "recursos-produccion"
iam_role_arn = aws_iam_role.backup.arn
plan_id = aws_backup_plan.produccion.id
# Selección por tag — no hay que añadir recursos uno a uno
selection_tag {
type = "STRINGEQUALS"
key = "Backup"
value = "true"
}
}
Ventajas de usar AWS Backup
- Visibilidad centralizada: un único panel para ver el estado de todos los backups, independientemente del servicio. Antes había que ir servicio por servicio.
- Políticas como código: al integrarse con Terraform y CloudFormation, las políticas de backup viven junto al resto de la infraestructura, versionadas en git.
- Cross-account y cross-region: puedes copiar backups automáticamente a otra cuenta o región de AWS. Imprescindible para estrategias de Disaster Recovery.
- Inmutabilidad con Vault Lock: protección frente a ransomware o borrado accidental. Los backups bloqueados no pueden eliminarse, ni por el propio administrador.
- Cumplimiento y auditoría: AWS Backup Audit Manager genera informes de cumplimiento automáticos, verificando que todos los recursos críticos tienen backup y que las retenciones cumplen con la política definida.
Restore Testing: la funcionalidad que más se ignora
Aquí está el núcleo del problema con los backups en la mayoría de organizaciones: un backup del que no has probado la restauración no es un backup, es una esperanza.
AWS Backup Restore Testing, disponible desde 2023, automatiza exactamente eso: hace restauraciones periódicas de forma automática, verifica que el recurso restaurado es válido y te genera un informe con el resultado.
Cómo funciona
- Defines un Restore Testing Plan con una frecuencia (diaria, semanal, etc.).
- Defines qué recursos incluir en las pruebas (por vault, por tipo de recurso, o por ARN).
- AWS Backup selecciona automáticamente un punto de recuperación reciente y lanza la restauración en un entorno aislado.
- Espera a que el recurso restaurado esté disponible y verifica su validez.
- Publica el resultado (éxito/fallo, tiempo de restauración) en CloudWatch y en los informes de Audit Manager.
- El recurso restaurado se elimina automáticamente tras la prueba.
resource "aws_backup_restore_testing_plan" "semanal" {
name = "test-restauracion-semanal"
recovery_point_selection {
algorithm = "LATEST_WITHIN_WINDOW"
recovery_point_types = ["SNAPSHOT"]
include_vaults = [aws_backup_vault.principal.arn]
}
schedule_expression = "cron(0 5 ? * SUN *)" # domingos 5:00 AM
schedule_expression_timezone = "Europe/Madrid"
start_window_hours = 1
}
Qué métricas genera
Cada prueba de restauración registra automáticamente:
- RestoreJobStatus: COMPLETED / FAILED.
- RestoreDuration: tiempo que tardó la restauración en completarse. Esta métrica es tu RTO real, no el estimado.
- ValidationStatus: si el recurso restaurado pasó las validaciones de integridad.
Puedes crear alarmas en CloudWatch sobre estas métricas para recibir notificación inmediata si una prueba de restauración falla.
Restore Testing y cumplimiento normativo
Muchos marcos de seguridad y alta disponibilidad exigen que las organizaciones demuestren que sus planes de recuperación funcionan. Ya no basta con tener los backups — hay que demostrar que se puede restaurar en el tiempo comprometido (RTO).
AWS Backup Restore Testing genera evidencia automatizada de cada prueba, con timestamps y resultados, que puede usarse directamente en auditorías. Esto ahorra horas de trabajo manual en la preparación de reportes de cumplimiento.
Arquitectura recomendada para entornos críticos
# Cuenta de producción
aws_backup_plan → backups diarios + semanales
aws_backup_vault → vault cifrado con KMS propio
aws_backup_vault_lock → inmutabilidad activada
# Copia cross-account a cuenta de DR
aws_backup_copy_action → copia automática a vault en cuenta de DR
→ región diferente (ej: eu-west-1 si prod está en eu-south-2)
# Pruebas de restauración
aws_backup_restore_testing_plan → ejecución semanal
→ alertas CloudWatch si falla
→ informes en Audit Manager
El RTO real de tu sistema no es el que está en el documento de DR. Es el tiempo que tardó la última restauración de prueba. Si no tienes ese dato, no tienes RTO real.
Conclusión
AWS Backup resuelve el problema de la fragmentación en la protección de datos dentro de AWS. Pero su valor real no está solo en centralizar los backups — está en el Restore Testing, que convierte la validación de la recuperación de una tarea manual y esporádica en un proceso automatizado y auditable.
Si gestionas infraestructura crítica en AWS y aún no tienes Restore Testing configurado, es probablemente el gap de resiliencia más importante que puedes cerrar esta semana.