Membre depuis le 28/04/2024
hello
première chose à vérifier c'est les logs d'accès S3 de ton bucket
active-les si c'est pas déjà fait ça va te donner une idée de qui fait quoi et combien de requêtes
ça peut être une mauvaise conf de ton appli qui fait des boucles de requêtes
Membre depuis le 15/05/2024
ou un truc plus sournois genre des buckets publics qui sont scannés par des bots
vérifie les permissions de ton bucket S3 est-ce qu'il est pas accidentellement public ou est-ce qu'il y a pas une policy un peu trop ouverte
Membre depuis le 28/04/2024
j'ai activé les logs d'accès S3 ça remplit un autre bucket
le bucket n'est pas public j'ai re-vérifié les policies et les ACL tout est privé
mais les logs ça va prendre du temps à analyser
Membre depuis le 05/03/2019
pendant que les logs se remplissent
check CloudWatch pour tes métriques S3 (NumberOfRequests par type)
tu devrais voir un pic flagrant qui correspond à l'augmentation de coût
regarde aussi les User-Agents si tu peux via Athena sur les logs S3
ça aide à identifier la source des requêtes
Membre depuis le 27/08/2024
et ton cloudfront
t'as pas une config où le caching est désactivé ou très court sur certaines routes
si CloudFront requeste S3 à chaque fois au lieu de servir du cache ça explose les coûts S3
surtout pour les get
Membre depuis le 28/04/2024
ah ouais le CloudFront
on a mis une politique de cache par défaut de 1h mais y a une route spécifique pour des assets temporaires avec un cache de 1s
mais c'est pas censé être utilisé beaucoup
j'ai regardé les métriques CloudWatch
le pic est énorme sur les GET requests S3 mais pas sur les PUT
et aussi les LIST requests qui sont anormalement hautes
Membre depuis le 28/04/2024
LIST requests ça sent une appli qui browse le contenu du bucket sans arrêt
ou un monitoring trop agressif qui fait des listes complètes
pour les GET avec CloudFront en 1s de cache c'est une piste sérieuse
si cette route "assets temporaires" est plus sollicitée que prévu ça peut expliquer les get
Membre depuis le 15/05/2024
il y a des services genre Lambda qui pourraient être la cause
une fonction Lambda qui liste des objets dans le bucket en boucle à cause d'une erreur ou d'un trigger mal configuré
vérifie aussi les logs CloudTrail pour voir les appels d'API S3
Membre depuis le 28/04/2024
ok je creuse CloudTrail et les logs S3 en détail
j'ai filtré les logs CloudTrail pour S3 et là je vois des dizaines de milliers d'appels ListObjectsV2 venant d'un rôle IAM lié à une Lambda
et c'est une lambda que notre dev stagiaire a mise en prod pour faire du nettoyage
elle devait juste lister les objets de plus de 30 jours mais elle listait tout le temps tous les objets sans filtre
Membre depuis le 05/03/2019
classic
une petite erreur de logique qui coûte un bras
bon au moins t'as trouvé la source des LIST
pour les GET c'est sûrement le CloudFront alors
tu devrais augmenter le cache sur cette route même pour les assets temporaires ou trouver une autre solution si ça doit être "temps réel"
Membre depuis le 28/04/2024
c'était bien la lambda pour les LISTs
et pour les GETs le CloudFront est configuré pour ne pas cacher du tout les réponses 4xx et 5xx
on a eu un bug sur l'appli qui faisait que beaucoup de requêtes renvoyaient des 404 sur les images
du coup CloudFront redemandait à S3 à chaque fois
deux problèmes à la con qui ont fait exploser la facture
merci à tous pour les pistes vous êtes des légendes
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
auguste-hebert
Membre depuis le 28/04/2024
HELP
notre facture aws pour s3 est passée de quelques centaines de dollars à plus de 5000 dollars ce mois-ci
c'est la folie
on a une appli qui stocke des images et des vidéos dans un bucket S3 et on utilise un CloudFront devant
quand je regarde Cost Explorer ça me dit que 90% de l'augmentation vient des "S3 Requests - PUT, COPY, POST, LIST" et "S3 Requests - GET, SELECT"
je comprends pas on a pas eu de pic de trafic ou de uploads massifs ces derniers jours
quelqu'un a déjà eu ce genre de blague