vercel-billing-spike-bots.html
< BACK Comment les fermes de bots ont fait exploser ma facture Vercel, et la solution de pare-feu qui a pris 50 jours à trouver -- illustration en traits fins

Comment les fermes de bots ont gonflé ma facture Vercel, et le correctif de pare-feu qui a pris 50 jours à trouver

Si votre facture Vercel saute soudainement à 50, 100, voire 200 dollars par jour, la cause la plus probable est le trafic de bots qui martèle vos pages dynamiques, et le correctif le plus rapide est une règle de pare-feu Vercel qui bloque ou met au défi les régions et les user agents responsables. Je l'ai appris à mes dépens : il m'a fallu environ 50 jours et plusieurs milliers de dollars de factures gonflées pour trouver un correctif qui, une fois que j'ai su quoi chercher, a pris environ deux minutes à appliquer.

Point clé : les fermes de bots qui rampent sur les grands sites ou les sites programmatiques peuvent gonfler une facture Vercel rapidement via les invocations de fonctions, l'ISR, l'optimisation des images et le transfert de données. Une règle de pare-feu qui bloque ou met au défi les régions et les user agents offensants est généralement la solution. Définissez les alertes de dépenses et les règles de pare-feu avant de passer à l'échelle, pas après.Bot farms crawling large or programmatic sites can inflate a Vercel bill fast through function invocations, ISR, image optimization, and data transfer. A firewall rule that blocks or challenges the offending regions and user agents is usually the fix. Set spend alerts and firewall rules before you scale, not after.

C'est une histoire de guerre, pas un article critique. Je note toujours très bien l'expérience développeur de Vercel. Mais je veux que la prochaine personne qui voit un graphique de facturation grimper sans raison évidente trouve cette page et saute les 50 jours que j'ai passés.

Ce qui s'est réellement passé

Ma facture a commencé à grimper sans augmentation correspondante des vrais visiteurs. La plupart des jours, elle dépassait de 50 à 100 dollars la base, et les pires jours, elle atteignait environ 200 dollars. En moyenne sur la période de pointe, je brûlais environ 125 dollars par jour. Le site est grand et surtout programmatique, avec des centaines de milliers de pages, ce qui s'est avéré être exactement le profil que les crawlers automatisés adorent : une réserve quasi inépuisable d'URL uniques à cibler.

Où l'argent a réellement été dépensé

Vercel ne facture pas un seul grand chiffre de trafic. Il facture une pile de postes tarifés à l'usage, et les bots gonflent plusieurs d'entre eux à la fois : les invocations de fonctions, les lectures et écritures d'Incremental Static Regeneration, les requêtes edge, le transfert de données rapide, et les transformations d'optimisation d'images. L'optimisation d'images était particulièrement douloureuse, car chaque requête d'image unique qu'un bot déclenche peut compter comme une transformation. Multipliez cela par les crawlers qui frappent plus de 100 000 chemins et le compteur ne s'arrête tout simplement jamais.Incremental Static Regeneration reads and writes, edge requests, fast data transfer, and image optimization transforms. Image optimization was a painful one, because each unique image request a bot triggers can count as a transformation. Multiply that across crawlers hitting more than 100,000 paths and the meter simply never stops.

La leçon qui m'a coûté le plus cher : sur un grand site, le poste de facturation qui fait mal n'est presque jamais celui que tu surveilles. Je pensais à la bande passante. Les dégâts se trouvaient dans les invocations de fonctions et le travail d'image entraînés entièrement par du trafic qui ne convertirait jamais, ne cliquerait jamais, ni ne lirait quoi que ce soit.

Pourquoi cela a pris 50 jours

Bloquer les bots est facile. Prouver qu'ils en étaient la cause ne l'était pas. Le trafic était clairement non-humain, et une grande part provenait de fermes de bots routant par un petit nombre de régions, mais le tableau de bord d'utilisation de Vercel te montre ce qui est consommé sans toujours clarifier pourquoi. Corréler un poste de facturation spécifique à un pattern de bot spécifique a pris beaucoup plus de temps que prévu, et la plupart de ces 50 jours ont été consacrés à l'attribution, pas au correctif lui-même.

Le correctif de deux minutes

Une fois que j'ai compris le pattern, le correctif était une règle personnalisée Vercel Firewall : bloquer ou défier les requêtes des régions et user agents responsables, limiter le taux des chemins les plus agressifs, et empêcher les bots de déclencher du travail coûteux d'image et d'ISR. Écrire cette règle a pris environ deux minutes. Ma dépense quotidienne moyenne a chuté d'environ 125 dollars à environ 30 dollars. Trente dollars par jour, c'est encore plus que je ne le souhaite, et je l'affine davantage, mais c'est un univers différent d'où c'était parti.Vercel Firewall custom rule: block or challenge requests from the regions and user agents responsible, rate-limit the most aggressive paths, and stop bots from triggering expensive image and ISR work. Writing that rule took about two minutes. My average daily spend dropped from roughly $125 to about $30. Thirty dollars a day is still more than I want, and I am tuning it further, but it is a different universe from where it started.

