9 commentaires
hello. première chose à checker est-ce que t'as des buckets S3 publics par erreur ? un s3 cp mal targeté vers un bucket public peut vider ton compte. ou un crawler web qui tape dessus directement.
regarde aussi les métriques S3 dans CloudWatch genre BytesDownloaded et NumberOfRequests. tu peux filtrer par bucket et voir lequel consomme le plus. et t'as des politiques de cycle de vie sur tes buckets ? si des objets sont expirés ou déplacés vers glacier ça coûte en GET avant le transfert.
non pas de buckets publics tout est en private avec des bucket policies strictes ou via cloudfront. on utilise cloudfront pour la distribution des assets publics. pour les archives oui on a des lifecycles pour glacier mais les coûts ont pas changé sur cette partie c'est vraiment le s3 standard.
ok si c'est CloudFront qui est devant, le trafic "outbound" de S3 peut venir des cache misses de CloudFront. chaque fois que CloudFront doit aller chercher l'objet en S3 ça compte comme un transfert S3 -> CloudFront. si ton cache hit ratio a chuté ça pourrait expliquer.
et les logs ? as-tu activé les S3 access logs sur tes buckets ? et les CloudFront access logs ? sans logs tu vas galérer à comprendre qui télécharge quoi et d'où. c'est la première étape pour une investigation sérieuse.
j'ai activé les logs S3 et CloudFront. et là je vois un truc bizarre sur un de nos buckets qui sert pour des backups internes. on a un service qui fait des GET massifs sur un préfixe spécifique du bucket. des téraoctets par jour ! mais ce service est censé utiliser un s3 vpc endpoint pour rester interne.
ah ça c'est une piste solide. si ton service n'utilise pas le vpc endpoint et va sur l'endpoint public de S3 ça compte comme du traffic internet et ça coûte cher. vérifie la config réseau du service et les résolutions dns.
exact. souvent c'est un truc bête une mauvaise variable d'environnement ou une config dns qui envoie le trafic vers l'endpoint public au lieu du gateway endpoint s3. ou ptete ton instance est dans un subnet sans route vers le vpc endpoint. tu peux faire un s3api head-object depuis l'instance pour voir quelle ip elle utilise.
bingo ! c'était une faute de config dans notre code. le service a une option --s3-endpoint qui n'était pas configurée. il tapait l'endpoint public. après correction le trafic est revenu dans le VPC. je vois déjà la chute des coûts. merci beaucoup à tous pour l'aide c'était super rapide et efficace !
Laisser une réponse
Vous devez être connecté pour poster un message !
Salut la team finops notre facture AWS vient de tomber et surprise l'objet S3 et les transferts de données ont explosé. on est passé de qques centaines à plusieurs milliers d'euros juste pour ça. on a des buckets qui sont le backend de CloudFront et des buckets pour de l'archive interne. on comprend pas ce qui s'est passé. des pistes pour investiguer ça ?