← Tous les guidesDéveloppement web

S3 ou Spaces pour livrer des fichiers publics et maîtriser les coûts de sortie

Comparez DigitalOcean Spaces et Amazon S3 pour les images, téléchargements et médias publics, avec des modèles qui rendent le transfert sortant visible avant le lancement.

La réponse courte pour les fichiers publics

Pour un petit site qui sert des images, téléchargements ou médias publics, Spaces est plus simple à budgéter. Son abonnement Standard commence à 5 $ par mois et comprend 250 Gio de stockage ainsi que 1 024 Gio de transfert sortant sur les compartiments Spaces du compte. Savoir que le premier téraoctet est déjà compris retire une variable pénible au lancement.

Cela ne fait pas de Spaces le choix automatique. Amazon S3 convient mieux si le reste du système vit déjà dans AWS, si vous avez besoin de ses classes de stockage et de ses contrôles d'accès, ou si le débit de requêtes dépasse largement une charge d'actifs publics modeste. S3 peut coûter moins cher pour un compartiment presque vide qui sert rarement des fichiers, car il n'a pas de minimum mensuel.

Le piège consiste à voir ces services comme de simples disques durs. La livraison de fichiers publics comprend ce que vous gardez, le nombre de requêtes, et le volume reçu par les visiteurs. Un lancement populaire modifie surtout le dernier élément.

Un compartiment est un conteneur nommé pour des fichiers. Chaque fichier stocké est un objet. L'origine conserve l'objet original, tandis qu'un CDN garde des copies en cache près des visiteurs. Le trafic entrant va vers le stockage. Le trafic sortant en part, par exemple lorsqu'un visiteur télécharge une image.

Ce que compte cette comparaison

Les montants comparent Spaces Standard Storage à S3 Standard dans US East, Northern Virginia. S3 livre directement vers l'internet public. CloudFront, Transfer Acceleration, réplication, taxes, support, tarifs négociés et l'allocation AWS commune de transfert gratuit sont hors modèle. Il s'agit d'une comparaison de stockage direct, pas d'une affirmation qu'une pile AWS optimisée n'a pas sa place.

Une requête est une instruction envoyée au service. GET lit ou télécharge un objet. PUT écrit ou envoie un objet. DigitalOcean facture Spaces en Gio. AWS publie les exemples S3 Standard en Go décimaux. Un Gio vaut environ 1,074 Go. Le modèle emploie la conversion exacte, 1 Gio = 1,073741824 Go. Un Tio vaut 1 024 Gio.

La colonne S3 utilise 0,023 $ par Go-mois, 0,004 $ par 10 000 GET, 0,005 $ par 1 000 PUT, COPY, POST ou LIST, et 0,09 $ par Go de transfert direct public dans cette tranche.

Le modèle ne retire pas les premiers 100 Go de transfert internet AWS. Cette allocation est partagée entre les services et régions AWS et peut déjà être utilisée ailleurs dans le compte. La prévision suppose qu'il n'en reste aucun pour ce compartiment. C'est un choix prudent, pas l'affirmation qu'AWS ne propose aucune allocation.

Faites défiler horizontalement pour voir toutes les colonnes.

Barème utilisé, vérifié le 3 septembre 2026
FraisSpaces StandardS3 Standard direct
Prix mensuel initial5 $0 $ minimum
Stockage inclus250 GioAucun
Sortie publique incluse1 024 GioAucune allocation propre à la charge
Stockage après inclusion0,02 $ par Gio-mois0,023 $ par Go-mois
Sortie publique après inclusion0,01 $ par Gio0,09 $ par Go dans cette tranche
Requêtes dans le modèlePas de ligne de requêtes distincteFrais GET et PUT

Le trafic entrant n'est généralement pas la facture qui fait mal

Dans ce scénario, les envois internet vers les deux services sont normalement gratuits. C'est utile, mais ce n'est pas la même chose que la sortie publique. Un photographe peut envoyer un fichier de 4 Go une fois. Dix mille visiteurs peuvent chacun le télécharger. Le premier événement est entrant. Le second mérite une ligne dans la prévision.

Spaces indique que le trafic entrant ne compte jamais dans son allocation. Une nuance compte pour les utilisateurs DigitalOcean. Le trafic d'un Droplet vers Spaces ne consomme pas l'allocation Spaces, mais peut consommer le transfert sortant du Droplet. Un Droplet utilisant le résolveur VPC-local peut joindre Spaces par le réseau interne sur les chemins pris en charge. Vérifiez ce routage avant de qualifier un transfert applicatif de gratuit.

S3 a aussi des exceptions. L'entrée internet, S3 vers S3 dans la même région, et S3 vers un service AWS dans la même région sont gratuits. Les téléchargements directs de S3 vers internet appartiennent à une autre catégorie. Le modèle la rend visible parce qu'un site public ne peut pas l'ignorer.

  • Dites inclus, pas gratuit.
  • Dites gratuit sur le réseau interne seulement après avoir vérifié région et résolveur.
  • Prévoyez séparément les téléchargements publics, les envois et le trafic de déploiement.

