O modelo de preços do Snowflake é por consumo e, em geral, se divide em 3 categorias: Storage, Compute e Cloud Services. E as taxas de transferência de dados, em qual categoria entram? Elas fazem parte do "Serverless", que é um subconjunto de Cloud Services. Vamos aos detalhes.
Ingress vs. Egress: o que é cobrado?
A entrada de dados (ingress), ou seja, carregar dados no Snowflake, é sempre gratuita. É claro que você paga pelo compute e pelo storage utilizados, mas não há cobrança de transferência para carregar dados no Snowflake, mesmo que seja entre regiões diferentes. A única ressalva é que seu provedor de nuvem pode cobrar pela movimentação de dados entre regiões, mas o Snowflake nunca vai cobrar pelo ingress.
É no Data Egress que a cobrança aparece. O Snowflake cobra uma taxa por byte quando você transfere dados de uma conta Snowflake para uma região diferente na mesma plataforma de nuvem ou para uma plataforma de nuvem totalmente diferente. Já as transferências dentro da mesma região são gratuitas. O Guia de Preços do Snowflake traz os detalhes exatos. Veja um trecho do screenshot para você ter uma ideia:
Quais atividades geram custos de transferência de dados?
Os custos de transferência de dados são acionados quando você move dados da sua conta Snowflake para uma região ou plataforma de nuvem diferente. Veja as operações específicas que disparam essas cobranças:
Descarregar dados: usar o comando COPY INTO <location> para descarregar dados do Snowflake em um storage de nuvem externo (Amazon S3, Google Cloud Storage ou Microsoft Azure) em outra região ou plataforma de nuvem gera taxas de transferência.
Replicação de banco de dados: replicar bancos de dados entre regiões ou plataformas de nuvem para disaster recovery ou compartilhamento de dados gera custos de transferência. Tanto a replicação inicial quanto as sincronizações seguintes transferem dados entre regiões.
Cross-Cloud Auto-Fulfillment: ao usar o auto-fulfillment para compartilhar listagens de dados com consumidores em outras regiões de nuvem pelo Snowflake Marketplace, há custos de transferência.
External Functions: chamar funções externas que transferem dados da sua conta Snowflake para serviços de AWS, Microsoft Azure ou Google Cloud gera cobranças de egress.
Escritas Iceberg entre regiões: ao usar o Snowflake como catálogo para tabelas Iceberg, gravar novos dados gera custos de transferência se o local de storage estiver em outra região ou em outro provedor de nuvem.
Exceção importante: a recuperação de resultados de queries via clients ou drivers do Snowflake NÃO gera cobranças de egress, mesmo quando os resultados vêm de outras regiões ou plataformas de nuvem. Isso representa uma economia importante para operações de query do dia a dia.
Quanto custa a transferência de dados?
O preço da transferência de dados varia bastante conforme o provedor de nuvem e a região da sua conta Snowflake. Os detalhes completos estão na Credit Consumption Table, mas aqui vai um panorama geral:
Transferências na mesma região: gratuitas (sem cobrança).
Entre regiões (mesma nuvem): normalmente vai de US$ 20 por TB em regiões dos EUA a US$ 140 por TB em algumas regiões da Ásia-Pacífico.
Entre nuvens ou para a internet: em geral, de US$ 90 a US$ 155 por TB, dependendo da origem e do destino.
Por exemplo, transferir da AWS US East (Norte da Virgínia) para a internet custa cerca de US$ 90 por TB, enquanto a mesma operação no Google Cloud (US East 4) pode variar de US$ 120 a US$ 190 por TB.
Egress Cost Optimizer: um divisor de águas para o compartilhamento de dados
Em abril de 2025, o Snowflake lançou o Egress Cost Optimizer (ECO), que pode reduzir drasticamente os custos de transferência para provedores que compartilham dados em várias regiões.
O ECO usa um algoritmo inteligente para manter os dados em cache no storage gerenciado pelo Snowflake após o primeiro egress, o que permite replicar para outras regiões sem nenhum custo adicional de egress. O resultado pode ser uma economia de até 96% em comparação à replicação tradicional entre regiões.
Como usar o ECO:
O ECO precisa, primeiro, ser autorizado em nível de organização por um usuário ORGADMIN no Provider Studio. Depois disso, ele é habilitado automaticamente para todas as contas da sua organização (embora contas individuais possam optar por desativá-lo nas configurações). Após a ativação, o ECO usa roteamento inteligente para identificar automaticamente quando o uso do cache vai gerar economia. Por exemplo, ele não vai usar o cache se você estiver replicando apenas para uma ou duas regiões dentro do mesmo provedor de nuvem, já que seus custos já estão otimizados.
Estrutura de custos:
- Disponível apenas para Cross-Cloud Auto-Fulfillment (não para replicação manual)
- US$ 16,896 por TB-mês para dados em cache
- Cobrança apenas nos dias em que o cache é efetivamente usado
- Sem cobrança se o ECO concluir que o cache não trará economia
O que considerar do lado do provedor de nuvem
Um detalhe que muita gente esquece: o Snowflake não cobra pelo ingress, mas o provedor do seu storage de origem pode cobrar taxas de egress para transferir dados ao Snowflake. Vale conferir com seu provedor de nuvem (Amazon S3, Google Cloud Storage ou Microsoft Azure) as cobranças de egress ao mover dados para sua conta Snowflake.
Como monitorar e otimizar os custos de transferência de dados
Para acompanhar as despesas com transferência de dados, o Snowflake oferece algumas ferramentas:
Dashboard do Snowsight
No Snowsight, dá para visualizar rapidamente o volume e o custo de transferência de dados em períodos específicos. Acesse Admin → Cost Management → Consumption e filtre por Usage Type = Data Transfer.
Consultar o histórico de transferência de dados no nível da conta
Use a view DATA_TRANSFER_HISTORY no schema ACCOUNT_USAGE para consultar dados detalhados de transferência da sua conta nos últimos 365 dias:
-- 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;
Consultar custos de transferência de dados no nível da organização
Use a view DATA_TRANSFER_DAILY_HISTORY no schema ORGANIZATION_USAGE para ter visibilidade em toda a organização:
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;
Boas práticas
- Mantenha as transferências dentro da mesma região sempre que possível para evitar qualquer cobrança.
- Use data sharing em vez de replicação para evitar custos de transferência — o recurso nativo de data sharing do Snowflake permite compartilhar dados com outras contas Snowflake sem copiá-los fisicamente. Com o data sharing, o consumidor consulta os dados diretamente no storage do provedor (sem movimentação de dados), então não há cobranças de transferência nem mesmo entre regiões. A replicação, por outro lado, cria uma cópia completa do banco e gera custos de transferência quando cruza regiões.
- Ative o Egress Cost Optimizer se você replica dados para várias regiões — pode render até 90% de economia.
- Programe descarregamentos grandes com cuidado e avalie se todos os dados precisam mesmo ser movidos.
- Acompanhe seus padrões de transferência com frequência usando as ferramentas de monitoramento de custos do Snowflake.
- Comprima os dados antes do descarregamento para reduzir o volume transferido.
Mitos sobre transferência de dados
Já conversei com algumas pessoas que acreditavam que exibir dados em uma ferramenta de BI ou em uma aplicação Python gera taxas de transferência. Isso simplesmente não é verdade. Queries SELECT comuns nunca disparam taxa de transferência de dados, mesmo que você esteja usando uma ferramenta fora do ecossistema Snowflake.
Para fechar
Entender os custos de transferência de dados é fundamental para administrar o gasto total com Snowflake. Storage e compute costumam levar a maior parte da atenção, mas as taxas de transferência podem se acumular rapidamente, principalmente em organizações que operam em várias regiões ou plataformas de nuvem, ou que movem dados do Snowflake para outras aplicações orientadas a dados.
Jeff é Consultor de Dados e Analytics, com mais de 15 anos de experiência em automatizar insights e usar dados para controlar processos de negócio. No lado tecnológico, é especialista em Snowflake + dbt + Tableau. No lado de negócio, tem experiência em Concessionárias Públicas, Ensaios Clínicos, Publishing, CPG e Manufatura. Fale com ele a qualquer momento: [email protected].