Aller au contenu
HexaTransfer
Retour au blog
Cloud et stockage

Archivage automatisé de fichiers : configurez et oubliez

Mettez en place des workflows d'archivage automatisé : définissez des règles, planifiez l'archivage et respectez les politiques de rétention.

L'archivage automatisé déplace les fichiers inactifs du stockage chaud vers des niveaux froids selon un calendrier, sans intervention manuelle. Les règles S3 Lifecycle, Azure Blob Lifecycle Management et GCS Object Lifecycle permettent d'écrire des politiques du type « après 90 jours sans accès, déplacer vers Glacier Deep Archive ; après 7 ans, supprimer sauf si le tag legal-hold est présent ». Configurées une fois et testées sur 1 % du volume, ces règles réduisent les coûts de stockage de 50 à 80 % tout en respectant les obligations légales de conservation — SOX 7 ans, HIPAA 6 ans, minimisation des données du RGPD — sans aucune intervention manuelle.

Choisir le déclencheur : âge, accès ou étiquette

Trois types de déclencheurs dominent. Les règles basées sur l'âge (object.age > 90d) sont les plus simples et conviennent aux données à valeur décroissante dans le temps : logs, transactions, exports de messagerie. Les règles basées sur l'accès (S3 Intelligent-Tiering, qui enregistre les horodatages du dernier accès) sont plus intelligentes pour les ensembles de données dont les schémas d'accès sont imprévisibles — un fichier d'audit financier peut rester dormant 11 mois et devenir critique au 12e.

Les règles basées sur les étiquettes (tag retention-class = sox-7y) donnent aux équipes et aux applications un contrôle explicite. Une équipe conformité peut marquer des fichiers retention-class: hipaa-6y à l'ingestion, et les règles d'archivage s'appliquent sans modifier la configuration lorsque les catégories évoluent. Combinez les trois : l'âge pour le comportement par défaut, les étiquettes pour les exceptions.

Écrire la politique en YAML ou JSON

Les configurations S3 lifecycle utilisent XML ou JSON ; Azure et GCS utilisent JSON. Exemple de règle S3 pour un dépôt de documents :

{
  "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}
    }
  ]
}

Versionnez la politique dans Git. Chaque modification est revue en pull request, appliquée via Terraform ou CloudFormation, auditée dans le journal CI. Les politiques éditées manuellement dans la console dérivent et se cassent.

Tester avant la mise en production

Une politique lifecycle qui supprime le mauvais bucket peut coûter un poste. Testez d'abord sur un préfixe réduit. Créez documents/test/ avec des fichiers échantillons et une politique dédiée qui ne s'applique qu'à ce préfixe. Utilisez des durées courtes — Days: 1 — pour exercer les transitions rapidement.

Vérifiez les résultats avec aws s3api list-objects-v2 --prefix documents/test/ et confirmez que les classes de stockage ont changé comme prévu. Élargissez ensuite le filtre. Pour les buckets à fort enjeu (juridique, finance), exécutez la politique en mode simulation si le fournisseur le propose, ou simulez avec un script qui signale ce qui se passerait sans appliquer les modifications.

Les durées minimales de stockage sont non négociables

Les règles lifecycle respectent les frais de durée minimale de stockage. Déplacer un objet vers Glacier Flexible Retrieval et le supprimer 7 jours plus tard engendre quand même des frais pour 90 jours. Deep Archive facture un minimum de 180 jours. Une règle mal conçue qui fait transiter des objets de Standard vers Deep Archive puis vers la suppression en 30 jours paye trois fois — une fois pour la transition, une fois pour la durée minimale, une fois pour la sortie si vous restaurez.

Le schéma sûr : ne transiter vers un niveau plus froid que si l'objet est censé y rester au moins la durée minimale. Si les fichiers sont typiquement supprimés après 60 jours, ne les envoyez pas vers Deep Archive (minimum 180 jours). Arrêtez-vous à Standard-IA.

Gérer les blocages légaux et les exceptions

Tout système d'archivage a besoin d'une trappe de secours pour le contentieux. Un tag comme legal-hold: true doit exempter les objets de la suppression lifecycle. Implémentez avec un filtre de règle qui exclut les objets étiquetés :

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

Combiné avec S3 Object Lock en mode Governance ou Compliance, les objets marqués legal-hold deviennent immuables jusqu'à leur libération. Le mode Compliance empêche même la suppression par le root, ce qu'exigent FINRA 4511, SEC 17a-4 et les obligations WORM de HIPAA §164.316.

Automatiser le pipeline d'étiquetage

