メインコンテンツまでスキップ

Serverlessコンピュートの管理

このページでは、Serverlessコンピュートへのアクセスを管理する方法と、Serverlessのレート制限を実装する方法について説明します。Workspace 管理者は、組み込みの Serverless コンピュートオブジェクトを使用して Serverless コンピュートを管理します。Serverlessコンピュートオブジェクトは、Serverlessワークロードの権限境界を定義するリソースタイプです。ワークスペースには、defaultのコンピュートオブジェクトが自動的に2つ付与されます:

  • デフォルトのインタラクティブ コンピュート : ノートブックおよびDatabricks Connectへのアクセスを管理します。
  • Default Automated コンピュート : ジョブおよびLakeFlow上のSpark宣言型パイプラインへのアクセスを管理します。

By default、すべてのワークスペースユーザーが両方のオブジェクトに対して 使用可能 権限を持っているため、既存のワークロードは変更なしで実行され続けます。ワークスペース管理者は、いずれかのオブジェクトからユーザーまたはグループを削除してアクセスを制限できます。アクセス権を失ったユーザーには、製品インターフェース上で Serverless コンピュートオプションが利用不可として表示されます。

Serverless コンピュートへのアクセスを管理する

Serverlessコンピュートへのアクセス権を制御するために、ワークスペース管理者は「 Default Interactive Compute 」および「 Default Automated Compute 」オブジェクトの権限を編集できます。ワークスペース管理者にはdefaultで「 管理可能 」権限が付与されていますが、任意のユーザーにその権限を付与することができます。これらのデフォルトのコンピュートオブジェクトは、名前の変更や削除ができません。

defaultのインタラクティブおよび自動コンピュートオブジェクトを一覧表示する、コンピュートページの「Serverless」tab

各 Serverless コンピュートオブジェクトは、2 つの権限レベルをサポートしています:

権限

次のことができます:

Can Use

このコンピュートでワークロードを実行する

Can Manage

このコンピュート上でワークロードを実行し、コンピュートの権限を編集します

権限

次のことができます:

Can Use

このコンピュートでワークロードを実行する

Can Manage

このコンピュート上でワークロードを実行し、コンピュートの権限を編集します

アカウント Access Control API を使用して、Serverless コンピュートオブジェクトの権限をプログラムで管理することもできます。

Serverlessインタラクティブへのアクセスを制限する

ノートブックおよびDatabricks Connectでserverlessを使用できるユーザーを制限するには、次の手順を実行します。

  1. ワークスペースのサイドバーで「 コンピュート 」をクリックします。
  2. Serverless tab で、ケバブメニューアイコン。 Default Interactive コンピュート の横にあるケバブメニュー をクリックし、[Edit permissions] をクリックします。
  3. All Users グループ、またはすべてのワークスペースユーザーを含むグループを削除します。
  4. 承認する特定のユーザー、グループ、またはService Principalのみを追加してください。

ユーザーのインタラクティブなServerless権限を取り消すと、Serverlessに既にアタッチされているノートブックは、ユーザーがセルを実行したときに接続に失敗し、ユーザーはノートブックのコンピュートピッカーで Serverless オプションを利用できなくなります。Databricks Connect の実行を試みると、ユーザーがserverlessにアクセスできないことを示すエラーが発生し、接続要求は失敗します。

Serverless ジョブおよびパイプラインへのアクセスを制限する

ジョブおよびパイプラインでServerlessを使用できるユーザーを制限するには:

  1. ワークスペースのサイドバーで「 コンピュート 」をクリックします。
  2. In the Serverless tab, click the kebab menu ケバブメニューアイコン。 next to Default Automated コンピュート , then click Edit permissions .
  3. All Users グループ、またはすべてのワークスペースユーザーを含むグループを削除します。
  4. 承認する特定のユーザー、グループ、またはService Principalのみを追加してください。

ユーザーの自動Serverless権限を取り消すと、Serverlessで実行されているそのユーザーの既存のジョブやパイプラインはすべて実行に失敗します。Serverlessでジョブを実行しようとすると、ユーザーにエラーメッセージが表示されます。

ユーザーの Default Automated コンピュート へのアクセス権を取り消す前に、影響を受けるユーザーが所有するジョブとパイプラインを監査してください。次のクエリーは、特定のユーザーの最近のServerlessワークロードを特定します:

SQL
SELECT *
FROM system.billing.usage
WHERE usage_date >= date_add(now(), -30)
AND billing_origin_product IN ('JOBS', 'DLT')
AND identity_metadata.run_as = '<user_email>';

