Dataproc Serverless の料金
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 としてカウントされ、vCPU あたり 8 GB を超える 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 を消費します。vCPU の数と vCPU あたりのメモリ容量をカスタマイズするには、Spark プロパティを設定します。Compute Engine VM や Persistent Disk の追加料金は発生しません。
データ コンピューティング ユニット(DCU)の料金
以下に示す DCU レートは 1 時間あたりの料金です。料金は日割り計算され、秒単位で課金され、最小課金時間は 1 分です。
Dataproc Serverless for Spark のインタラクティブ ワークロードはプレミアムで課金されます。
シャッフル ストレージの料金
以下に示すシャッフル ストレージ料金は月額料金です。日割り計算で秒単位で課金されます。標準シャッフル ストレージの最小課金時間は 1 分、プレミアム シャッフル ストレージの最小課金時間は 5 分です。プレミアム シャッフル ストレージは、プレミアム コンピューティング ユニットでのみ使用できます。
アクセラレータの料金
以下に示すアクセラレータ レートは 1 時間あたりの料金です。料金は日割り計算され、秒単位で課金され、最小課金時間は 5 分です。
料金の例
Dataproc Serverless for Spark バッチ ワークロードが us-central1 リージョンで 12 の DCU(spark.driver.cores=4
、spark.executor.cores=4
、spark.executor.instances=2
)で 24 時間実行され、25 GB のシャッフル ストレージを使用する場合、料金は次のようになります。
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
)を使用して us-central1 リージョンで 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 のインタラクティブ ワークロードが us-central1 リージョンで 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 は UsageMetrics を計算します。これには、完了したワークロードで消費された DCU、アクセラレータ、シャッフル ストレージ リソースの総量の概算が含まれます。ワークロードの実行後、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 を使ってみる。
- 料金計算ツールを試す。