Snowflakeとは
Snowflakeは、データの保存・処理・分析に利用されるデータクラウドプラットフォームです。基盤にはAWS(Amazon Web Services)、GCP(Google Cloud Platform)、Microsoft Azureという3大クラウドを採用しています。フルマネージド型のサービスのため、ユーザーが基盤インフラに直接触れることはありません。これは、複雑な部分をSnowflake側が引き受けつつ、強力な機能をシンプルに使えるようにするという設計思想によるものです。
Snowflakeを特徴づけるのは、ストレージとコンピュートを切り離したアーキテクチャ、ジャストインタイムのプロビジョニング、未使用コンピュートインスタンス(仮想ウェアハウス)の自動停止といった仕組みです。ストレージ層が独立していることで、ゼロコピークローンやデータ共有といった機能も実現しています。
Snowflakeの料金モデル
多くのクラウドSaaS(Software as a Service)と同様、Snowflakeは従量課金制を採用しています。月額・年額の固定料金ではなく、計算処理・データストレージ・データ転送それぞれの利用量を計測し、あらかじめ定められた単価をもとにコストを算出する仕組みです
Snowflakeでは「クレジット」という独自の単位を使います。仮想ウェアハウスの実行など、プラットフォーム上のあらゆるアクティビティでこのSnowflakeクレジットが消費されていきます。1クレジットあたりの単価を決める主な要因は、Snowflakeのエディション、ホスティングリージョン、クラウドプロバイダーの3つです。
Snowflakeのエディション
Snowflakeのエディションは、いわば各種プランのようなものとお考えください。
現在Snowflakeでは、Standard、Enterprise、Business Critical、Virtual Private Snowflake(VPS)の4つのエディションを提供しています。エディションごとに利用できる機能が異なり、Enterpriseではマルチクラスターウェアハウス(水平スケーリング)が使えるようになります。Business CriticalとVPSは、ほぼセキュリティとデータ保護の強化に特化したエディションです。各エディションで提供される機能の詳細は、Snowflakeのドキュメントをご覧ください。
Snowflakeのリージョン
1つのSnowflakeアカウントは、単一のリージョンで稼働します。クラウドプロバイダーやリージョンをまたいで、いくつでもアカウントを作成可能です。Snowflakeでは35以上のリージョンから選択できます。メインアカウントには、既存インフラと同じリージョン・クラウドプロバイダーを選ぶケースが一般的です。
Snowflake料金モデルのメリット
従量課金制のSnowflakeでは、実際に消費したリソース分だけを支払えば済みます。さらに、プロビジョニングが通常1秒未満で完了するため、自動スケーリングで未使用の仮想ウェアハウスを停止しておいても、必要なときには即座に再起動でき、パフォーマンスを損なう心配はありません。
Snowflake料金モデルのデメリット
従量課金制全般に言えることですが、Snowflakeの料金モデルの弱点は変動性の大きさにあります。導入前に正確なコストを見積もるのは難しく、利用状況によって費用は大きく変わります。加えて、過大なサイズの仮想ウェアハウスを使うことでコストが一気に膨らむ可能性もあるため、しっかりとしたモニタリングと予算管理の体制づくりが欠かせません。
Snowflakeは費用対効果に優れているか?
運用体制さえ整えれば、Snowflakeは非常に費用対効果の高いプラットフォームです。Snowflake標準のUIレポート、カスタムダッシュボード、あるいはSELECTのような専用ツールを活用して、利用状況を継続的にモニタリングする仕組みを構築することをおすすめします。
Snowflakeクレジットの単価(1クレジットあたりのコスト)
Snowflakeの1クレジットあたりのコストは、次の4つの要因で決まります。
- Snowflakeのエディション
- ホスティングリージョン
- クラウドプロバイダー
- 割引
以下は、毎月の利用量に対して請求されるオンデマンド契約での、エディションごとの1クレジット単価の幅です。下限は多くのお客様が利用する米国のAWSリージョン、上限は米国外のリージョンを示しています。
| Standard | Enterprise | Business Critical | VPS (Virtual Private Snowflake) |
|---|---|---|---|
| $2.00 - $3.10 | $3.00 - $4.65 | $4.00 - $6.20 | $6.00 - $9.30 |
多くのお客様は、利用量を前払いで購入する容量コミットメント契約(キャパシティプライシング)を選んでいます。容量コミットメント契約では、購入量に応じて1クレジット単価の割引が段階的に適用されます。
全クラウド・全リージョンにわたるSnowflakeクレジットの単価一覧は、Snowflake Credit Consumption Tableをご覧ください。
Snowflake各サービスの料金
仮想ウェアハウスの料金
仮想ウェアハウスはクエリの実行に使われるため、通常はコストの大半を占める要素です。一般に「コンピュートコスト」と呼ばれることもあります。仮想ウェアハウスの料金はサイズによって変わります。サイズごとのコストは以下のとおりです。
| ウェアハウスサイズ | クレジット/時間 | Snowpark最適化クレジット/時間 |
|---|---|---|
| X-Small | 1 | N/A |
| Small | 2 | N/A |
| Medium | 4 | 6 |
| Large | 8 | 12 |
| X-Large | 16 | 24 |
| 2X-Large | 32 | 48 |
| 3X-Large | 64 | 96 |
| 4X-Large | 128 | 192 |
| 5X-Large | 256 | 384 |
| 6X-Large | 512 | 768 |
ウェアハウスサイズが1段階上がるごとに、利用可能なリソースは2倍になります。Snowpark最適化ウェアハウスは比較的新しいタイプで、同サイズの通常ウェアハウスと比較してメモリが16倍、コストは1.5倍です。
仮想ウェアハウスのコンピュートコストは、Snowflake利用料の約80%を占めるのが一般的です。そのため、コスト最適化の取り組みでは、まずここに焦点が当たります。
サーバーレス機能の料金
Snowpipe、自動クラスタリング、サーバーレスタスクといったSnowflakeのサーバーレス機能では、機能ごとに固有の倍率でクレジットが消費されます。倍率の観点で最も安価なのはQuery AccelerationとSnowpipe Streamingで、いずれも倍率は1Xです。反対に最も高いのはSearch Optimization Serviceとマテリアライズドビューで、こちらは2Xの倍率となります。
| 機能 | コンピュートクレジット倍率 | クラウドサービス倍率 | 追加課金 |
|---|---|---|---|
| クラスタ化テーブル | 2 | 1 | - |
| データ品質モニタリング | 2 | 1 | - |
| ハイブリッドテーブルリクエスト | 1 | 1 | 読み取り30GBあたり1クレジット、書き込み7.5GBあたり1クレジット |
| ロギング | 1.25 | - | 1000ファイルバッチあたり0.28クレジット |
| マテリアライズドビューのメンテナンス | 2 | 1 | - |
| Open Catalog | - | - | 100万リクエストあたり0.5クレジット |
| Query Acceleration | 1 | - | - |
| レプリケーション | 2 | 0.35 | - |
| Search Optimization Service | 2 | 1 | - |
| 機密データ分類 | 0.9 | 1 | - |
| サーバーレスアラート | 0.9 | 1 | - |
| サーバーレスタスク | 0.9 | 1 | - |
| サーバーレスタスクFlex | 0.9 | 1 | - |
| Snowpipe | 1.25 | - | 1000ファイルあたり0.06クレジット |
| Snowpipe Streaming | 1 | - | クライアントインスタンス1台・1時間あたり0.01クレジット |
| Trust Center | 1 | 1 | - |
ストレージの料金
Snowflakeは、基盤となるクラウドプロバイダーのストレージサービス(Amazon S3、Azure Blob Storage、Google Cloud Storageなど)上に、マイクロパーティションと呼ばれる独自のファイル形式でデータを格納します。
ストレージについては、クレジットではなくドル建ての直接課金となります。料金はクラウドプロバイダーとリージョンによって異なり、AWSの米国リージョンの場合は1TBあたり月額$23です。米国外のリージョンはこれより割高になります。全リージョンのストレージコストの詳細は、Snowflakeのウェブサイトでご確認いただけます。
Snowflakeのストレージコストについてさらに詳しく知りたい方は、こちらの記事もあわせてご覧ください。手っ取り早くストレージコストを削減したい場合は、アカウントにクエリを投げて未使用テーブルを洗い出し、削除するのが効果的です。
データ転送のコスト
データ転送とは、Snowflakeへのデータの取り込みおよび取り出しのことを指します。Snowflakeへ流入するデータは「イングレス」、Snowflakeから流出するデータは「エグレス」と呼ばれます。データ転送コストの仕組みで押さえておくべきポイントは以下のとおりです。
- Snowflakeはイングレスには課金しません。
- 同一リージョン・同一クラウドプロバイダー間のデータ転送は無料です。
- データ転送コストが発生するのは、特定の機能(データのアンロード、データレプリケーション、外部関数の利用など。詳細はこちら)を使った場合に限られます。
- Snowflakeのクライアントやドライバがクエリ結果を取得する際は、クラウドプラットフォームやリージョンをまたぐ場合でもエグレス料金は発生しません。
詳細な料金については、こちらもSnowflakeのウェブサイトでご確認いただけます。
クラウドサービスのコスト
Snowflakeのクラウドサービス層は、データの保存と処理そのもの以外の機能をすべて担っています。具体的には、認証、クエリのコンパイル、ゼロコピークローンなどです。クラウドサービスの料金はフェアユース型を採用しており、クラウドサービスの利用量がコンピュート利用量の10%を超えなければ追加コストは発生しません。たとえば、コンピュートを100クレジット、クラウドサービスを5クレジット使った場合、両者は相殺されます。
| サービス | 使用クレジット |
|---|---|
| コンピュート | 100 |
| クラウドサービス | 5 |
| クラウドサービスリベート | -5 |
| 合計 | 100 |
一方、クラウドサービスのクレジットが15まで増えた場合は次のようになります。
| サービス | 使用クレジット |
|---|---|
| コンピュート | 100 |
| クラウドサービス | 15 |
| クラウドサービスリベート | -10 |
| 合計 | 105 |
リベート対象となるのはコンピュートクレジットの10%にあたる10クレジットまでです。したがって、お客様はクラウドサービス分として5クレジットを支払うことになります。
この10%ルールのおかげで、ほとんどのお客様はクラウドサービスに対して料金を支払うことはありません。例外的にコストが発生するのは、シンプルなクエリが大量に実行されるケースです。こうしたクエリはコンピュートコストに対するクラウドサービスコストの比率が高くなる傾向があります。
Snowpark Container Servicesの料金
Snowpark Container Services(SPCS)は、2024年に登場したSnowflakeのフルマネージド型コンテナサービスです。SPCSを使えば、コンテナ化されたworkloadsをSnowflake上で直接実行できます。サービスの詳細は、Snowflakeのドキュメントをご覧ください。
SPCSは仮想ウェアハウスとは別物のコンピュートプール上で動作します。コンピュートタイプごとの1時間あたりクレジットは以下のとおりです。
| コンピュートノードタイプ | XS | S | M | L |
|---|---|---|---|---|
| CPU | 0.06 | 0.11 | 0.22 | 0.83 |
| 高メモリCPU | N/A | 0.28 | 1.11 | 4.44 |
| GPU | 0.25 | 0.57 | 2.68 | 14.12 |
各コンピュートノードタイプの詳細は以下のとおりです。
| INSTANCE_FAMILY | vCPU | メモリ (GiB) | ストレージ (GiB) | GPU | GPUあたりのGPUメモリ (GiB) | 上限 | 説明 |
|---|---|---|---|---|---|---|---|
| CPU - XS | 2 | 8 | 250 | N/A | N/A | 50 | Snowparkコンテナで利用可能な最小インスタンス。コスト重視や試験導入に最適。 |
| CPU - S | 4 | 16 | 250 | N/A | N/A | 50 | コストを抑えつつ複数のサービスやジョブをホスティングするのに最適。 |
| CPU - M | 8 | 32 | 250 | N/A | N/A | 20 | フルスタックアプリや複数サービスの実行に最適。 |
| CPU - L | 32 | 128 | 250 | N/A | N/A | 20 | 大量のCPU・メモリ・ストレージを必要とするアプリケーション向け。 |
| 高メモリCPU - S | 8 | 64 | 250 | N/A | N/A | 20 | メモリ集約型のアプリケーション向け。 |
| 高メモリCPU - M | 32 | 256 | 250 | N/A | N/A | 20 | 1台のマシン上で複数のメモリ集約型アプリケーションをホスティングする用途に最適。 |
| 高メモリCPU - L | 128 | 1024 | 250 | N/A | N/A | 20 | 大規模なインメモリデータ処理向けの、利用可能な最大の高メモリマシン。 |
| GPU - S | 8 | 32 | 250 | 1 NVIDIA A10G | 24 | 10 | Snowparkコンテナ向けNVIDIA GPUの最小サイズ。導入時に最適。 |
| GPU - M | 48 | 192 | 250 | 4 NVIDIA A10G | 24 | 5 | コンピュータビジョンやLLM/VLMなど、GPUを集中的に使うシナリオに最適化。 |
| GPU - L | 192 | 2048 | 250 | 8 NVIDIA A100 | 40 | 要相談 | LLMやクラスタリングなど、特殊かつ高度なGPU用途向けの最大インスタンス。 |
Snowflake料金の試算例
ここで、1か月分のSnowflake料金を現実的なシナリオで試算してみましょう。比較的小規模な組織のデータ基盤を運用しているとし、データロードジョブ、変換処理、変換後のデータを参照するBIツールが動いているとします。さらに、S3からの取り込みを行うSnowpipeをいくつか動かしており、日付列のWHERE句のパフォーマンスを維持するために自動クラスタリングを有効化したテーブルもいくつか存在するものとします。アカウント全体のストレージは5TB、AWSのUS East 1リージョン、Enterpriseエディションで運用しており、1クレジット単価は$3とします。
Frequently asked
questions
Snowflakeに無料プランや無料トライアルはありますか?
はい。$400分の無料クレジット付きのSnowflake無料トライアルを、こちらから作成できます。
Snowflakeの最低請求額はいくらですか?
オンデマンド料金には最低請求額の設定はありません。容量コミットメント契約の場合の最低金額は$25,000です。
Snowflakeの容量契約はどのような仕組みですか?
Snowflakeに年間$25,000以上(またはそれに近い額)を支出するお客様であれば、年間の容量コミットメント契約を結ぶ価値は十分にあります。割引と専任アカウントマネージャーのサポートが受けられるためです。割引が最も大きいのはストレージで、オンデマンドの$40/TBから$23/TBまで下がります。
Snowflakeの契約では、あらかじめコミットした容量分を前払いで購入します。Snowflakeを使ってクレジットを消費していくと、その分が利用可能残高から差し引かれていきます。コミット分を超えて使った場合は、追加の容量を購入できます。逆に購入した容量を使い切れなかった場合は、次回契約が同額以上であれば、未使用分を次回契約に繰り越すことが可能です。
こうした仕組みのため、不要な容量を過剰にコミットしないよう注意が必要です。過剰コミットを続ければ、低額での更新と引き換えに未使用分をすべて失う、という事態にもなりかねません。
Snowflakeに割引はありますか?
Snowflakeは容量コミットメント契約に対して割引を提供しており、購入する容量や契約期間(例:1年契約と3年契約)に応じて割引率が上がります。具体的な割引のティアや料率は公表されていません。
BigQueryとSnowflakeの料金はどう違いますか?
Google BigQueryには、オンデマンドとキャパシティの2つの料金モデルがあります。Snowflakeと名称は同じですが、中身は大きく異なります。オンデマンドでは、BigQueryはクエリごとにスキャンしたデータ量に対して課金します。キャパシティモデルでは、コンピュートの単位である「スロット」の時間単位で課金されます。これはSnowflakeの料金モデルに非常に近く、秒単位の課金単位や1分の最低課金時間も共通しています。Snowflakeと同じく、BigQueryも機能の異なる複数のエディションから選択できます。
DatabricksとSnowflakeの料金はどう違いますか?
DatabricksはSnowflakeやBigQueryと異なり、お客様自身のクラウドアカウント内のコンピュートインスタンス上でworkloadsを実行します。そのため、コストはDatabricksに直接支払う分と、お客様のクラウドアカウント側で発生する分の両方が生じます。Databricksには、コンピュートインスタンスをDatabricks側が管理するServerless SQLモデルもあります。このサービスではDatabricksにのみ料金を支払う形となり、SnowflakeやBigQueryの料金・運用モデルにより近いものになっています。
RedshiftとSnowflakeの料金はどう違いますか?
Amazon Redshiftには、DC2とRA3という2つの運用・料金モデルがあります。DC2はより従来型のデータウェアハウス構成で、コンピュートインスタンスとローカルストレージが一体化しています。一方、RA3はストレージとコンピュートが分離されています。RA3の利点は、コンピュートとストレージをそれぞれ独立してニーズに合わせてスケールできるため、余剰容量を最小限に抑えられる点にあります。RA3のほうがSnowflakeに近い選択肢と言えます。
Snowflakeは高額ですか?
「Snowflakeは高い」という見方が広く存在しますし、確かに適切に管理されていなければ高額になり得ます。適切なウェアハウスサイズを選んでいない場合や、十分なガバナンスのないままウェアハウスを乱立させている場合などは、コストが膨らむ典型的なパターンです。とはいえ、従量課金制のクラウドプラットフォームは計画的に使わなければどれも高額になりがちで、これはSnowflakeに限った話ではありません。適切なプロセス、モニタリング、管理を組み合わせれば、Snowflakeはクラウドデータプラットフォームとして非常に費用対効果の高い選択肢になります。SELECTでは、その使いやすさ、スケーラビリティ、費用対効果の高さから、自社のデータ基盤全体をSnowflake上に構築しています。
Niall Woodward・Co-founder & CTO of SELECT
Niallは、SaaS型のSnowflakeコスト管理・最適化プラットフォームであるSELECTの共同創業者兼CTOです。SELECTを立ち上げる前は、Brooklyn Data Companyや複数のスタートアップでデータエンジニアを務めていました。オープンソースの愛好家でもあり、SQLFluffのメンテナー、そしてdbt_artifacts、dbt_snowflake_monitoring、dbt_query_tagsという3つのdbtパッケージの作者でもあります。
Ian Whitestone・Co-founder & CEO of SELECT
Ianは、SaaS型のSnowflakeコスト管理・最適化プラットフォームであるSELECTの共同創業者兼CEOです。SELECTを立ち上げる前は、ShopifyとCapital Oneでフルスタックのデータサイエンス&エンジニアリングチームを6年間率いてきました。Shopifyでは、データウェアハウスの最適化とコスト可視化の取り組みを主導しました。