usage_metadata 列を確認して、ジョブIDやパイプラインIDなどの影響を受けるリソースを確認してください。

Serverless usageの監査

サーバレスの請求レコードには、usage_metadata 内に serverless_compute_id フィールドが含まれています。これを使用して、ワークロードがどのコンピュートオブジェクト上で実行されたかを追跡します:

SQL
SELECT
usage_metadata.serverless_compute_id,
identity_metadata.run_as,
SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE billing_origin_product IN ('JOBS', 'DLT', 'INTERACTIVE')
AND usage_metadata.serverless_compute_id IS NOT NULL
AND usage_date >= date_add(now(), -30)
GROUP BY 1, 2
ORDER BY 3 DESC;

サポートされている Serverless コンピュートのアクセス制御機能

以下の機能は、Serverlessコンピュートのアクセス制御と統合されています。

インタラクティブ(default インタラクティブコンピュート)

  • ノートブックおよびServerless GPU ノートブック
  • Databricks Connect

自動 (default の自動コンピュート)

  • ジョブおよびServerless GPUジョブ
  • Lakeflow上のSpark宣言型パイプライン

Unsupported Serverless コンピュートのアクセス制御機能

以下の機能は、Serverless コンピュートのアクセス制御と統合されていません:

  • Databricks SQL(DBSQL)
  • バッチ推論 (ai_query())
  • モデルサービング
  • 基盤モデル API プロビジョニング throughput Endpoint
  • Lakebase
  • Databricks Apps
  • エージェント評価と合成データ
  • ベクトル検索インデックス作成
  • 予測最適化
  • レイクハウスモニタリング
  • 専用コンピュートでのきめ細かなアクセス制御を参照してください。専用コンピュートへのアクセス権によって、ユーザーがきめ細かなアクセス制御を使用できるかどうかが決まります。

ここに記載されていない機能については、Databricks アカウント チームにそのステータスをお問い合わせください。

Serverless アクセス制御の制限

重要

サービスの中断が発生した場合、アクセスチェックが「フェイルオープン」状態になり、本来アクセスを拒否されるはずのユーザーがServerlessワークロードを開始できてしまう可能性があります。この機能は、Serverlessコンピュートへのアクセスを管理しやすくすることを目的としています。最終的な請求額に対する絶対的な支出上限を保証するために、この機能を使用しないでください。Databricks は、そのようなイベント中に実行されたワークロードによって発生したコストについては責任を負いません。

  • default コンピュートオブジェクトの名前変更や削除はできません。
  • Serverlessで実行するように設定済みのジョブまたはパイプラインは、Default Automated コンピュートへの Can Use アクセス権を失ったユーザーに対しては失敗します。ユーザーのアクセス権を削除する前に、アクティブなワークロードを確認してください。
  • バックグラウンドコンピュート(システムが開始したジョブ)は、Serverlessコンピュートのアクセス制御の対象外です。

Serverlessコンピュートのレート制限を設定する

備考

プレビュー

レート制限は プライベートプレビュー 中です。このプレビューに参加するには、Databricksアカウントチームにお問い合わせください。プレビューに参加後、ワークスペース管理者は プレビュー ページから Serverless コンピュート Rate Limit 設定を使用して有効にできます。

レート制限は、自動化されたワークロードがオートスケールできる範囲を制限することで、その支出額に上限を設けます。ワークスペース管理者は、カスタムの 自動化された コンピュートオブジェクトを作成し、それぞれにレート制限を割り当てることができます。レート制限のあるコンピュートオブジェクトでワークロードが実行される場合、Serverlessオートスケーラーは、そのオブジェクトに設定されたサイズを超えてワークロードの Spark エグゼキューターをスケールすることはありません。

レート制限は、自動化されたワークロード(ジョブおよびLakeflow上のSpark宣言型パイプライン)にのみ適用されます。対話型ワークロード(ノートブックおよびDatabricks Connect)にはレート制限はありません。

レート制限は「 サイズ 」として表現されます。各サイズは、ワークロードが1時間あたりに消費できる DBU のおおよその上限に対応しています。レート制限は、Spark エグゼキューターのオートスケールのみを制限します。これは、ドライバー、REPL VM、GPU、またはマテリアライズドビューやストリーミングテーブルの更新など、ワークロードの他のコンポーネントを制限するものではありません。

レート制限の上限は、ワークロードごとに適用されます。コンピュートオブジェクトを使用する各ジョブおよび各パイプラインは、個別に上限が設定されます。同じコンピュートオブジェクトを使用する2つのジョブは、それぞれ上限の全量を受け取ります。単一のジョブ内では、上限はジョブのすべてのタスク間で共有されます。

