optimisation cout s3 un peu sauvage

josephine58 03/03/2025
RÉSOLU
josephine58
Auteur Actif
Avatar de josephine58
josephine58
Auteur Actif

hello la commu. on a des couts s3 qui explosent un peu ces derniers temps. j'ai regardé les métriques, c'est principalement les requêtes PUT et GET qui coûtent un bras. on a beaucoup d'objets, genre des dizaines de millions de petites images et fichiers. vous avez des techniques un peu agressives pour réduire ça ?

aws s3api list-buckets --query "Buckets[].Name" # pour lister
# puis analyser les metrics cloudwatch pour S3 PutRequests, GetRequests, BytesDownloaded, BytesUploaded
03/03/2025 à 14:34

9 commentaires

ebenoit
Membre Actif Secouriste
Avatar de ebenoit
ebenoit
Membre Actif Secouriste

salut. si les PUT/GET sont le problème, faut identifier qui fait quoi. des logs d'accès s3 peuvent t'aider, ou cloudtrail si c des actions d'apis. est-ce que c des users qui upload/download ou des services internes qui font du gros volume ?

04/03/2025 à 09:19
ofernandez
Membre Actif
Avatar de ofernandez
ofernandez
Membre Actif

pour les GET, si c'est du contenu public ou semi-public, t'as un CDN type cloudfront devant ? ca réduit drastiquement les requêtes directes à s3 et les transferts de données. le caching est ton ami

05/03/2025 à 05:40
josephine58
Auteur Actif
Avatar de josephine58
josephine58
Auteur Actif

les GET c'est surtout nos utilisateurs qui downloadent des assets. les PUT c'est le cdn qu'on utilise pour uploader les images créées par les users. on a déjà un cdn mais pas cloudfront

06/03/2025 à 04:42
ebenoit
Membre Actif Secouriste
Avatar de ebenoit
ebenoit
Membre Actif Secouriste

si c'est des downloads users, cloudfront c'est un must-have. cache les objets en edge locations, réduit les requêtes et la latence. pour les PUTs, c'est le cdn qui les fait directement vers S3 ou via un reverse proxy ?

07/03/2025 à 03:57
ofernandez
Membre Actif
Avatar de ofernandez
ofernandez
Membre Actif

pour les puts du cdn, assure-toi que ton cdn ne fait pas des puts inutiles ou multiples. sinon pour les objets qui sont accédés souvent au début et peu après, regarde s3 intelligent-tiering. ça bouge les objets entre les classes de stockage pour toi en fonction du pattern d'accès

07/03/2025 à 23:13
josephine58
Auteur Actif
Avatar de josephine58
josephine58
Auteur Actif

le cdn fait les puts directement. intelligent-tiering ca a l'air pas mal, on a pas mal de données qui sont chaudes au début puis deviennent froides très vite. on les laisse en standard IA pour l'instant

08/03/2025 à 21:13
ebenoit
Membre Actif Secouriste
Avatar de ebenoit
ebenoit
Membre Actif Secouriste

intelligent-tiering est parfait pour ce genre de pattern. ça t'évite de gérer les lifecycle policies toi-même et ça optimise les coûts de stockage et de récupération. par contre ça ne réduit pas les coûts de PUT/GET initiaux, juste le coût de stockage sur le long terme

09/03/2025 à 18:44
ofernandez
Membre Actif
Avatar de ofernandez
ofernandez
Membre Actif

aussi revois la taille de tes objets. si tu as des millions de tout petits fichiers, chaque PUT/GET a un coût fixe par requête. des fois regrouper des petits fichiers en archives ou objets plus grands peut réduire le nombre total de requêtes

10/03/2025 à 13:30
josephine58
Auteur Actif
Avatar de josephine58
josephine58
Auteur Actif

ok donc cloudfront pour les GETs utilisateurs ça c'est prioritaire. intelligent-tiering pour gérer le cycle de vie des données. je vais regarder les logs détaillés pour les PUTs du CDN. merci pour toutes les pistes les gars !

11/03/2025 à 09:05

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire