Ir al contenido
HexaTransfer
Volver al blog
Nube y almacenamiento

Archivado automatizado de archivos: configúralo y olvídate

Configura flujos automatizados de archivado: define reglas, programa archivados y garantiza el cumplimiento de las políticas de retención.

El archivado automatizado de ficheros mueve los archivos inactivos de almacenamiento en caliente a niveles fríos según un calendario, sin que nadie tenga que hacer clic en nada. Las reglas de ciclo de vida de S3, la gestión del ciclo de vida de Azure Blob y el ciclo de vida de objetos de GCS permiten escribir políticas del tipo "tras 90 días sin tocar, mover a Glacier Deep Archive; pasados 7 años, eliminar salvo que lleve la etiqueta legal-hold". Se configuran una vez, se prueban sobre el 1% del conjunto de datos, y el sistema recupera entre el 50 y el 80% del coste de almacenamiento cumpliendo a la vez las normas de retención — SOX 7 años, HIPAA 6 años, minimización de datos del RGPD — sin revisiones manuales.

Elegir el disparador: antigüedad, acceso o etiqueta

Tres tipos de disparadores dominan el archivado. Las reglas basadas en antigüedad (object.age > 90d) son las más sencillas y funcionan bien con datos que pierden relevancia con el tiempo: registros de actividad, transacciones o exportaciones de correo. Las reglas basadas en acceso (S3 Intelligent-Tiering, que registra las marcas de tiempo del último acceso) son más inteligentes para conjuntos de datos con patrones de acceso imprevisibles — un fichero de auditoría financiera puede estar inactivo 11 meses y ser crítico en el mes 12.

Las reglas basadas en etiquetas (tag retention-class = sox-7y) dan a personas y aplicaciones un control explícito. Un equipo de cumplimiento puede marcar los ficheros con retention-class: hipaa-6y en el momento de la ingesta, y las reglas de ciclo de vida archivan según eso sin necesidad de modificar la regla cuando evolucionan las categorías. Se pueden combinar: antigüedad para el comportamiento por defecto, etiquetas para las excepciones.

Escribir la política en YAML o JSON

Las configuraciones de ciclo de vida de S3 usan XML o JSON; Azure usa JSON; GCS usa JSON. Una regla S3 representativa para un repositorio de documentos:

