Dataflow の料金

このページでは、Dataflow の料金について説明します。他のプロダクトの料金を確認するには、料金についてのドキュメントをご覧ください。

料金の概要

料金設定は時間単位ですが、Dataflow サービスはジョブごとに秒単位で課金されます。秒単位での使用に対して時間単位の料金設定を適用するため、使用時間は時間単位で表されます(例: 30 分は 0.5 時間)。ワーカーとジョブは、以降のセクションで説明するようにリソースを消費します。

ワーカーとワーカー リソース

各 Dataflow ジョブは、少なくとも 1 つの Dataflow ワーカーを使用します。Dataflow サービスは、バッチとストリーミングの 2 つのワーカータイプを提供します。バッチワーカーとストリーミング ワーカーでは、それぞれ別のサービス料が設定されています。

Dataflow ワーカーは次のリソースを消費し、それぞれ秒単位で課金されます。

バッチワーカーとストリーミング ワーカーは、Compute Engine を使用する特殊なリソースです。一方、Dataflow ジョブでは Dataflow サービスによって管理される Compute Engine リソースに対して Compute Engine 課金が発生しません。Dataflow サービスの料金には、このような Compute Engine リソースの使用料金が含まれます。

ジョブのデフォルトのワーカー数をオーバーライドできます。自動スケーリングを使用している場合は、ジョブに割り当てられるワーカーの最大数を指定できます。ワーカーとそれぞれのリソースは、自動スケーリングの作動に基づいて自動的に追加および削除されます。

また、パイプライン オプションを使用して、各ワーカーに割り当てられるデフォルトのリソース設定(マシンタイプ、ディスクタイプ、ディスクサイズ)をオーバーライドできます。

Dataflow サービス

Dataflow Shuffle オペレーションは、スケーラブルで効率的、かつフォールト トレラントな方法で、キーごとにデータを分割およびグループ化します。Dataflow はデフォルトですべてワーカー仮想マシンで実行されるシャッフルの実装を使用します。この場合、ワーカーの CPU、メモリ、永続ディスク ストレージを消費します。

Dataflow には、オプションの機能として、スケーラビリティの高い Dataflow Shuffle も用意されています。この機能はバッチ パイプラインでのみ使用でき、ワーカー外部でデータをシャッフルします。Shuffle では、データの処理量に基づいて課金されます。Dataflow で Shuffle サービスを使用するには、Shuffle パイプライン パラメータを指定します。

Shuffle と同様に、Dataflow Streaming Engine では、ストリーミング シャッフルと状態処理がワーカー VM から Dataflow サービスのバックエンドに移動されます。Dataflow でストリーミング パイプラインに Streaming Engine を使用するには、Streaming Engine パイプライン パラメータを指定します。Streaming Engine の使用量は、ストリーミング データ処理量で課金されます。この処理量は、ストリーミング パイプラインに取り込まれたデータの量や、パイプライン ステージの複雑さと数に応じて決まります。処理されたバイトとしてカウントされるものの例には、データソースからの入力フロー、1 つの融合パイプライン ステージから別の融合ステージへのデータフロー、ユーザー定義の状態で保持されるデータフロー、ウィンドウ処理に使用されるデータフロー、Pub/Sub または BigQuery などのデータシンクへのメッセージ出力などが挙げられます。

Dataflow には、バッチ処理に使用する CPU とメモリに割引料金を適用できるオプションも用意されています。Flexible Resource Scheduling(FlexRS)では、処理リソースの使用料を抑えられるよう、通常の VM とプリエンプティブル VM を単一の Dataflow ワーカープールにまとめています。また、利用可能なリソースに基づいてジョブを開始するのに最適な時点を特定するために、FlexRS は 6 時間の枠内で Dataflow のバッチジョブを遅延させます。Dataflow では複数のワーカーを組み合わせて FlexRS ジョブを実行しますが、課金にはワーカーのタイプにかかわらず均一料金が適用され、通常の Dataflow の料金と比べると割引です。Dataflow で、自動スケーリングされるバッチ パイプラインに FlexRS を使用するには、FlexRS パラメータを指定します。

追加のジョブリソース

ワーカー リソースの使用に加え、ジョブで次のようなリソース(ただし、これらに限定されない)が消費されることもあります。これらのリソースは、それぞれ独自の料金設定で課金されます。

料金の詳細

Dataflow の今後のリリースでは、異なるサービス料や関連サービスのバンドルが導入される可能性があります。

使用可能なリージョンとゾーンの詳細については、Compute Engine のリージョンとゾーンのページをご覧ください。

1 バッチワーカーのデフォルト: vCPU 1 個、メモリ 3.75 GB、永続ディスク 250 GB

2 FlexRS ワーカーのデフォルト: 1 ワーカーあたり vCPU 2 個、メモリ 7.50 GB、永続ディスク 25 GB(最小 2 つのワーカー)

3 ストリーミング ワーカーのデフォルト: vCPU 4 個、メモリ 15 GB、永続ディスク 420 GB

4 現在、バッチ パイプラインに Dataflow Shuffle を利用できるのは、次のリージョンです。

  • us-west1(オレゴン)
  • us-central1(アイオワ)
  • us-east1(サウスカロライナ)
  • us-east4(北バージニア)
  • europe-west2(ロンドン)
  • europe-west1(ベルギー)
  • europe-west4(オランダ)
  • europe-west3(フランクフルト)
  • asia-east1(台湾)
  • asia-northeast1(東京)

他のリージョンでも今後公開していく予定です。

5 Dataflow Streaming Engine の料金単位は、ストリーミングのデータ処理量です。現在 Streaming Engine を利用できるのは、次のリージョンです。

  • us-west1(オレゴン)
  • us-central1(アイオワ)
  • us-east1(サウスカロライナ)
  • us-east4(北バージニア)
  • europe-west2(ロンドン)
  • europe-west1(ベルギー)
  • europe-west4(オランダ)
  • europe-west3(フランクフルト)
  • asia-east1(台湾)
  • asia-northeast1(東京)
他のリージョンでも今後公開していく予定です。

6 Shuffle の料金は、データセットのシャッフル処理で Dataflow サービス インフラストラクチャが読み書きしたデータ量によって決まります。 また、サービスベースの Shuffle の導入を促進するために、Shuffle データ処理量の最初の 5 TB については 50% 減の料金で課金されます。 たとえば、パイプラインによる実際の Shuffle データの処理量が 1 TB になった場合、そのデータ量の 50%(0.5 TB)が課金対象になります。パイプラインによる実際の Shuffle データの処理量が 10 TB になった場合、最初の 5 TB は 50% の料金で課金されるため、7.5 TB 分の料金が請求されます。

使用量の確認

ジョブに関連する vCPU、メモリ、永続ディスク リソースの合計使用量は、Google Cloud Console または gcloud コマンドライン ツールで確認できます。Shuffle とストリーミングの実際のデータ処理量と課金対象のデータ処理量の指標は、どちらも Dataflow Monitoring Interface で追跡できます。実際の Shuffle データ処理量を使用すると、パイプラインのパフォーマンスを評価できます。また、請求対象の Shuffle データ処理量を使用すると、Dataflow ジョブのコストを判断できます。ストリーミング データ処理量については、実際の指標と課金対象の指標は同一となります。

料金計算ツール

Google Cloud 料金計算ツールを使用すると、請求金額の算出方法を確認できます。