Trois modèles de coût mensuel

Ce ne sont pas des devis. C'est une arithmétique aux hypothèses volontairement banales, que vous pouvez remplacer par vos chiffres. Spaces reste à 5 $ dans les deux premiers cas car stockage et transfert sortant restent inclus. La charge de téléchargement franchit les deux allocations, donc les dépassements deviennent visibles.

La ligne de requêtes S3 est petite ici. Un service de miniatures ou un frontend mal mis en cache peut la rendre significative. L'idée n'est pas que les requêtes S3 sont toujours chères. Elles sont simplement une variable de plus à mesurer.

Voici un calcul rapide. Pour la charge de téléchargements importants, Spaces commence à 5 $. Elle stocke 1 024 Gio, soit 774 Gio au-delà des 250 Gio inclus, ce qui ajoute 15,48 $. Elle livre 5 120 Gio, soit 4 096 Gio au-delà des 1 024 Gio inclus, ce qui ajoute 40,96 $. 5 $ + 15,48 $ + 40,96 $ = 61,44 $. Le tableau sépare les données pour refaire le calcul avec vos chiffres.

Faites défiler horizontalement pour voir toutes les colonnes.

Modèle au prix catalogue. La prévision S3 facture prudemment tout transfert internet public, car les 100 Go initiaux partagés par AWS peuvent déjà être utilisés ailleurs.
ChargeStockéLivraison publiqueRequêtesSpacesS3 direct
Petit site d'actifs100 Gio100 Gio100 k GET, 1 k PUT5,00 $12,18 $
Site établi250 Gio1 Tio2 m GET, 10 k PUT5,00 $105,98 $
Téléchargements importants1 Tio5 Tio10 m GET, 50 k PUT61,44 $524,32 $

Faites défiler horizontalement pour voir toutes les colonnes.

Calcul des totaux. Les montants S3 utilisent des Go décimaux convertis et facturent tout le transfert internet public dans cette prévision prudente.
ChargeCalcul SpacesCalcul S3 direct
Petit site d'actifsAbonnement de 5,00 $. Les 100 Gio stockés et 100 Gio livrés restent dans les inclusions.Stockage 2,47 $ + transfert 9,66 $ + GET 0,04 $ + PUT 0,01 $ = 12,18 $
Site établiAbonnement de 5,00 $. Les 250 Gio stockés et 1 Tio livrés restent dans les inclusions.Stockage 6,17 $ + transfert 98,96 $ + GET 0,80 $ + PUT 0,05 $ = 105,98 $
Téléchargements importants5,00 $ + dépassement stockage : 774 Gio x 0,02 $ = 15,48 $ + dépassement livraison : 4 096 Gio x 0,01 $ = 40,96 $. Total : 61,44 $.Stockage 25,29 $ + transfert 494,78 $ + GET 4,00 $ + PUT 0,25 $ = 524,32 $

Vérifier la première réponse

Résultat attendu
L'estimation nomme stockage, requêtes et sortie, et l'équipe peut expliquer quelle ligne évolue lorsque le trafic public augmente.
Arrêter si
Arrêtez si le calcul appelle gratuit un transfert inclus, suppose que les 100 Go AWS partagés appartiennent à cette charge, mélange CDN et origine ou omet les unités d'un fournisseur.
Étape suivante
Exécutez le test régional avec un objet de 100 Mio et remplacez les hypothèses après le premier mois complet de trafic mesuré.

La performance dépend du chemin, pas du logo

Pour un site courant qui sert des images ou téléchargements publics, commencez par des noms de fichiers versionnés et une longue durée de cache. Activez ensuite le CDN que vous comptez utiliser. Un visiteur peut alors recevoir une copie en cache près de lui au lieu de repartir à l'origine à chaque requête. Spaces inclut son CDN avec Standard Storage. La base S3 retenue ici est S3 direct, sans prétendre que CloudFront est déjà dans le même prix ou la même configuration.

Une image publique chargée depuis un cache proche du visiteur n'est pas la même requête qu'un objet privé récupéré à l'origine de l'autre côté d'un océan. Comparez le chemin de livraison que vous allez réellement publier avant de comparer la latence brute d'origine.

Spaces documente une limite de 800 opérations par seconde pour les nouveaux compartiments, recommande son CDN au-delà de 400 lectures par seconde et demande aux équipes qui attendent plus de 150 requêtes par seconde de se préparer avec le support. Il recommande aussi les envois multipart pour les gros fichiers et le backoff après une erreur 503 Slow Down.

AWS documente au moins 3 500 requêtes d'écriture et 5 500 GET ou HEAD par seconde et par préfixe partitionné dans S3, avec des préfixes parallèles pour augmenter l'échelle. S3 est donc un meilleur candidat pour les très hauts débits ou les systèmes AWS natifs. Cette marge est utile seulement si la charge l'exige.

Faites un petit test avant de dire que l'un est plus rapide

