Gestion de la rétention de logs dans AWS : règles du cycle de vie S3 et meilleures pratiques pour Terraform

L’un des moyens les plus simples pour que les coûts cloud augmentent sans être détectés est la conservation des journaux. Beaucoup d’organisations comprennent l’importance de collecter les journaux, moins encore savent comment optimiser et utiliser les données obtenues à partir des journaux, et encore moins savent combien de temps ces journaux doivent être conservés. Il est important de comprendre à quelle fréquence votre entreprise accède à ces journaux et si votre stratégie de stockage actuelle correspond toujours aux besoins de l’entreprise.

En travaillant avec un client pour revoir notre stratégie de journalisation, nous avons découvert un schéma courant : les journaux étaient conservés plus longtemps que nécessaire, les coûts de stockage continuaient d’augmenter, et il n’existait pas de politique standardisée sur le cycle de vie dans tous les environnements.

Pour y remédier, nous avons développé une politique formelle de conservation des journaux soutenue par la gestion du cycle de vie Amazon S3 et Infrastructure as Code (IaC). Le résultat fut une approche plus cohérente de la gestion des journaux, une réduction des coûts de stockage et une stratégie de rétention mieux alignée sur les exigences opérationnelles et de conformité.

Commencez par le but, pas les classes de stockage

L’une des plus grandes erreurs commises par les organisations est de commencer par la technologie plutôt que par les exigences professionnelles.

De nombreuses politiques de rétention sont basées sur des scénarios « et si » :

Bien que ces questions soient raisonnables, elles conduisent souvent à la conservation indéfinie de tout.

Commencez plutôt par quelques questions simples :

Bien que cela varie selon l’entreprise, dans de nombreux cas, les équipes découvrent que les journaux plus âgés de quelques mois sont rarement consultés et apportent une valeur opérationnelle limitée. Ils sont là pour être rassurés, et avant même de vous en rendre compte, vous avez des téraoctets et des téraoctets de coûts indésirables qui créent de l’espace et du désordre

L’objectif final doit être de conserver les journaux suffisamment longtemps pour soutenir les enquêtes, le dépannage, la conformité et l’audit, tout en évitant des coûts de stockage inutiles.

Différents environnements ont des besoins différents

Tous les environnements ne nécessitent pas la même période de rétention.

Les journaux de production soutiennent souvent les audits, la réponse aux incidents et les enquêtes de sécurité. Les journaux de développement sont généralement utilisés pour le débogage à court terme et peuvent généralement être conservés pour des périodes beaucoup plus courtes.

Notre stratégie de rétention était construite autour des exigences spécifiques à l’environnement. Voici un exemple de ce à quoi cela peut ressembler.

Production

Rétention : 12 mois

Les journaux de production nécessitent la plus longue conservation car ils supportent :

Stratégie du cycle de vie :

QA

Rétention : 90 jours

Les journaux QA prennent principalement en charge :

Stratégie du cycle de vie :

Développement

Rétention : 30 jours

Les journaux de développement sont principalement utilisés pour :

Stratégie du cycle de vie :

En adaptant la rétention à chaque environnement, nous avons évité d’appliquer des exigences coûteuses de rétention au niveau de la production là où elles n’étaient pas nécessaires.

Choisir les bonnes classes de stockage S3

Amazon S3 propose plusieurs classes de stockage, chacune conçue pour différents modes d’accès.

La leçon clé est que la sélection des classes de stockage doit être guidée par l’utilisation réelle plutôt que par des hypothèses.

Quelques questions à considérer :

Pour notre cas d’utilisation :

S3 Standard

Utilisé pour les journaux de production nouvellement créés où l’accès immédiat est important.

S3 Standard-IA

Utilisé lorsque les journaux sont encore occasionnellement consultés, mais ne nécessitent plus l’urgence des normes.

Récupération flexible du glacier S3

Utilisé pour l’archivage à long terme où l’accès est rare, mais la récupération reste possible si nécessaire.

AWS fournit une ventilation complète des classes de stockage S3 disponibles et de leurs compromis, que vous pouvez consulter ici :
https://aws.amazon.com/s3/storage-classes/

L’infrastructure en tant que code facilite la gouvernance

Une politique de rétention n’a de valeur que si elle est appliquée de manière cohérente.

Plutôt que de configurer manuellement les règles du cycle de vie à travers les environnements, nous avons mis en œuvre nos politiques via Terraform.

Cela apportait plusieurs avantages :

Infrastructure as Code a transformé la gestion de la rétention d’un effort de configuration ponctuel en un processus opérationnel reproductible.

Protège-toi contre les erreurs

Les politiques de cycle de vie automatisent la suppression et les transitions de stockage. Cela les rend puissants, mais aussi potentiellement dangereux.

Avant d’activer les expirations et transitions automatisées :

Le versionnement offre une couche supplémentaire de protection contre les suppressions accidentelles ou les règles de cycle de vie mal configurées.

Test avant production

Nous avons établi un processus de validation simple avant le déploiement :

  1. Créez un seau de développement dédié.
  2. Archive Development Logs dans le bac.
  3. Appliquer les politiques proposées sur le cycle de vie.
  4. Validez les transitions de classes de stockage.
  5. Vérifiez le comportement d’expiration.
  6. Documentez les résultats.
  7. Obtenez l’approbation avant de passer à d’autres groupes de développement,
  8. Promouvoir vers des environnements supérieurs

Cette approche nous a permis d’identifier rapidement les problèmes de configuration tout en minimisant les risques.

La gouvernance est importante

La rétention des journaux ne devrait pas appartenir à un seul ingénieur.

Des politiques de rétention réussies nécessitent la collaboration entre :

Une propriété claire permet de garantir que les périodes de conservation restent alignées sur les exigences commerciales et réglementaires à mesure que les systèmes évoluent.

Dernières réflexions

La politique de conservation des journaux la plus efficace n’est pas nécessairement celle qui conserve les journaux le plus longtemps.

C’est celle qui équilibre :

Les organisations conservent souvent des données en raison de besoins futurs hypothétiques plutôt que de besoins réels de l’entreprise. En comprenant comment les journaux sont utilisés, en alignant les périodes de conservation avec les besoins spécifiques à l’environnement, en tirant parti des classes de stockage S3 appropriées et des transitions de stockage, et en mettant en œuvre des politiques via IaC, les équipes peuvent réduire significativement les coûts de stockage tout en maintenant la visibilité réellement nécessaire.

Surtout, rappelez-vous que chaque organisation est différente. La stratégie de cycle de vie décrite ici a bien fonctionné pour notre exemple, mais les périodes de rétention, les classes de stockage et les délais d’archivage doivent toujours être dictés par vos propres exigences opérationnelles et obligations de conformité.

Auteur

Chase Hollander
Développeur AEM chez Arbory Digital

Professionnel certifié Agile, développeur et consultant avec une expérience en AEM

Contactez Chase sur LinkedIn

Tu as aimé ce que tu as entendu ? Vous avez des questions sur ce qui vous convient ? Nous serions ravis de discuter ! Contactez-nous

Blogs

category
Blog
tags
observability,logs,savings,compliance,productivity,devops,terraform,policy
number of rows
1