Une parole juste sur le support Vercel

Je veux être mesuré ici, car je n'aime pas critiquer un produit que j'aime autrement. Mais le support sur le plan Pro était plus lent que je ne l'attendais pour un niveau payant. J'ai reçu une aide de la part de l'équipe, mais personne n'a diagnostiqué ni réparé ce qui s'avérait être un petit changement de configuration, et quelques réponses semblaient blessantes plutôt que curieuses. Quand un client perd visiblement de l'argent sur ta plateforme, le support devrait vouloir aller au fond du problème. C'est la partie que j'espère que Vercel améliorera, car le reste du produit mérite la loyauté qu'il demande.

Si tu scales sur Vercel, fais ceci en premier

Activez la gestion des dépenses et les alertes budgétaires avant de croître, pas après la première facture qui fait peur. Être informé à mesure que l'utilisation augmente vaut bien plus que de le découvrir en fin de mois. not after the first scary invoice. Being told as usage climbs is worth far more than discovering it at month end.

Ajoutez les règles du pare-feu Vercel dès le départ. Bloquez ou testez par pays, adresse IP, agent utilisateur et chemin, et limitez le débit des routes que les bots adorent. Robots.txt n'arrêtera pas les crawlers qui l'ignorent. Block or challenge by country, IP, user agent, and path, and rate-limit routes that bots love. Robots.txt will not stop crawlers that ignore it.

Identifiez les postes budgétaires qui évoluent avec le trafic. L'optimisation d'images, les invocations de fonctions, les lectures et écritures ISR, et le transfert de données rapide se déplacent tous avec le volume, et les bots les déplacent tous à la fois. Image optimization, function invocations, ISR reads and writes, and fast data transfer all move with volume, and bots move all of them at once.

Surveillez particulièrement l'optimisation d'images sur les sites lourds en images ou programmatiques. C'est le coût qui m'a le plus surpris. Envisagez de servir des images pré-optimisées depuis le stockage ou un CDN plutôt que de les transformer sur le chemin facturable. on image-heavy or programmatic sites. It is the cost that surprised me most. Consider serving pre-optimized images from storage or a CDN rather than transforming on the metered path.

Alors, Vercel vaut-il encore le coup ?

Oui, en ayant les yeux ouverts. Pour les petits et moyens projets, l'expérience développeur reste la meilleure du marché, et je continue à l'utiliser. Mais si vous gérez des dizaines de milliers de visites ou 100 000 pages ou plus, traitez la facturation comme une préoccupation d'ingénierie de premier plan dès le jour un. La plateforme vous permettra de dépenser beaucoup d'argent très rapidement si vous ne mettez pas vous-même des garde-fous en place.

FAQ

Pourquoi ma facture Vercel a-t-elle soudainement augmenté ?

La cause la plus courante est le trafic non humain, comme les bots, les scrapers ou les fermes de bots, qui crawlent vos pages dynamiques ou programmatiques et gonflent les postes factorables comme les invocations de fonctions, l'ISR, le transfert de données rapide et l'optimisation d'images. Une augmentation sans hausse correspondante des utilisateurs réels est l'indice révélateur.

Comment bloquer le trafic de bots sur Vercel ?

Utilisez le Vercel Firewall pour bloquer ou challenger les requêtes par pays, IP, user agent ou chemin, et ajoutez la limitation de débit sur les routes agressives. Pour une protection plus robuste, placez votre app derrière un WAF dédié. Robots.txt seul n'arrêtera pas les bots qui choisissent de l'ignorer.

Vercel arrête-t-il automatiquement les bots et les DDoS ?

Vercel inclut une atténuation de base des DDoS et certains contrôles de bots, mais il n'arrête pas automatiquement le crawling distribué qui gonfle discrètement vos factures. Vous devez généralement configurer vous-même les règles de firewall pour protéger vos dépenses.

Comment puis-je plafonner ou contrôler les dépenses sur Vercel ?

Activez la gestion des dépenses avec des alertes budgétaires pour être notifié à mesure que l'utilisation augmente, et consultez régulièrement le tableau de bord d'utilisation. Sur les plans supportés, cela peut prendre des mesures telles que mettre en pause un projet à un seuil donné, ce qui vaut mieux que de découvrir un pic après coup.spend management with budget alerts so you are notified as usage rises, and review the usage dashboard regularly. On supported plans it can take action such as pausing a project at a threshold, which beats finding a spike after the fact.

En lien : les alternatives à Vercel si la facture vous pousse à considérer d'autres hébergeurs, et les alternatives à Cloudflare pour la couche WAF et de gestion des bots.Vercel alternatives if the bill pushes you to weigh other hosts, and Cloudflare alternatives for the WAF and bot-management layer.

< BACK