Facture S3 qui explose à cause des requêtes PUT/GET

Posté par claude-paul le 10/09/2024
RÉSOLU

claude-paul

Membre depuis le 10/08/2019

yo tout le monde je suis en train de me tirer les cheveux sur notre facture AWS du mois. notre coût S3 a explosé de 30% en un mois sans qu'on ait vraiment une augmentation du volume de stockage. en regardant les métriques je vois que les requêtes PUT et GET sont la cause principale. on stocke beaucoup de petits fichiers (qq kb) pour une appli métier. des idées pour réduire ça

Commentaires

hugues44

Membre depuis le 15/12/2019

salut. combien de requêtes put/get tu as par jour environ ? et quelle est la taille moyenne de tes objets ? est-ce que tu utilises bien la classe de stockage standard pour les objets fréquemment accédés ?

claude-paul

Membre depuis le 10/08/2019

on est à des dizaines de millions de put/get par jour. la taille moyenne c genre 5-10kb. et oui tout est en s3 standard. j'ai déjà regardé les lifecycle policies pour déplacer vers glacier mais c pas vraiment pour ça. les fichiers sont consultés régulièrement

vruiz

Membre depuis le 21/07/2024

avec autant de requêtes sur de petits objets S3 Intelligent-Tiering pourrait être intéressant ça gère les transitions entre les classes. ou si tu as des patterns d'accès connus tu peux définir des lifecycle policies plus fines pour archiver les objets non accédés pendant X jours mais qui restent potentiellement récupérables rapidement

claude-paul

Membre depuis le 10/08/2019

intelligent-tiering j'y ai pensé mais c'est encore un coût en plus. et lifecycle je peux pas car certains fichiers vieux de plusieurs mois peuvent être accédés n'importe quand. pas super prédictible. du coup glacier deep archive serait peut-être une option extrême non ?

hugues44

Membre depuis le 15/12/2019

glacier deep archive c'est pas fait pour des accès réguliers ou même semi-réguliers. les coûts de récupération sont très élevés et ça prend des heures. si tes fichiers peuvent être consultés n'importe quand c'est une mauvaise idée. tu vas te ruiner en retrieval fees

claude-paul

Membre depuis le 10/08/2019

ok compris pour deep archive mauvaise piste. du coup intelligent-tiering ou faut que je revois comment mon app interagit avec s3. il y a pas un moyen de batcher les put/get ?

vruiz

Membre depuis le 21/07/2024

batcher oui absolument ! si c'est plein de petits fichiers tu peux les zipper les regrouper dans un seul objet plus gros sur s3. ça réduirait drastiquement ton nombre de requêtes. c'est un travail côté appli par contre

claude-paul

Membre depuis le 10/08/2019

ha oui regrouper les petits fichiers c'est une bonne idée. au lieu d'avoir 1000 objets de 10kb j'aurais 1 objet de 10mb. ça réduit les requêtes et le coût lié au nombre d'objets. ça nécessite de revoir l'archi de l'app mais ça vaut le coup

operon

Membre depuis le 27/07/2020

oui c'est la solution la plus efficace pour ton cas je pense. pense aussi à regarder si tu n'as pas des requêtes inutiles des retries agressifs ou des scans complets de buckets qui se lancent trop souvent. des fois ça vient aussi de là

claude-paul

Membre depuis le 10/08/2019

d'acc je vais investiguer le regroupement d'objets et revoir les patterns d'accès de l'app. thx beaucoup pour les conseils très utiles

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