Databricksの環境が大きくなると、「誰でも好きなクラスタを自由に作れる」状態がコスト管理と運用品質の両面でリスクになります。 Cluster Policyは、クラスタ作成時に使えるパラメータを管理者が事前に定義・制限する仕組みです。 ユーザーに必要な柔軟性は残しつつ、インスタンスタイプ・ノード数・オートスケーリング範囲・タグなどを統制できます。
この記事では、Cluster Policyの仕組み、定義の書き方、コスト統制・権限制御・標準化の3つの実務観点、 そしてDatabricks認定試験で問われるポイントを整理します。
Cluster Policyは、JSON形式で定義するクラスタ設定のテンプレートです。 ワークスペース管理者がPolicyを作成し、ユーザーやグループに対して「このPolicyを使ってクラスタを作成せよ」と割り当てます。 ユーザーはPolicy内で許可された範囲でのみクラスタを構成でき、範囲外の設定はUI上でグレーアウトされるか、API呼び出し時にエラーになります。
Policyが制御できる代表的なパラメータは以下の通りです。
| 制御対象 | 制御方法の例 | 効果 |
|---|---|---|
| インスタンスタイプ | allowlist で特定のタイプのみ許可 | 高額GPU/大型インスタンスの無断利用を防止 |
| ワーカーノード数 | maxValue で上限を設定 | コスト上限の物理的な制約 |
| オートスケーリング | 有効/無効をfixed値で強制 | 「常に最大ノードで起動」を防止 |
| Databricks Runtime | 特定バージョンのみ許可 | 環境差異の排除、LTS統一 |
| カスタムタグ | 特定のタグを必須化 | コスト配賦(部門別チャージバック) |
| スポットインスタンス | spot/on-demandの比率を強制 | コスト削減 vs 安定性のバランス |
| Instance Pool | 特定のPoolを強制利用 | 起動高速化+インスタンス管理の統制 |
Policy定義はJSON形式で、各パラメータに対して制約の種類(fixed / range / allowlist / regex など)を指定します。 以下は実務でよく使われるパターンの骨格です。
{
"spark_version": {
"type": "regex",
"pattern": "14\\.3\\.x-scala.*",
"defaultValue": "14.3.x-scala2.12"
},
"node_type_id": {
"type": "allowlist",
"values": ["i3.xlarge", "i3.2xlarge", "m5.xlarge"],
"defaultValue": "i3.xlarge"
},
"num_workers": {
"type": "range",
"minValue": 1,
"maxValue": 8,
"defaultValue": 2
},
"autoscale.min_workers": {
"type": "range",
"minValue": 1,
"maxValue": 4
},
"autoscale.max_workers": {
"type": "range",
"minValue": 2,
"maxValue": 8
},
"custom_tags.CostCenter": {
"type": "fixed",
"value": "engineering"
},
"autotermination_minutes": {
"type": "range",
"minValue": 10,
"maxValue": 120,
"defaultValue": 30
}
}この定義では、Runtimeは14.3.x系のみ、ノードタイプは3種類から選択、ワーカー数は1〜8、 自動終了は10〜120分(デフォルト30分)、CostCenterタグは"engineering"で固定です。 ユーザーはこの範囲内でクラスタを構成できます。
Cluster Policyを導入する最大の動機はコスト統制です。特にチームが10人を超えると、 「誰かが巨大なクラスタを起動して放置した」「GPUインスタンスを検証で使ったまま終了し忘れた」 といった事故が起きやすくなります。
コスト統制に効くPolicy設定は主に3つあります。
これらを組み合わせると、「最大8ノード・30分で自動終了・GPUなし」のような制約をPolicyレベルで強制でき、 ユーザーがうっかり巨大クラスタを放置するリスクを構造的に排除できます。
Policyは作成しただけでは効果がありません。ユーザーやグループに「どのPolicyを使えるか」を割り当てる必要があります。 割り当てにはDatabricksのアクセス制御(ACL)を使います。
実務では「開発者グループにはコスト制限付きPolicy」「MLチームにはGPU許可Policy」「管理者は制限なし」 のように、ロールに応じたPolicyを割り当てます。Unrestricted Policy(制限なしPolicy)への CAN_USEを持つユーザーは事実上なんでも作れるため、これを付与する対象は厳選する必要があります。
PolicyはコストだけでなくEnvironmentの統制にも使えます。 「全チームが同じRuntimeバージョンを使う」「必ずLTSを使う」「Photonを有効にする」 「特定のSpark設定を強制する」といったルールをPolicyで定義すると、 「環境差異で動かない」「バージョン違いでバグが再現しない」といった問題を減らせます。
タグの必須化もPolicy経由で行えます。コスト配賦(チャージバック)を行う組織では、 CostCenterやProjectタグを必須にしておくと、後から「どのチームがいくら使ったか」を 正確にトラッキングできます。タグなしのクラスタが作成されること自体を防げるのがPolicyの利点です。
Cluster PolicyはAll-Purpose Cluster(対話型)だけでなく、Job Cluster(ジョブ実行用)にも適用できます。 ジョブ定義時に使用するPolicyを指定すると、そのジョブが起動するクラスタがPolicy制約に従います。
実務上、Job Clusterの方がコストインパクトが大きい場合が多く(夜間バッチで大量ノードを使うケースなど)、 ジョブ向けPolicyを別途定義して「本番バッチは最大16ノード」「開発バッチは最大4ノード」のように 分けるのが一般的です。
Databricks認定試験では、Cluster Policyそのものの定義構文を書かせる問題はほぼ出ません。 代わりに、以下のような「どの機能で何を実現するか」の判断が問われます。
試験では「Instance Pool」「Cluster Policy」「Permissions」を混同させる選択肢が出やすいので、 それぞれの目的の違いを整理しておくことが重要です。
Data Engineer / Administration
問題 1
データエンジニアリングチーム(15名)が自由にクラスタを作成している。先月のDBU消費が予算の3倍に達した。管理者が最小限の運用負荷で再発を防止したい。最も適切な対策はどれか。
正解: A
コスト超過の原因はクラスタ構成の無制限な自由度です。Cluster Policyでノード数・自動終了・インスタンスタイプを制限すれば、構造的に再発を防止できます。手動確認は運用負荷が高く持続困難、Instance Poolは起動高速化でありコスト制限ではありません、Unity Catalogはデータアクセス制御でクラスタコストとは無関係です。
Cluster Policyを使わずにクラスタを自由に作れる環境は問題ですか?
本番環境では問題です。Policyなしだと、ユーザーが巨大なインスタンスタイプや大量ノードのクラスタを自由に作成でき、意図しないコスト急増や環境差異の原因になります。開発初期の検証環境では許容される場合もありますが、チームが拡大したらPolicyの導入を強く推奨します。
Cluster PolicyとInstance Poolの違いは?
Cluster Policyは「どんなクラスタを作れるか」のルール(インスタンスタイプ、ノード数、タグなど)を制御します。Instance Poolは「起動済みのインスタンスを事前確保して起動を高速化する」仕組みです。両者は補完関係にあり、Policyで使用するPoolを固定指定するのが実務上のベストプラクティスです。
Cluster PolicyはDatabricks試験でどう出題されますか?
Data Engineer AssociateやAdministration関連のドメインで出題されます。主な問われ方は「コスト統制のためにどの機能を使うか」「ユーザーが変更できるパラメータを制限するには何を使うか」「Policyの適用対象は誰か(ユーザー/グループ)」の3パターンです。Policyの定義構文そのものよりも、用途と効果の理解が重視されます。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Databricks資格一覧|全7試験・難易度・勉強法
Databricks認定資格全7試験の一覧・難易度・出題範囲・合格ラインを徹底解説。2026年最新版の公式試験ガイドに準...
Databricks試験の難易度ランキング|全7資格を徹底比較
Databricks認定全7試験の難易度をランキング形式で徹底比較。合格率・学習時間・出題傾向から難易度を分析。...
Databricks資格の勉強方法|最短合格ルートと学習時間の目安
Databricks認定資格に最短で合格するための勉強方法を完全ガイド。公式リソース・問題集・学習スケジュールを徹底解説...
Databricks Data Engineer Associate完全解説|出題範囲・問題例・合格戦略
Databricks Certified Data Engineer Associate試験を徹底解説。5つの出題ドメイ...
Databricks Data Engineer Professional完全解説|上級試験の攻略法
Databricks Certified Data Engineer Professional試験を徹底解説。10の出題...