Ne publiez pas de vainqueur sur la base d'un ordinateur et d'un après-midi. Distance réseau, état du cache, taille de l'objet, réutilisation TLS et connexion du visiteur déplacent le résultat. Une origine rapide dans votre ville peut être le mauvais choix pour vos clients.

Vous pouvez commencer dans les outils de développement du navigateur. Placez le même fichier immuable de 100 Mio dans chaque stockage, ouvrez l'onglet Réseau, puis comparez une première requête aux suivantes. Pour Spaces, testez origine et CDN. Pour S3, testez l'endpoint régional direct retenu ici.

Si vous avez besoin d'un relevé technique, testez depuis les régions de vos utilisateurs et notez la recherche DNS, la connexion, TLS, le délai avant premier octet, la durée totale, les octets reçus et les en-têtes de cache. Séparez les premières requêtes des répétitions.

Conservez les résultats bruts avec date, région, commande, type d'endpoint et politique de cache. Si vous ajoutez CloudFront ou Transfer Acceleration, présentez-les comme un nouveau design avec son coût propre.

  1. Test technique facultatif : choisissez un objet immuable de 100 Mio et une politique de cache documentée.
  2. Testez le même objet depuis chaque région cible, une fois froid puis plusieurs fois chaud.
  3. Conservez timings et en-têtes, puis comparez des systèmes comparables avant de migrer.

Qui devrait choisir Spaces

Choisissez Spaces quand les images, téléchargements ou médias publics sont le travail et que vous souhaitez un modèle mensuel simple pendant les premiers 250 Gio stockés et 1 Tio livré. Il convient à un site produit, un petit SaaS qui sert des actifs visibles, des téléchargements de documentation, ou un projet déjà sur DigitalOcean. Les outils et SDK compatibles S3 rendent le changement moins spectaculaire que les noms de fournisseurs ne le laissent penser.

Ne le choisissez pas parce qu'un article appelle la sortie gratuite. Choisissez-le parce que le transfert inclus, le tarif de dépassement, le chemin CDN et les limites correspondent à votre prévision. Si vous devez livrer des fichiers privés signés, testez ce design précis. Les URL présignées ne profitent pas des avantages de cache CDN habituels de Spaces.

Qui devrait choisir S3

Choisissez S3 quand AWS est déjà le centre de gravité, quand ses classes de stockage, son modèle IAM, ses options de réplication, ses outils de conformité ou son comportement à très haut débit répondent à un besoin concret. Un compartiment qui stocke et sert peu peut coûter moins qu'un abonnement de 5 $. L'absence de minimum est un avantage réel pour un projet dormant.

Pour la livraison publique, ne comparez pas S3 direct et un CDN inclus comme s'ils étaient le même système. Si CloudFront est le design visé, chiffrez et testez S3 plus CloudFront. Si les envois lointains posent problème, évaluez Transfer Acceleration comme une option payante distincte. AWS offre davantage de chemins, mais demande aussi de les choisir et de les budgéter.

Transformer ce modèle en prévision utile

Commencez par les 30 derniers jours, pas par un espoir sur douze mois. Ajoutez la taille de chaque objet que vous garderez à la fin du mois. Récupérez ensuite les octets livrés aux visiteurs depuis l'hébergeur, le CDN, les statistiques ou les journaux de l'application. Sans produit actif, utilisez le poids estimé d'une page multiplié par un nombre prudent de téléchargements mensuels, puis écrivez cette hypothèse près du total.

Comptez aussi les requêtes, sans fabriquer une précision absente. Un site statique avec des caches longs peut faire beaucoup moins de GET d'origine que ses pages vues. Un endpoint qui redimensionne les images peut lire plusieurs objets pour une seule image visible. Mettez un volume de livraison bas, attendu et haut dans votre feuille. Cet écart est souvent plus utile qu'un total unique, car il montre si la sortie est un détail ou la première ligne à surveiller.

Enfin, choisissez qui reçoit l'alerte. Créez une alerte budget avant le lancement, vérifiez stockage et transfert séparément après la première semaine, puis notez si un cache miss, des bots ou une vraie audience expliquent un écart. Un choix de fournisseur se corrige plus facilement quand l'équipe sait ce qui a changé.

Le verdict pratique

Pour un projet de fichiers publics dont le trafic peut être une bonne surprise, Spaces est le choix plus serein. Le premier 1 Tio de transfert sortant est inclus dans l'abonnement de 5 $, son CDN fait partie de Standard Storage et le tarif de dépassement se met facilement dans une feuille de calcul. La bande passante coûte toujours de l'argent. La première phase de croissance est simplement plus facile à expliquer.

Choisissez S3 direct pour un petit compartiment silencieux, ou une conception AWS plus complète quand les besoins propres à AWS justifient les éléments supplémentaires. Choisissez Spaces quand le travail consiste à livrer des actifs publics ordinaires et que la prévisibilité des coûts compte plus que d'assembler toutes les fonctions possibles de stockage. Dans les deux cas, créez une alerte budget, suivez les métriques de livraison et refaites le calcul après le premier vrai mois.