{
  "Rules": [
    {
      "ID": "archive-documents",
      "Status": "Enabled",
      "Filter": {"Prefix": "documents/"},
      "Transitions": [
        {"Days": 30, "StorageClass": "STANDARD_IA"},
        {"Days": 90, "StorageClass": "GLACIER_IR"},
        {"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
      ],
      "Expiration": {"Days": 2555},
      "NoncurrentVersionExpiration": {"NoncurrentDays": 180}
    }
  ]
}

Gestiona la política con control de versiones en Git. Cada cambio revisado en una pull request, aplicado con Terraform o CloudFormation, auditado en el registro de CI. Las políticas editadas a mano en la consola derivan y se rompen.

Pruebas antes de producción

Una política de ciclo de vida que borra el bucket equivocado puede costar el puesto de trabajo. Prueba primero sobre un prefijo pequeño. Crea documents/test/ con ficheros de muestra y una política de prueba dedicada que se aplique únicamente a ese prefijo. Usa duraciones cortas — Days: 1 — para ejercitar las transiciones rápidamente.

Comprueba los resultados con aws s3api list-objects-v2 --prefix documents/test/ y verifica que las clases de almacenamiento han cambiado como se esperaba. Después amplía el filtro. Para cubos de alto riesgo (legal, finanzas), ejecuta la política en modo de simulación si el proveedor lo permite, o usa un script que informe de lo que ocurriría sin aplicar los cambios.

Las duraciones mínimas de almacenamiento no son negociables

Las reglas de ciclo de vida respetan los cargos por duración mínima de almacenamiento. Mover un objeto a Glacier Flexible Retrieval y eliminarlo 7 días después sigue generando cargos por 90 días. Deep Archive tiene un mínimo de 180 días. Una regla mal diseñada que transfiere objetos de Standard a Deep Archive y los borra en 30 días paga tres veces: una por la transición, otra por la duración mínima y otra por la salida de datos si se restauran.

El patrón seguro: solo transicionar a un nivel más frío si se espera que el objeto permanezca allí al menos el tiempo mínimo. Si los ficheros se eliminan normalmente a los 60 días, no tiene sentido llevarlos a Deep Archive (mínimo 180 días). Es mejor detenerse en Standard-IA.

Gestión de bloqueos legales y excepciones

Todo sistema de archivado necesita una vía de escape para litigios. Una etiqueta como legal-hold: true debe eximir los objetos de la eliminación por ciclo de vida. Se implementa con un filtro de regla que excluye los objetos etiquetados:

Filter:
  And:
    Prefix: "documents/"
    Tag: {Key: "legal-hold", Value: "false"}

Combinado con S3 Object Lock en modo Governance o Compliance, los objetos con etiqueta de bloqueo legal quedan inmutables hasta que se liberen. El modo Compliance impide incluso la eliminación por parte de root, que es lo que exigen los requisitos WORM de FINRA 4511, SEC 17a-4 y HIPAA §164.316.

Automatizar la canalización de etiquetado

El archivado es tan bueno como las etiquetas que lo impulsan. Automatiza el etiquetado en la ingesta: una Lambda disparada por S3 ObjectCreated examina el fichero y aplica etiquetas de content-type, department y retention-class. Para los datos existentes sin etiquetar, ejecuta un trabajo de etiquetado masivo con S3 Batch Operations.

Fuentes de valores de etiquetas:

  • Extensión del fichero y magic bytes (un .pdf con "HIPAA" en los metadatos recibe la etiqueta healthcare)
  • Origen de la carga (una clave de API vinculada a la aplicación financiera etiqueta automáticamente finance)
  • Análisis de contenido (Amazon Macie detecta PII y etiqueta en consecuencia)
  • Entrada del usuario en la carga (un formulario con un desplegable Departamento)

Las etiquetas cuestan 0,01 USD por cada 10.000 solicitudes de etiquetado en S3; merece la pena la inversión para una segmentación precisa del ciclo de vida.

Registro de auditoría del archivado

Registra cada acción del ciclo de vida. CloudTrail captura los eventos LifecycleTransition y LifecycleExpiration. Envíalos a Athena, Splunk o Datadog para tener un historial consultable. Cuando un auditor pregunte "¿cuándo se movió este contrato de 2019 a Glacier?", la consulta debe responder en segundos.

Incluye en el registro de auditoría:

  • Clave del objeto y VersionId
  • Transición de/a clase de almacenamiento
  • Disparador (antigüedad, etiqueta, explícito)
  • Marca de tiempo
  • ID de la política que coincidió

Conserva el registro de auditoría al menos tanto tiempo como exija la retención de datos — si archivas durante 7 años, mantén la auditoría del ciclo de vida 7 años más un margen adicional.

Archivado entre regiones y entre nubes

Para la recuperación ante desastres, los archivos deben residir en una segunda región o nube. S3 Cross-Region Replication puede apuntar a una clase de almacenamiento distinta en el destino — replicar a us-west-2 directamente en Glacier Deep Archive. Azure admite algo similar con RA-GRS y replicación de objetos. GCS dispone de replicación multirregión y turbo.

Para archivado entre nubes (AWS como primario, Backblaze B2 como secundario), rclone con cron ejecuta trabajos de sincronización programados. La copia secundaria ofrece independencia frente a interrupciones específicas del proveedor, ransomware que ataque el IAM de un único proveedor o disputas de facturación.

Archivos listos para restaurar

Un archivo que no se puede restaurar es solo un borrado lento. Documenta la ruta de restauración para cada nivel:

  • Glacier Instant Retrieval: GET directo, no se necesita restauración previa
  • Glacier Flexible Retrieval: RestoreObject con Tier=Standard (3-5 horas) o Expedited (1-5 minutos)
  • Glacier Deep Archive: RestoreObject con Standard (12 horas) o Bulk (48 horas)
  • Azure Archive: Set Blob Tier a Hot/Cool, rehidratación en 15 horas

Practica cada trimestre. Elige un objeto archivado al azar, restáuralo, verifica la coincidencia con el hash del manifiesto y cronometra todo el proceso. Las restauraciones no probadas se descubren por las malas en medio de un incidente.

Gestión de transferencias de archivado puntuales

El ciclo de vida automatizado gestiona el estado estable, pero a veces hay que mover un lote específico de 50 GB de forma inmediata — los ficheros de un empleado que se va, el cierre de un proyecto con un cliente. Para estos casos, una herramienta de transferencia manual con comprobaciones de integridad es mejor que editar políticas de ciclo de vida. HexaTransfer mueve ficheros de hasta 10 GB con cifrado AES-256-GCM de extremo a extremo y un enlace de un solo uso, útil para entregar archivos a asesoría jurídica externa o a un sucesor sin necesidad de darles acceso a todo el bucket de archivo.

Configura la política de ciclo de vida, automatiza el etiquetado, canaliza los registros de auditoría, y el sistema funciona solo. Revisa el panel de costes cada trimestre; ajusta los umbrales cuando cambie el patrón de acceso. Eso es todo lo que necesita el archivado — una vez configurado, requiere menos atención que pedir el café.

Pruébalo en hexatransfer.com — gratis, sin cuenta, máximo 10 GB.

Envía archivos grandes de forma segura con cifrado de extremo a extremo

Transfiere archivos de hasta 10 GB gratis con cifrado de extremo a extremo. Sin necesidad de cuenta. Tus archivos se cifran en tu navegador antes de subirlos: nadie más puede leerlos.

Enviar un archivo