SELECTSELECT

SELECT

Tarifs de transfert Snowflake et Egress Cost Optimizer

By Jeff SkoldbergOct 21, 20256 min read

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

Le modèle tarifaire de Snowflake repose sur la consommation et se décompose en 3 grandes catégories : stockage, compute et services cloud. Et les frais de transfert de données dans tout ça ? Ils relèvent du Serverless, un sous-ensemble des services cloud. Entrons dans le détail.

Ingress et egress : qu'est-ce qui est facturé ?

L'ingress, autrement dit le chargement de données dans Snowflake, est toujours gratuit. Vous payez bien sûr le compute et le stockage consommés, mais aucun frais de transfert ne s'applique pour charger des données dans Snowflake, y compris entre régions. Seule réserve : votre fournisseur cloud peut, lui, facturer le déplacement de données entre régions, mais Snowflake ne facture jamais l'ingress.

L'egress, en revanche, est bel et bien facturé. Snowflake applique des frais à l'octet dès lors que vous transférez des données depuis un compte Snowflake vers une autre région de la même plateforme cloud ou vers une plateforme cloud différente. Les transferts au sein d'une même région restent gratuits. Le guide tarifaire Snowflake détaille les prix exacts. Voici une capture tronquée pour vous donner une idée :

Quelles opérations déclenchent des frais de transfert ?

Les frais de transfert s'appliquent lorsque vous déplacez des données depuis votre compte Snowflake vers une autre région ou plateforme cloud. Voici les opérations concernées :

Déchargement de données : la commande COPY INTO <location>, utilisée pour décharger des données de Snowflake vers un stockage cloud externe (Amazon S3, Google Cloud Storage ou Microsoft Azure) situé dans une autre région ou plateforme cloud, entraîne des frais de transfert.

Réplication de bases de données : répliquer des bases entre régions ou plateformes cloud à des fins de reprise après sinistre ou de partage de données génère des coûts de transfert. La réplication initiale comme les synchronisations ultérieures transfèrent des données entre régions.

Auto-Fulfillment cross-cloud : recourir à l'auto-fulfillment pour partager des listings de données avec des consommateurs situés dans d'autres régions cloud via le Snowflake Marketplace engendre des frais de transfert.

Fonctions externes : l'appel de fonctions externes qui transfèrent des données depuis votre compte Snowflake vers AWS, Microsoft Azure ou Google Cloud génère des frais d'egress.

Écritures Iceberg cross-région : lorsque Snowflake sert de catalogue pour des tables Iceberg, l'écriture de nouvelles données entraîne des frais de transfert si l'emplacement de stockage se trouve dans une autre région ou chez un autre fournisseur cloud.

Exception notable : la récupération des résultats de requêtes via les clients ou drivers Snowflake n'entraîne AUCUN frais d'egress, même lorsque les résultats sont récupérés entre régions ou plateformes cloud différentes. C'est un levier d'économies majeur pour les requêtes standard.

Combien coûte le transfert de données ?

Les tarifs de transfert varient sensiblement selon le fournisseur cloud et la région de votre compte Snowflake. Le détail complet figure dans la Credit Consumption Table, mais voici les grandes lignes :

Transferts dans la même région : gratuits

Cross-région (même cloud) : de 20 $ par To dans les régions américaines jusqu'à 140 $ par To dans certaines régions Asie-Pacifique.

Cross-cloud ou Internet : entre 90 $ et 155 $ par To selon la source et la destination.

Par exemple, un transfert depuis AWS US East (Northern Virginia) vers Internet coûte environ 90 $ par To, tandis que la même opération depuis Google Cloud (US East 4) peut aller de 120 $ à 190 $ par To.

Egress Cost Optimizer : un vrai tournant pour le partage de données

En avril 2025, Snowflake a lancé l'Egress Cost Optimizer (ECO), qui réduit drastiquement les coûts de transfert pour les fournisseurs qui partagent des données entre plusieurs régions.

ECO s'appuie sur un algorithme intelligent qui met en cache les données dans un stockage géré par Snowflake après le premier egress : vous pouvez ensuite répliquer vers d'autres régions sans frais d'egress supplémentaires. À la clé, jusqu'à 96 % d'économies par rapport à une réplication cross-région classique.

Comment utiliser ECO :

ECO doit d'abord être autorisé au niveau de l'organisation par un utilisateur ORGADMIN via le Provider Studio. Une fois autorisé, il est activé automatiquement pour tous les comptes de l'organisation (chaque compte pouvant toutefois se désactiver dans les paramètres). Après activation, ECO s'appuie sur un routage intelligent pour déterminer automatiquement quand le cache sera réellement rentable. Il ne sollicitera pas le cache, par exemple, si vous ne répliquez que vers une ou deux régions chez le même fournisseur cloud : vos coûts sont déjà optimisés.

