Coût S3 inattendu après une réplication cross-region FinOps

Posté par maggie18 le 29/11/2024
RÉSOLU

maggie18

Membre depuis le 10/06/2020

salut la team finops

on a mis en place de la réplication cross-region sur s3 (CRR) pour un bucket de logs et on s'est pris une belle facture aws le mois dernier. j'avais anticipé les coûts de stockage pour le bucket destination mais les coûts de transfert sont juste délirants. on transfère quelques To par mois mais la facture fait x3 ou x4. on utilise une règle

replica_all
. j'ai loupé un truc ou c'est juste un coup de massue habituel ?

Commentaires

audrey-renard

Membre depuis le 27/02/2019

yo

classique le CRR sur s3 coûte cher. t'as les coûts de transfert de données OUT de la région source VERS la région de destination. ça c'est le gros du morceau. après t'as le coût de la requête PUT dans la région de destination (pour chaque objet répliqué) et le coût de stockage dans la destination

desousa-nathalie

Membre depuis le 05/07/2019

ouais et attention si ton bucket source a du versioning activé et que tu répliques toutes les versions ça peut vite monter. chaque version c un objet en plus à transférer et à stocker

maggie18

Membre depuis le 10/06/2020

oui le versioning est actif. mais le volume total des logs répliqués c'est 2To par mois pas 10To. le delta de coût est juste incompréhensible avec ces 2To

laurent90

Membre depuis le 12/09/2019

t'as pas une règle de cycle de vie sur ton bucket source qui supprime des objets après un certain temps ? si un objet est supprimé sur la source il est aussi supprimé (ou un marqueur de suppression est créé) sur la destination. ça peut générer du trafic si tu répliques aussi les suppressions

audrey-renard

Membre depuis le 27/02/2019

et t'es sûr que c'est bien la réplication qui est la cause ? vérifie tes logs cloudtrail ou les métriques s3 sur les requêtes cross-region. des fois y'a des applis qui font des GET ou des PUT cross-region directement sans passer par la CRR

desousa-nathalie

Membre depuis le 05/07/2019

autre point si tes logs sont des petits objets tu payes par requête. donc si tu as 1 million de petits logs de 1KB chacun ça fait 1 million de requêtes PUT en plus dans la destination ce qui a un coût. le transfert est par Go mais les requêtes c'est à part

christine44

Membre depuis le 08/04/2019

et regarde la classe de stockage de ton bucket destination. si tu répliques vers standard et que tu pourrais utiliser du ia ou du glacier ça change la donne sur le stockage mais pas sur le transfert initial

maggie18

Membre depuis le 10/06/2020

bon j'ai creusé avec les métriques cloudwatch et cloudtrail. en fait on avait une appli qui écrivait directement dans le bucket source mais qui ensuite faisait des requêtes get et put vers la région de destination manuellement pour certains fichiers de conf. donc ça doublait les transferts. plus la réplication elle-même et le versioning.

laurent90

Membre depuis le 12/09/2019

ah le piège classique. les gens pensent CRR et oublient qu'une appli peut aussi faire du cross-region sans passer par la règle de réplication. bien vu de checker les logs cloudtrail

maggie18

Membre depuis le 10/06/2020

exactement. j'ai corrigé l'appli pour qu'elle écrive juste dans la source et laisse la CRR faire son taf. et j'ai affiné la règle de réplication pour exclure certains types de fichiers temporaires qu'on n'a pas besoin de répliquer. la facture devrait baisser pas mal le mois prochain. thx les gars

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