Image de Molnia
Lorsqu'on gère des buckets Amazon S3, disposer de métriques de stockage précises est essentiel pour la maîtrise des coûts et la planification des capacités. Pourtant, des écarts dans les tailles de stockage remontées peuvent apparaître, semant la confusion et faussant l'estimation des coûts. Cet article revient sur un cas concret rencontré chez l'un de nos clients, où différents outils AWS affichaient des tailles radicalement différentes pour un même bucket S3, et propose une méthode pour calculer avec précision la consommation réelle.
L'un de nos clients a constaté un écart significatif en consultant les métriques de stockage d'un bucket spécifique :
- Métriques S3 et CloudWatch : plus de 220 To de stockage remontés
- AWS CLI et option Calculate total size de S3 : moins de 8 To affichés
Cet écart d'un facteur 27 a immédiatement soulevé des interrogations sur la fiabilité des données et leurs répercussions financières.
L'analyse a révélé les paramètres suivants pour le bucket :
- Classe de stockage : tous les objets étaient en S3 Standard
- Versioning : non activé sur le bucket
- Règle de cycle de vie : configurée pour supprimer les objets après 45 jours
À première vue, ces paramètres n'expliquaient pas un tel écart, ce qui nous a poussés à creuser davantage.
Pour confirmer la divergence, nous avons d'abord vérifié les métriques du bucket S3 et de CloudWatch :
- Console S3 : examen des métriques de stockage du bucket
- CloudWatch : analyse des métriques correspondantes
Les deux sources indiquaient de manière cohérente que le bucket stockait plus de 200 To de données.

Métriques du bucket S3

Métriques CloudWatch
Pour aller plus loin, nous avons utilisé deux méthodes supplémentaires pour mesurer le stockage du bucket :
- La fonction Calculate Total Size dans la console S3
- La commande AWS CLI permettant de lister le contenu du bucket
Calculate total size et la commande AWS CLI ont tous deux indiqué que le bucket contenait 7,5 To de données répartis sur plus de 6 millions d'objets.

Utilisation de Calculate total size sur le bucket S3.

Résultat de S3 Calculate Total
Commande AWS CLI pour calculer la taille du bucket :
aws s3 ls — summarize — human-readable — recursive s3://
Cette commande CLI liste tous les objets du bucket spécifié et fournit un récapitulatif de la taille totale.

Résultat AWS CLI
Le contraste saisissant entre les tailles remontées posait un véritable casse-tête : comment un même bucket pouvait-il afficher des volumes de données aussi radicalement différents ? Cet écart méritait d'être élucidé, car il pouvait peser lourdement sur la gestion des coûts et la planification du stockage. Pour percer le mystère, nous avons procédé ainsi :
- Activation de S3 Storage Lens : nous avons recommandé au client d'activer Amazon S3 Storage Lens, une puissante fonctionnalité d'analytique du stockage cloud. Cet outil offre une visibilité à l'échelle de l'organisation sur l'utilisation du stockage objet et les tendances d'activité.
- Attente de la collecte des données : à noter que S3 Storage Lens peut prendre jusqu'à 24 heures pour collecter et publier ses métriques.
- Analyse des résultats : une fois les données disponibles, nous avons examiné attentivement le dashboard S3 Storage Lens. Les enseignements qu'il a livrés se sont révélés précieux pour notre investigation.

S3 Storage Lens affichant la taille totale des Incomplete Multipart Uploads.
S3 Storage Lens a mis en évidence l'origine de l'écart : les S3 Incomplete Multipart Uploads.
Les S3 Incomplete Multipart Uploads sont des fragments d'objets dont l'envoi a été amorcé sans jamais être finalisé. Or, ces uploads incomplets occupent bel et bien de l'espace de stockage et génèrent des frais, alors même qu'ils n'apparaissent pas dans les listings standards du bucket.
La taille des Incomplete Multipart Uploads dépassait 200 To. L'écart entre les outils s'explique par le fait que l'opération Calculate total size de la console S3 et l'AWS CLI ne tiennent pas compte des Incomplete Multipart Uploads.
En identifiant ce problème, nous avons pu expliquer l'écart considérable entre les tailles remontées et tracer une voie pour optimiser l'utilisation du stockage S3 du client.
Pour aider le client à nettoyer le bucket, nous avons configuré la règle de cycle de vie S3 delete-incomplete-mpu-7-days afin de supprimer les Incomplete Multipart Uploads.

Règle de cycle de vie S3 pour supprimer les Incomplete Multipart Uploads
Après avoir laissé la règle delete-incomplete-mpu-7-days s'exécuter pendant quelques jours et le temps que les métriques CloudWatch se mettent à jour, nous avons revérifié les métriques du bucket. La règle avait bien fonctionné et supprimé l'ensemble des Incomplete Multipart Uploads. Nous avons ensuite contrôlé les métriques de stockage avec les mêmes outils : ils affichaient désormais des valeurs cohérentes pour le bucket.

Métriques du bucket S3 après application de la règle de cycle de vie

Métriques CloudWatch après application de la règle de cycle de vie
Utilisation de Calculate total size de S3 après application de la règle de cycle de vie delete-incomplete-mpu-7-days.

Utilisation de Calculate total size sur le bucket S3.

Calculate total size de S3 après application de la règle de cycle de vie

Script AWS CLI calculant la taille du bucket après application de la règle de cycle de vie S3
Cette étude de cas n'illustre qu'un exemple parmi tant d'autres des défis complexes que rencontrent les entreprises dans la gestion de leur environnement AWS. Forts de notre expertise des services AWS et de notre capacité à analyser et interpréter les métriques cloud, nous avons remonté à la cause racine de l'écart de stockage et apporté une solution efficace. Au-delà de la résolution immédiate, notre client a gagné une compréhension plus fine de l'utilisation et des coûts de son stockage S3.
Chez DoiT International, nous accompagnons les entreprises dans la maîtrise des subtilités du cloud, le diagnostic des incidents et l'optimisation de leur infrastructure AWS. Que vous soyez confronté à des écarts de métriques similaires ou à d'autres problématiques cloud, notre équipe d'experts est prête à intervenir. Ne laissez pas la complexité du cloud entraver vos opérations. Contactez DoiT dès aujourd'hui pour échanger sur la façon dont nous pouvons vous aider à maximiser l'efficacité et la rentabilité de votre environnement cloud, et à tirer le meilleur parti de votre investissement AWS.