Dataproc サーバーレスの料金
Dataproc Serverless for Spark の料金は、データ コンピューティング ユニット(DCU)の数、使用されるアクセラレータの数、使用されるシャッフル ストレージの量に基づきます。DCU、アクセラレータ、シャッフル ストレージは秒単位で課金され、DCU とシャッフル ストレージは最低課金時間 1 分、アクセラレータは最低課金時間 5 分です。
各 Dataproc vCPU は 0.6 DCU としてカウントされます。RAM は 8 GB 未満と 8 GB 以上で 料金が異なります。vCPU あたり 8 GB 未満の RAM は 0.1 DCU、8 GB を超える vCPU あたりの RAM は 0.2 DCU とカウントされます。Spark ドライバーとエグゼキュータによって使用されるメモリとシステム メモリの使用量は、DCU 使用量に カウントされます。
デフォルトでは、Dataproc Serverless for Spark の各バッチとインタラクティブなワークロードは、ワークロードの期間中、最小 12 個の DCU を使用します。ドライバーは 4 個の vCPU と 16 GB の RAM を使用し、4 個の DCU を消費します。2 つのエグゼキュータはそれぞれ 4 個の vCPU と 16 GB の RAM を使用し、4 個の DCU を消費します。Spark プロパティを設定することで、vCPU の数と vCPU あたりのメモリ量をカスタマイズできます。Compute Engine VM や永続ディスクの追加料金はかかりません。
データ コンピューティング単位(DCU)の料金
以下に示す DCU 料金は時間単位の料金です。秒単位でプロラックスされ、最小課金時間は 1 分です。
Dataproc Serverless for Spark のインタラクティブ ワークロードは、プレミアム料金で課金されます。
シャッフル ストレージの料金
以下に示すシャッフル ストレージ料金は、月額料金です。標準シャッフル ストレージは 1 分、プレミアム シャッフル ストレージは 5 分の最小課金時間で、秒単位で比例して課金されます。プレミアム シャッフル ストレージは、プレミアム コンピューティング ユニットでのみ使用できます。
アクセラレータの料金
以下に示すアクセラレータ料金は、1 時間あたりの料金です。プロビジョニングされ、1 秒単位で課金されます(最小課金時間は 5 分)。
料金の例
Dataproc Serverless for Spark バッチ ワークロードを 12 DCU(spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
)で 24 時間実行し、25 GB のシャッフル ストレージを消費した場合の料金は、us-central1 リージョンで次のように計算されます。
Total compute cost = 12 * 24 * $0.060000 = $17.28 Total storage cost = 25 * ($0.040/301) = $0.03 ------------------------------------------------ Total cost = $17.28 + $0.03 = $17.31
注:
- なお、各例では 1 か月の日数を 30 日と仮定しています。バッチ ワークロードの期間が 1 日であるため、月間シャッフル ストレージ率は 30 で割られます。
Dataproc Serverless for Spark のバッチ ワークロードを 12 個の DCU と 2 個の L4 GPU(spark.driver.cores=4
、spark.executor.cores=4
、
spark.executor.instances=2
、spark.dataproc.driver.compute.tier=premium
、
spark.dataproc.executor.compute.tier=premium
、
spark.dataproc.executor.disk.tier=premium
、
spark.dataproc.executor.resource.accelerator.type=l4
)で 24 時間実行し、25 GB のシャッフル ストレージを消費した場合の料金計算は次のとおりです。
Total compute cost = 12 * 24 * $0.089000 = $25.632 Total storage cost = 25 * ($0.1/301) = $0.083 Total accelerator cost = 2 * 24 * $0.6720 = $48.39 ------------------------------------------------ Total cost = $25.632 + $0.083 + $48.39 = $74.105
注:
- なお、各例では 1 か月の日数を 30 日と仮定しています。バッチ ワークロードの期間が 1 日であるため、月間シャッフル ストレージ率は 30 で割られます。
Dataproc Serverless for Spark インタラクティブ ワークロードを 12 DCU(spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
)で 24 時間実行し、25 GB のシャッフル ストレージを消費した場合の料金は、次のとおりです。
Total compute cost = 12 * 24 * $0.089000 = $25.632 Total storage cost = 25 * ($0.040/301) = $0.03 ------------------------------------------------ Total cost = $25.632 + $0.03 = $25.662
注:
- なお、各例では 1 か月の日数を 30 日と仮定しています。バッチ ワークロードの期間が 1 日であるため、月間シャッフル ストレージ率は 30 で割られます。
料金の見積もり例
バッチ ワークロードが完了すると、Dataproc Serverless for Spark は、完了したワークロードで消費された DCU、アクセラレータ、シャッフル ストレージ リソースの合計の概算値を含むUsageMetricsを計算します。ワークロードを実行した後、gcloud dataproc batches describe BATCH_ID
コマンドを実行してワークロードの使用状況の指標を表示し、ワークロードの実行にかかる費用を見積もることができます。
例:
Dataproc Serverless for Spark は、1 つのマスターと 2 つのワーカーを持つエフェメラル クラスタでワークロードを実行します。各ノードは 4 個の DCU(デフォルトはコアあたり 4 個の DCU、spark.dataproc.driver.disk.size
を参照)と 400 GB のシャッフル ストレージ(デフォルトはコアあたり 100 GB、spark.driver.cores
を参照)を消費します。ワークロードの実行時間は 60 秒です。また、各ワーカーには 1 つの GPU があり、クラスタ全体で合計 2 つになります。
ユーザーは、gcloud dataproc batches describe BATCH_ID --region REGION
を実行して使用状況の指標を取得します。コマンドの出力には、次のスニペットが含まれます(milliDcuSeconds
: 4 DCUs x 3 VMs x 60 seconds x 1000
=
720000
、milliAcceleratorSeconds
: 1 GPU x 2 VMs x 60 seconds x 1000
=
120000
、shuffleStorageGbSeconds
: 400GB x 3 VMs x 60 seconds
= 72000
):
runtimeInfo: approximateUsage: milliDcuSeconds: '720000' shuffleStorageGbSeconds: '72000' milliAcceleratorSeconds: '120000'
他の Google Cloud リソースの使用
Dataproc Serverless for Spark のワークロードは、オプションで以下のリソースを利用できます(これらに限定されません)。各リソースは、それぞれ独自の料金設定で課金されます。
次のステップ
- Dataproc Serverless のドキュメントを読む。
- Dataproc Serverless を使ってみる。
- 料金計算ツールを試す。