Structure tarifaire :

  • Disponible uniquement pour l'Auto-Fulfillment cross-cloud (pas pour la réplication manuelle)
  • 16,896 $ par To-mois pour les données en cache
  • Facturé uniquement les jours où le cache est effectivement utilisé
  • Aucun frais si ECO juge que le cache ne génère pas d'économies

À ne pas négliger côté fournisseur cloud

Un point souvent oublié : si Snowflake ne facture pas l'ingress, votre fournisseur de stockage cloud source peut, lui, appliquer des frais d'egress pour le transfert de données vers Snowflake. Pensez à vérifier auprès de votre fournisseur cloud (Amazon S3, Google Cloud Storage ou Microsoft Azure) les frais d'egress applicables lorsque vous chargez des données dans votre compte Snowflake.

Suivre et optimiser les coûts de transfert

Pour garder un œil sur vos dépenses de transfert, Snowflake met plusieurs outils à disposition :

Dashboard Snowsight

Dans Snowsight, vous visualisez en un coup d'œil les volumes et coûts de transfert sur la plage de dates de votre choix. Rendez-vous dans Admin → Cost Management → Consumption, puis filtrez sur Usage Type = Data Transfer.

Interroger l'historique des transferts au niveau du compte

Utilisez la vue DATA_TRANSFER_HISTORY du schéma ACCOUNT_USAGE pour interroger en détail les transferts de votre compte sur les 365 derniers jours :

-- View data transfer history for the last 30 days
SELECT
    DATE_TRUNC('day', START_TIME) AS transfer_date,
    SOURCE_CLOUD,
    SOURCE_REGION,
    TARGET_CLOUD,
    TARGET_REGION,
    TRANSFER_TYPE,
    SUM(BYTES_TRANSFERRED) / POWER(1024, 4) AS tb_transferred
FROM SNOWFLAKE.ACCOUNT_USAGE.DATA_TRANSFER_HISTORY
WHERE START_TIME >= DATEADD(day, -30, CURRENT_TIMESTAMP())
GROUP BY 1, 2, 3, 4, 5, 6
ORDER BY transfer_date DESC, tb_transferred DESC;

Interroger les coûts de transfert au niveau de l'organisation

Utilisez la vue DATA_TRANSFER_DAILY_HISTORY du schéma ORGANIZATION_USAGE pour une visibilité à l'échelle de l'organisation :

SELECT
    USAGE_DATE,
    ACCOUNT_NAME,
    SERVICE_TYPE,
    REGION,
    TB_TRANSFERED,
    ACCOUNT_LOCATOR
FROM SNOWFLAKE.ORGANIZATION_USAGE.DATA_TRANSFER_DAILY_HISTORY
WHERE USAGE_DATE >= DATEADD(day, -30, CURRENT_DATE())
ORDER BY USAGE_DATE DESC, TB_TRANSFERED DESC;

Bonnes pratiques

  1. Privilégiez les transferts au sein d'une même région dès que possible pour éviter tout frais de transfert.
  2. Préférez le data sharing à la réplication pour éviter les coûts de transfert : la fonctionnalité native de data sharing de Snowflake permet de partager des données avec d'autres comptes Snowflake sans copie physique. Le consommateur interroge directement les données dans le stockage du fournisseur (aucun déplacement) : aucun frais de transfert, même pour un partage entre régions. La réplication, à l'inverse, crée une copie complète de la base et génère des frais dès qu'elle franchit les frontières régionales.
  3. Activez l'Egress Cost Optimizer si vous répliquez vos données vers plusieurs régions : jusqu'à 90 % d'économies à la clé.
  4. Planifiez soigneusement les déchargements volumineux et demandez-vous si toutes les données doivent réellement être déplacées.
  5. Surveillez régulièrement vos flux de transfert à l'aide des outils de suivi des coûts de Snowflake.
  6. Compressez les données avant déchargement pour réduire le volume transféré.

Idées reçues sur le transfert de données

J'ai échangé avec plusieurs personnes persuadées que l'affichage de données dans un outil de BI ou une application Python déclenchait des frais de transfert. C'est tout simplement faux. Les requêtes SELECT classiques ne génèrent jamais de frais de transfert, même lorsque vous utilisez un outil en dehors de l'écosystème Snowflake.

En résumé

Bien comprendre les coûts de transfert est essentiel pour maîtriser sa dépense Snowflake globale. Si le stockage et le compute concentrent souvent l'attention, les frais de transfert peuvent vite grimper, en particulier pour les organisations présentes sur plusieurs régions ou plateformes cloud, ou qui déplacent des données depuis Snowflake vers d'autres applications orientées data.

Jeff est consultant Data & Analytics, fort de plus de 15 ans d'expérience dans l'automatisation des insights et l'exploitation de la donnée pour piloter les processus métier. Côté technologies, il est spécialisé sur Snowflake + dbt + Tableau. Côté secteurs, il intervient dans les services publics, les essais cliniques, l'édition, les biens de grande consommation et l'industrie. N'hésitez pas à le contacter : [email protected].