Cloudflare R2 ou AWS S3 : l’egress gratuit ne garantit pas la vitesse

|Auteur: Équipe éditoriale de QUASA|7 min de lecture| 2
Cloudflare R2 ou AWS S3 : l’egress gratuit ne garantit pas la vitesse

Cloudflare R2 peut coûter beaucoup moins cher qu’Amazon S3 lorsque des fichiers sont livrés directement et en grand volume sur Internet : les tarifs de R2 fixent le stockage Standard à 0,015 dollar par Go-mois, facturent les opérations et ne prélèvent pas de frais de transfert sortant direct. Le gain dépend donc aussi du nombre de lectures et d’écritures. Il ne permet pas de déduire la vitesse à laquelle un utilisateur recevra ses fichiers.

Pour une application hébergée sur AWS, le trajet des données change la comparaison : les règles tarifaires de S3 exonèrent notamment le transfert vers un service AWS de la même région et les premiers 100 Go mensuels sortant vers Internet, partagés entre services et régions éligibles. Dans les mesures européennes d’AIMultiple, l’envoi d’un fichier de 1 Go atteint 77,92 Mo/s sur S3 contre 25,61 Mo/s sur R2. Le choix dépend à la fois de la facture complète et du parcours réel des requêtes.

Le prix du Go ne suffit pas à calculer la facture

R2 Standard distingue les opérations de classe A, comme les écritures, de celles de classe B, comme les lectures. Ses tarifs sont respectivement de 4,50 et 0,36 dollars par million ; l’allocation mensuelle comprend 10 Go-mois de stockage, un million d’opérations A et dix millions d’opérations B. Cloudflare arrondit l’usage facturable à l’unité supérieure : une faible quantité d’opérations hors allocation peut ainsi occuper une unité entière de facturation.

La classe R2 Infrequent Access abaisse le stockage à 0,01 dollar par Go-mois, mais ajoute 0,01 dollar par Go récupéré. Ses opérations A et B coûtent respectivement 9 et 0,90 dollars par million, sans l’allocation gratuite réservée à la classe Standard. Une sauvegarde rarement lue peut profiter du stockage moins cher ; une archive restaurée souvent paie aussi pour les octets récupérés.

Pour S3 Standard à Francfort, les tarifs retenus dans le comparatif européen sont de 0,0245 dollar par Go-mois, 5,40 dollars par million d’écritures, 0,43 dollar par million de lectures et 0,09 dollar par Go de sortie Internet dans la tranche considérée. Ce dernier poste n’entre pas dans un transfert de S3 vers un service AWS de la même région. Il devient déterminant lorsque l’origine S3 sert directement un public qui télécharge beaucoup de données.

Ce que montrent les mesures depuis l’Europe

Dans le même essai, S3 atteint 26,52 Mo/s contre 4,36 Mo/s pour R2 à l’envoi d’un fichier de 1 Mo, puis 65,77 contre 17,73 Mo/s pour 10 Mo. La latence d’envoi relevée est de 28,45 ms sur S3 et de 171,58 ms sur R2. L’écart concerne donc aussi les petites écritures, pour lesquelles le délai propre à chaque requête pèse davantage que le débit d’un gros transfert.

Le téléchargement d’un fichier de 1 Go atteint 94,3 Mo/s sur S3 et 63,63 Mo/s sur R2 dans ce test. Les conditions comptent : les essais partent d’Europe, utilisent un bucket S3 situé à Francfort et interrogent R2 par son API compatible S3, avec routage automatique. Ces chiffres décrivent ce parcours précis ; un objet servi depuis un cache, un autre lieu d’exécution ou une concurrence différente peut produire d’autres temps de réponse.

Pour des millions de petits objets, additionner les délais de requête peut compter davantage que comparer le débit d’un fichier de 1 Go. À l’inverse, la vitesse mesurée à l’origine ne décrit pas à elle seule la livraison d’un fichier public mis en cache. La facture et la performance doivent être comparées sur le même chemin : application vers stockage pour les écritures, puis stockage ou cache vers destinataire pour les lectures.

Trois scénarios mensuels sur un périmètre commun

