Dataflow の料金
このページでは、Dataflow の料金について説明します。他のプロダクトの料金を確認するには、料金についてのドキュメントをご覧ください。
3 年間のコミットメントで 40%、1 年間のコミットメントで 20% の割引を受ける方法については、確約利用割引(CUD)ページをご覧ください。
概要
Dataflow の使用は、ジョブで使用するリソースに対して課金されます。使用する料金モデルに応じて、リソースの測定と課金の方法は異なります。
Dataflow コンピューティング リソース | Dataflow Prime コンピューティング リソース |
|
データ コンピューティング単位数(DCU) (バッチおよびストリーミング) |
すべてのジョブに対して課金されるその他の Dataflow リソース には、永続ディスク、GPU、スナップショットなどがあります。
Dataflow ジョブに他のサービスのリソースが使用される場合があります。Dataflow で使用されるサービスには、BigQuery、Pub/Sub、Cloud Storage、Cloud Logging などがあります。
料金は時間単位ですが、Dataflow の使用量はジョブごとに秒単位で課金されます。秒単位の使用に時間単位の料金が適用されるように、使用量は時間単位で示されます。たとえば、30 分は 0.5 時間です。ワーカーとジョブは、次のセクションで説明するようにリソースを使用する場合があります。
Dataflow の今後のリリースでは、異なるサービス料金や関連サービスのバンドルが発生する可能性があります。
Dataflow のコンピューティング リソース
Dataflow のコンピューティング リソースに対する課金には、次のコンポーネントが含まれます。
- ワーカーの CPU とメモリ
- バッチ ワークロード用に処理される Dataflow Shuffle データ
- Streaming Engine コンピューティング単位数
- Streaming Engine で処理されたデータ
使用可能なリージョンとそのゾーンの詳細については、Compute Engine のリージョンとゾーンのページをご覧ください。
ワーカーの CPU とメモリ
各 Dataflow ジョブは、少なくとも 1 つの Dataflow ワーカーを使用します。Dataflow サービスは、バッチとストリーミングの 2 つのワーカータイプを提供します。バッチワーカーとストリーミング ワーカーでは、サービス料金が別々に発生します。
Dataflow ワーカーは次のリソースを消費し、それぞれ秒単位で課金されます。
- CPU
- メモリ
バッチワーカーとストリーミング ワーカーは、Compute Engine を使用する特殊なリソースです。ただし、Dataflow ジョブでは、Dataflow サービスが管理する Compute Engine リソースに対して Compute Engine の課金は発生しません。Dataflow サービスの料金には、これらの Compute Engine リソースの使用料が含まれます。
ジョブのデフォルトのワーカー数をオーバーライドできます。自動スケーリングを使用している場合は、ジョブに割り当てるワーカーの最大数を指定できます。ワーカーとそのリソースは、自動スケーリングの動作に基づいて自動的に追加、削除されます。
また、パイプライン オプションを使用して、各ワーカーに割り当てられ、GPU を使用するデフォルトのリソース設定(マシンタイプ、ディスクタイプ、ディスクサイズなど)をオーバーライドできます。
FlexRS
Dataflow には、バッチ処理用の CPU とメモリに割引料金が適用されるオプションが用意されています。Flexible Resource Scheduling(FlexRS)では、処理リソースの使用料を抑えられるよう、通常の VM とプリエンプティブル VM を単一の Dataflow ワーカープールにまとめています。また、使用可能なリソースに基づいてジョブを開始するのに最適な時点を特定するため、FlexRS は 6 時間の枠内で Dataflow バッチジョブの実行を遅延させます。
Dataflow はワーカーを組み合わせて FlexRS ジョブを実行しますが、ワーカーの種類に関係なく、通常の Dataflow 料金と比較して約 40% の均一な割引率が請求されます。Dataflow で、自動スケーリングされるバッチ パイプラインに FlexRS を使用するには、FlexRS パラメータを指定します。
Dataflow Shuffle によるデータの処理
バッチ パイプラインの場合、Dataflow には、ワーカーの外部にあるデータをシャッフルするスケーラビリティの高い機能である Dataflow Shuffle が用意されています。詳細については、Dataflow Shuffle をご覧ください。
Dataflow Shuffle では、シャッフル中に処理されたデータ量に応じて課金されます。
Streaming Engine の料金
ストリーミング パイプラインの場合、Dataflow Streaming Engine は、ストリーミング シャッフルと状態処理をワーカー VM から Dataflow サービスのバックエンドに移動します。詳細については、Streaming Engine をご覧ください。
Streaming Engine コンピューティング単位数
リソースベースの課金では、Streaming Engine リソースは Streaming Engine コンピューティング単位数で測定されます。Dataflow は、各ジョブが使用する Streaming Engine リソースを測定し、そのジョブで使用されている合計リソースに基づいて課金されます。ジョブでリソースベースの課金を有効にするには、リソースベースの課金を使用するをご覧ください。リソースベースの課金を使用すると、既存の割引が自動的に適用されます。
リソースベースの課金で Dataflow Prime を使用する場合、各ジョブが使用する合計リソースに基づいて課金されますが、Streaming Engine Compute Unit SKU ではなく Data Compute Unit(DCU)SKU が使用されます。
Streaming Engine で処理されたデータ(レガシー)
Dataflow は、引き続き従来のデータ処理課金をサポートします。リソースベースの課金を有効にしない限り、ジョブはデータ処理課金を使用して課金されます。
Streaming Engine のデータ処理課金では、処理されたストリーミング データの量に基づいて使用量が測定されます。これは、次の要因によって決まります。
- ストリーミング パイプラインに取り込まれるデータの量
- パイプラインの複雑さ
- シャッフル オペレーションまたはステートフル DoFn を含むパイプライン ステージの数
処理されたバイト数としてカウントされるものの例を以下に示します。
- データソースからの入力フロー
- 融合されたパイプライン ステージから別の融合ステージへのデータフロー
- ユーザー定義の状態で保持されるか、ウィンドウ処理に使用されるデータのフロー
- Pub/Sub や BigQuery などのデータシンクへのメッセージ出力
Dataflow コンピューティング リソースの料金 - バッチと FlexRS
次の表に、バッチジョブと FlexRS ジョブで処理されるワーカー リソースと Shuffle データの料金の詳細を示します。
1 バッチワーカーのデフォルト: vCPU 1 個、メモリ 3.75 GB、Dataflow Shuffle を使用しない場合は 250 GB Persistent Disk、Dataflow Shuffle を使用する場合は 25 GB Persistent Disk
2 FlexRS ワーカーのデフォルト: 1 ワーカーあたり vCPU 2 個、メモリ 7.50 GB、永続ディスク 25 GB(最小 2 つのワーカー)
Dataflow コンピューティング リソースの料金 - ストリーミング
次の表に、ワーカー リソース、処理された Streaming Engine データ(レガシー)、ストリーミング ジョブの Streaming Engine コンピューティング単位の料金の詳細を示します。
3 ストリーミング ワーカーのデフォルト: 4 個の vCPU、15 GB のメモリ、400 GB の Persistent Disk(Streaming Engine を使用しない場合)、30 GB の Persistent Disk(Streaming Engine を使用する場合)。Dataflow サービスは現在、ストリーミング ジョブの実行時にワーカー インスタンスあたり 15 個の永続ディスクに制限されています。リソース割り当てでは、ワーカーとディスクの 1:1 の比率が最小要件になります。
4 Dataflow Shuffle の料金は、データセットのシャッフル中の読み取り / 書き込みオペレーションで処理されたデータ量に適用されるボリューム調整に基づきます。詳細については、Dataflow Shuffle の料金の詳細をご覧ください。Dataflow Shuffle の料金は、リソースベースの課金を使用する Streaming Engine ジョブには適用されません。
5 Streaming Engine コンピューティング単位数: Streaming Engine とリソースベースの課金モデルを使用するストリーミング ジョブの場合。これらのジョブは、シャッフル中に処理されたデータに対しては課金されません。
処理された Dataflow Shuffle データのボリューム調整
料金は、Dataflow Shuffle オペレーション中に処理されたデータの合計量に適用されるボリューム調整を通じて Dataflow ジョブごとに計算されます。処理された Dataflow Shuffle データに対する実際の請求額は、Dataflow ジョブで処理された合計データ量よりも少ない量に対する正規料金と同じになります。この違いにより、課金対象のシャッフル データの処理指標は、処理されたシャッフル データの合計指標よりも小さくなります。
次の表で、この調整の適用方法を説明します。
Dataflow Shuffle によるデータの処理 | 請求額の調整 |
最初の 250 GB | 75% 削減 |
次の 4,870 GB | 50% 削減 |
5,120 GB(5 TB)を超えた分 | なし |
たとえば、パイプラインで Dataflow Shuffle データの合計が 1,024 GB(1 TB)処理される場合、請求額は次のように計算されます。
250 GB * 25% + 774 GB * 50% = 449.5 GB * regional Dataflow Shuffle data processing rate
パイプラインで処理される Dataflow Shuffle データの合計が 10, 240 GB(10 TB)になった場合、課金対象のデータ量は次のようになります。
250 GB * 25% + 4870 GB * 50% + 5120 GB = 7617.5 GB
Dataflow Prime コンピューティング リソースの料金
Dataflow Prime は、Dataflow 上に構築されたデータ処理プラットフォームで、リソース使用率と分散診断を改善します。
Dataflow Prime ジョブで使用されるコンピューティング リソースは、データ コンピューティング単位数(DCU)によって課金されます。DCU はパイプラインの実行に 割り当てられるコンピューティングリソースを表しますPersistent Disk、GPU、スナップショットなど、Dataflow Prime ジョブで使用される他の Dataflow リソースは別途課金されます。
使用可能なリージョンとそのゾーンの詳細については、Compute Engine のリージョンとゾーンのページをご覧ください。
データ計算装置
データ コンピューティング ユニット(DCU)は、ジョブで消費されたコンピューティング リソースの数を追跡する Dataflow 使用状況測定ユニットです。DCU で追跡されるリソースには、vCPU、メモリ、処理された Dataflow Shuffle データ(バッチジョブの場合)、処理された Streaming Engine データ(ストリーミング ジョブの場合)などがあります。リソースを大量に消費するジョブは、リソース消費量が少ないジョブよりも DCU 使用量が多くなります。1 DCU は、1 vCPU 4 GB ワーカーで 1 時間実行される Dataflow ジョブで使用されるリソースに相当します。
データ コンピューティング ユニットの課金
ジョブで使用された DCU の合計数に対して課金されます。1 つの DCU の料金は、バッチジョブとストリーミング ジョブのどちらを使用するかによって異なります。リソースベースの課金で Dataflow Prime を使用すると、バイトプロセスではなく、使用されたリソースの合計に基づいて課金されます。
データ コンピューティング ユニットの使用量を最適化する
ジョブの DCU の数は設定できません。DCU は Dataflow Prime でカウントされます。ただし、ジョブの次の要素を管理することで、使用する DCU の数を減らすことができます。
- メモリ消費量の削減
- フィルタ、コンバイナ、効率的なコーダーを使用して、シャッフル ステップで処理されるデータの量を削減する
これらの最適化を特定するには、Dataflow モニタリング インターフェースと実行の詳細インターフェースを使用します。
Dataflow Prime の料金と Dataflow の料金の違いは何ですか?
Dataflow では、vCPU、メモリ、永続ディスク、Dataflow Shuffle または Streaming Engine によって処理されたデータ量など、ジョブが使用した異種リソースに対して課金されます。
データ コンピューティング ユニットは、ストレージを除くすべてのリソースを単一の測定単位に統合します。Persistent Disk リソースと、ジョブタイプ(バッチまたはストリーミング)に基づいて使用された DCU の数に対して課金されます。詳細については、Dataflow Prime の使用をご覧ください。
Dataflow の料金モデルを使用している既存のジョブはどうなりますか?
既存のバッチジョブとストリーミング ジョブは、引き続き Dataflow モデルを使用して課金されます。Dataflow Prime を使用するようにジョブを更新すると、ジョブは Dataflow Prime の料金モデルを使用し、Persistent Disk リソースと使用された DCU に対して課金されます。
その他の Dataflow リソース
ストレージ、GPU、スナップショット、その他のリソースは、Dataflow と Dataflow Prime でも同じ方法で課金されます。
ストレージ リソースの料金
ストレージ リソースは、ストリーミング、バッチ、FlexRS ジョブで同じレートで課金されます。パイプライン オプションを使用して、デフォルトのディスクサイズまたはディスクタイプを変更できます。Dataflow Prime では、次の表の料金に基づいて Persistent Disk が個別に課金されます。
Dataflow サービスは現在、ストリーミング ジョブの実行時にワーカー インスタンスあたり 15 個の永続ディスクに制限されています。各永続ディスクは、個々の Compute Engine 仮想マシンに対してローカルです。ワーカーとディスクの比率は 1:1 が最小リソース割り当てです。
Streaming Engine を使用するジョブでは、30 GB のブートディスクが使用されます。Dataflow Shuffle を使用するジョブでは、25 GB のブートディスクが使用されます。これらのサービスを使用しないジョブの場合、各永続ディスクのデフォルト サイズは、バッチモードでは 250 GB、ストリーミング モードでは 400 GB です。
Compute Engine の使用量は平均ワーカー数に基づくのに対し、Persistent Disk の使用量は --maxNumWorkers
の正確な値に基づきます。Persistent Disk は、各ワーカーにアタッチされるディスク数が等しくなるように再配布されます。
GPU リソースの料金
GPU リソースは、ストリーミング ジョブとバッチジョブで同じレートで課金されます。FlexRS は現在、GPU をサポートしていません。GPU で使用可能なリージョンとゾーンについては、Compute Engine ドキュメントの GPU のリージョンとゾーンの可用性をご覧ください。
スナップショット
ストリーミング パイプラインの信頼性を管理するために、スナップショットを使用してパイプラインの状態を保存および復元できます。スナップショットの使用量は、保存されているデータの量に応じて課金されます。この量は、次の要因によって決まります。
- ストリーミング パイプラインに取り込まれるデータの量
- ウィンドウ処理ロジック
- パイプラインのステージ数
ストリーミング ジョブのスナップショットは、Dataflow コンソールまたは Google Cloud CLI を使用して作成できます。スナップショットからジョブを作成して、パイプラインの状態を復元する場合、追加料金は発生しません。詳細については、Dataflow スナップショットの使用をご覧ください。
スナップショットの料金
Confidential VMs
Dataflow 用の Confidential VM は、ワーカーの Compute Engine VM で使用中のデータを暗号化します。詳細については、Confidential VMs の概要をご覧ください。
Dataflow に Confidential VMs を使用すると、vCPU あたりおよび GB あたりの定額料金が追加で発生します。
Confidential VMs の料金
料金は全世界共通で、Google Cloud のリージョンによって変わることはありません。
Dataflow 以外のリソース
Dataflow の使用量に加えて、ジョブで次のリソースが消費される場合があり、それぞれ独自の料金で課金されます。以下はその一例です。
-
Dataflow ジョブでは、パイプライン実行中に一時ファイルを格納するために Cloud Storage を使用します。不要なストレージ費用が発生しないようにするには、Dataflow ジョブで一時的なストレージに使用するバケットで削除(復元可能)機能をオフにします。詳細については、バケットから削除(復元可能)ポリシーを削除するをご覧ください。
-
ログを他の宛先に転送することも、取り込みからログを除外することもできます。Dataflow ジョブのログボリュームの最適化については、Dataflow のログボリュームの制御をご覧ください。
リソースの使用状況を表示する
ジョブに関連付けられた vCPU、メモリ、永続ディスク リソースの合計は、[ジョブ情報] パネルの [リソース指標] で確認できます。Dataflow モニタリング インターフェースで次の指標を追跡できます。
- 合計 vCPU 時間
- 合計メモリ使用時間
- Persistent Disk の合計使用時間
- 処理されたストリーミング データの合計量
- 処理されたシャッフル データの合計
- 処理された課金対象のシャッフル データ
合計シャッフル データの処理量指標を使用してパイプラインのパフォーマンスを評価し、課金対象のシャッフル データの処理量指標を使用して Dataflow ジョブの費用を決定できます。
Dataflow Prime の場合、ジョブで使用された DCU の合計数は、[ジョブ情報] パネルの [リソース指標] で確認できます。
料金計算ツール
Google Cloud 料金計算ツールを使用すると、請求金額の算出方法を確認できます。
米ドル以外の通貨でお支払いの場合は、Cloud Platform SKU に記載されている該当通貨の料金が適用されます。
次のステップ
- Dataflow のドキュメントを読む。
- Dataflow を使ってみる。
- 料金計算ツールを試す。
- Dataflow のソリューションとユースケースについて学習する。