レート制限の要件

  • Serverlessコンピュートオブジェクトを作成および管理するには、ワークスペース管理者であるか、無制限のクラスター作成権限を持つユーザーである必要があります。
  • Serverless のレート制限には、Databricks Runtime 17.3.1 以降が必要です。ジョブは最新のランタイムを自動的に使用します。Lakeflow 上の Spark宣言型パイプラインについては、プレビューチャンネルのランタイムを選択してください。

レート制限付きのServerlessコンピュートを作成する

  1. ワークスペースのサイドバーで「 コンピュート 」をクリックします。
  2. Serverless tabで、 [Create serverless コンピュート] をクリックします。
  3. 名前を入力してください。
  4. Size には、適用するレート制限を Small から 2X-Large の間で選択します。ワークスペースの Default の上限を使用するには、Default に設定したままにします。
  5. 作成 をクリックします。

名前が入力され、サイズがMediumに設定された「新規Serverless自動コンピュートの作成」ダイアログ

新しいコンピュートオブジェクトは、 Serverless tab にタイプ Automated として表示されます。ユーザーがワークロードを実行できるようにするには、Serverless コンピュートへのアクセス管理 で説明されているように、 Can Use または Can Manage 権限を付与します。You can't edit the size of a default コンピュート object.

レート制限サイズ

各サイズは、おおよその時間単位の DBU 上限に対応しています:

サイズ

おおよその上限

S

~60 DBU/時間

M

1時間あたり約120 DBU

Large

~240 DBU/時間

X-Large

~480 DBU/時間

2X-Large

~960 DBU/時間

サイズ

おおよその上限

S

~60 DBU/時間

M

1時間あたり約120 DBU

Large

~240 DBU/時間

X-Large

~480 DBU/時間

2X-Large

~960 DBU/時間

これらの上限は方向性を示すthresholdです。Serverlessインフラストラクチャに内在する変動性のため、実際の使用量はこれらの値の周辺で変動する可能性があります。

Default を選択すると、ワークスペースのdefault上限が適用されます(プレミアムティアのワークスペースの場合はMedium、エンタープライズティアのワークスペースの場合はLarge)。これらは、Serverless自動ワークロードの既存のdefaultの最大オートスケール上限と一致します。

レート制限のあるコンピュートでワークロードを実行する

コンピュートオブジェクトに対する Can Use 権限を持つユーザーは、ジョブまたはパイプラインを構成する際にそのオブジェクトを選択できます。その後、ワークロードはコンピュートのレート制限下で実行されます。ワークロードでコンピュートオブジェクトが指定されていない場合、ワークスペースの デフォルトの自動コンピュート にフォールバックします。ユーザーがそのdefaultへのアクセス権を持っていない場合、ワークロードの実行は失敗します。

  • ジョブ : UIのジョブの コンピュート 設定、またはJobs APIでコンピュートIDを参照することにより、ジョブレベルでServerless コンピュートオブジェクトを選択します。IDをコピーするには、 Serverless タブでコンピュートオブジェクトを開き、 Copy compute ID をクリックします。
  • Lakeflow 上の Spark 宣言型パイプライン : Lakeflow エディターで、パイプラインの Serverless コンピュートとして自動コンピュート オブジェクトを選択します。

レート制限によってワークロードがスロットルされた場合、ワークロードのクエリー履歴、またはパイプラインの場合はLakeflow UIでその影響を確認できます。

レート制限の制限事項

  • レート制限は、Sparkエグゼキューターのオートスケールのみを制限します。ドライバー、REPL VM、GPU、マテリアライズドビューやストリーミングテーブルの更新など、その他のコストコンポーネントには上限がありません。
  • 各サイズの1時間あたりのDBU上限は推定値です。適用される制限のわずかな変動や、Serverlessインフラストラクチャに内在する変動性により、実際の使用量がターゲットを超える場合があります。
  • 物理クラスターサイズが 256 エグゼキューターに制限されているため、2X-Large サイズのワークロードは期待を下回るパフォーマンスになる可能性があります。2つ以上の 2X-Large ワークロードが同じランタイムクラスター上でスケジュールされている場合、それぞれが期待されるパフォーマンスを下回る可能性があります。
  • 課金の実装詳細により、同じワークロードであっても、レート制限のサイズが異なると DBU の使用量が異なる場合があります。
  • defaultのコンピュートオブジェクトにはレート制限を設定できません。