Les montants suivants sont des simulations en dollars, avec des Go décimaux et un volume stocké constant pendant le mois. Ils comptent les requêtes indiquées et les transferts directs, sans taxes, crédits de lancement, calcul applicatif ni service de distribution supplémentaire. Les tarifs S3 Standard sont ceux de Francfort ; une autre région ou une autre architecture imposerait de refaire les opérations.

Sauvegarde froide, rarement restaurée

Supposons 2 000 Go conservés au-delà de la durée minimale, aucune nouvelle écriture pendant le mois et 20 lectures récupérant ensemble 20 Go. Sur R2 Infrequent Access, le stockage coûte 20 dollars et la récupération 0,20 dollar. Les 20 lectures, privées d’allocation gratuite et arrondies à un million d’opérations B facturables, ajoutent 0,90 dollar : 21,10 dollars au total.

Pour S3 Standard-IA à Francfort, les tarifs relevés via l’API de prix AWS donnent 0,0135 dollar par Go-mois, 0,01 dollar par Go récupéré et 0,01 dollar pour 10 000 lectures. La simulation revient à environ 27,20 dollars, frais de lecture presque négligeables compris, si la restauration va vers un service AWS de la même région. Les objets supposés dépassent la taille minimale facturable de cette classe ; des suppressions précoces ou de nombreuses restaurations modifieraient le résultat.

Fichiers publics très téléchargés

Supposons 1 000 Go en classe Standard, 100 000 écritures, 20 millions de lectures et 10 000 Go livrés directement sur Internet. R2 facture 990 Go-mois après son allocation gratuite, soit 14,85 dollars. Les écritures restent dans l’allocation ; dix millions de lectures facturables ajoutent 3,60 dollars. Le total estimé est de 18,45 dollars.

Sur S3 Standard à Francfort, le stockage coûte 24,50 dollars, les écritures 0,54 dollar et les lectures 8,60 dollars. Si l’allocation AWS de 100 Go de sortie Internet est encore disponible, les 9 900 Go restants ajoutent 891 dollars : environ 924,64 dollars au total. Si cette allocation partagée a déjà été consommée, le montant augmente de 9 dollars. Un CDN changerait les requêtes reçues par l’origine et ajouterait ses propres conditions tarifaires.

Nombreuses petites requêtes, sans sortie Internet

Supposons 100 Go stockés, 20 millions d’écritures liées au remplacement d’objets, 20 millions de lectures et aucune sortie vers Internet. R2 Standard revient à 1,35 dollar de stockage, 85,50 dollars d’écritures après allocation et 3,60 dollars de lectures, soit 90,45 dollars. S3 Standard à Francfort atteint 2,45 dollars de stockage, 108 dollars d’écritures et 8,60 dollars de lectures, soit 119,05 dollars.

R2 demeure moins cher dans cette hypothèse, mais les écritures constituent désormais l’essentiel de sa facture. Si l’application attend la fin de chaque opération avant de poursuivre, le délai par requête peut compter autant que l’écart mensuel de prix. La mesure pertinente porte alors sur les objets, les lieux d’exécution et la concurrence de l’application envisagée.

La compatibilité S3 change aussi le choix

R2 implémente une partie de l’API S3, ce qui permet de réutiliser de nombreux outils et bibliothèques. La matrice de compatibilité de Cloudflare distingue toutefois les fonctions prises en charge de celles qui ne le sont pas : la configuration Object Lock des buckets et plusieurs paramètres associés aux objets y figurent comme non implémentés. Un usage qui dépend de cette conservation doit intégrer cette différence avant toute comparaison de prix.

Le critère décisif varie donc avec le parcours des données. Une distribution directe et volumineuse favorise le tarif de sortie de R2 ; des lectures effectuées par une application AWS dans la même région évitent le poste de transfert S3 qui creuse cet écart. Pour une charge riche en petites écritures, la facture simulée favorise encore R2, tandis que les mesures européennes donnent un avantage de latence à la configuration S3 testée.

À lire aussi :

Partager:

Abonnez-vous à notre newsletter

Recevez directement les dernières actualités sur le Web3, l’IA et les cryptomonnaies.

0