L'archivage ne vaut que ce que valent les étiquettes qui le pilotent. Automatisez l'étiquetage à l'ingestion : une Lambda déclenchée par S3 ObjectCreated examine le fichier et applique les tags content-type, department, retention-class. Pour les données existantes non étiquetées, lancez un job de marquage par lots avec S3 Batch Operations.

Sources de valeurs pour les tags :

  • Extension et magic bytes (un .pdf contenant « RGPD » dans ses métadonnées reçoit le tag legal)
  • Source de l'envoi (une clé API liée à l'application finance tague automatiquement finance)
  • Analyse de contenu (Amazon Macie détecte les données personnelles et tague en conséquence)
  • Saisie utilisateur à l'envoi (un formulaire avec un menu déroulant Service)

Les tags coûtent 0,01 $ pour 10 000 requêtes dans S3 ; c'est un investissement rentable pour un ciblage lifecycle précis.

Journal d'audit de l'archivage

Journalisez chaque action lifecycle. CloudTrail capture les événements LifecycleTransition et LifecycleExpiration. Envoyez-les vers Athena, Splunk ou Datadog pour un historique interrogeable. Quand un auditeur demande « quand ce contrat de 2019 a-t-il été déplacé vers Glacier », la requête doit répondre en secondes.

Incluez dans le journal d'audit :

  • Clé de l'objet et VersionId
  • Transition de/vers la classe de stockage
  • Déclencheur (âge, étiquette, explicite)
  • Horodatage
  • ID de la politique qui a correspondu

Conservez le journal d'audit au moins aussi longtemps que la rétention des données l'exige — si vous archivez sur 7 ans, conservez le journal lifecycle sur 7 ans plus une marge.

Archivage multi-région et multi-cloud

Pour la reprise après sinistre, les archives doivent résider dans une seconde région ou un second cloud. S3 Cross-Region Replication peut cibler une classe de stockage différente à destination — répliquez vers eu-west-3 directement dans Glacier Deep Archive. Azure propose la même chose avec RA-GRS et la réplication d'objets. GCS offre la multi-région et la réplication turbo.

Pour l'archivage multi-cloud (AWS primaire, Backblaze B2 secondaire), rclone avec cron exécute des jobs de synchronisation planifiés. La copie secondaire garantit l'indépendance vis-à-vis des pannes d'un fournisseur, des ransomwares qui ciblent l'IAM d'un seul prestataire, ou des litiges de facturation.

Des archives accessibles à la restauration

Une archive qu'on ne peut pas restaurer n'est qu'une suppression lente. Documentez le chemin de restauration pour chaque niveau :

  • Glacier Instant Retrieval : GET direct, aucune restauration requise
  • Glacier Flexible Retrieval : RestoreObject avec Tier=Standard (3-5 heures) ou Expedited (1-5 minutes)
  • Glacier Deep Archive : RestoreObject avec Standard (12 heures) ou Bulk (48 heures)
  • Azure Archive : Set Blob Tier vers Hot/Cool, réhydratation en 15 heures

Pratiquez chaque trimestre. Prenez un objet archivé au hasard, restaurez-le, vérifiez-le contre le hash du manifeste, et chronométrez l'ensemble du processus. Les restaurations non testées se découvrent de la pire façon en plein incident.

Gérer les transferts d'archivage ponctuels

Le lifecycle automatisé gère l'état stable, mais il arrive qu'on ait besoin de déplacer immédiatement un lot de 50 Go — les fichiers d'un collaborateur qui quitte l'entreprise, la clôture d'une mission client. Pour ces cas, un outil de transfert manuel avec contrôle d'intégrité vaut mieux que de modifier des politiques lifecycle. HexaTransfer déplace des fichiers jusqu'à 10 Go avec chiffrement AES-256-GCM de bout en bout et un lien à usage unique, utile pour transmettre des archives à un avocat externe ou à un repreneur sans leur accorder d'accès à l'ensemble du bucket d'archives.

Mettez en place la politique lifecycle, automatisez l'étiquetage, redirigez les journaux d'audit, et le système tourne sans intervention. Consultez le tableau de bord des coûts chaque trimestre ; ajustez les seuils quand les schémas d'accès évoluent. C'est tout ce que l'archivage exige — une fois configuré, il demande moins d'attention qu'une commande de café.

Essayez sur hexatransfer.com — gratuit, sans compte, jusqu'à 10 Go.

Envoyez vos fichiers volumineux en toute sécurité avec le chiffrement de bout en bout

Transférez des fichiers jusqu'à 10 Go gratuitement avec le chiffrement de bout en bout. Aucun compte requis. Vos fichiers sont chiffrés dans votre navigateur avant l'envoi — personne d'autre ne peut les lire.

Envoyer un fichier