サーバーレス計算の管理

このページでは、サーバーレスコンピュートへのアクセス管理方法とサーバーレスレート制限の実装方法を説明します。 ワークスペース管理者は、組み込みのサーバーレス計算オブジェクトを使ってサーバーレス計算を管理します。 サーバーレス コンピューティング オブジェクトは、サーバーレス ワークロードのアクセス許可の境界を定義するリソースの種類です。 ワークスペースには、次の 2 つの既定のコンピューティング オブジェクトが自動的に取得されます。

  • 既定の対話型コンピューティング: ノートブックと Databricks Connect へのアクセスを制御します。
  • 既定の自動コンピューティング: Lakeflow 上のジョブと Spark 宣言パイプラインへのアクセスを制御します。

既定では、すべてのワークスペース ユーザーが両方のオブジェクトで 使用できるため 、既存のワークロードは変更なしで引き続き実行されます。 ワークスペース管理者は、いずれかのオブジェクトからユーザーまたはグループを削除してアクセスを制限できます。 アクセス権を失ったユーザーには、製品サーフェスで サーバーレス コンピューティング オプションが使用できないと表示されます。

サーバーレス コンピューティングへのアクセスを管理する

サーバーレス コンピューティングにアクセスできるユーザーを制御するために、ワークスペース管理者は 、既定の対話型コンピューティング オブジェクトと 既定の自動コンピューティング オブジェクトのアクセス許可を編集できます。 ワークスペース管理者は既定で [管理可能] アクセス許可を持っていますが、任意のユーザーにアクセス許可を付与できます。 これらのデフォルトの計算オブジェクトは名前の変更や削除ができません。

既定の対話型コンピューティング オブジェクトと自動コンピューティング オブジェクトが一覧表示されている [コンピューティング] ページの [サーバーレス] タブ

各サーバーレス コンピューティング オブジェクトは、次の 2 つのアクセス許可レベルをサポートします。

許可 次のことを実行できます
使用できる このコンピューティングでワークロードを実行する
管理できる このコンピューティングでワークロードを実行し、コンピューティングのアクセス許可を編集する

また、Server Access Control APIを使ってサーバーレス計算オブジェクトの権限をプログラム的に管理することもできます。

サーバーレス対話型へのアクセスを制限する

ノートブックと Databricks Connect にサーバーレスを使用できるユーザーを制限するには:

  1. ワークスペースのサイドバーで [コンピューティング] をクリックします。
  2. [ サーバーレス ] タブで、Kebab メニューの [Kebab] メニュー アイコン をクリックします。[ 既定の対話型コンピューティング] の横にある [ アクセス許可の編集] をクリックします。
  3. [すべてのユーザー] グループ、またはすべてのワークスペース ユーザーを含むグループを削除します。
  4. 承認する特定のユーザー、グループ、またはサービス プリンシパルのみを追加します。

ユーザーの対話型サーバーレスアクセス許可を取り消すと、ユーザーがセルを実行すると、サーバーレスに既にアタッチされているノートブックは接続に失敗し、ユーザーにはノートブックのコンピューティング ピッカーで使用可能な サーバーレス オプションが表示されなくなります。 Databricks Connect を実行しようとすると、接続要求は失敗し、ユーザーがサーバーレスにアクセスできないことを示すエラーが表示されます。

サーバーレス ジョブとパイプラインへのアクセスを制限する

ジョブとパイプラインでサーバーレスを使用できるユーザーを制限するには:

  1. ワークスペースのサイドバーで [コンピューティング] をクリックします。
  2. [サーバーレス] タブで、Kebab メニューの [Kebab] メニュー アイコンをクリックします。[既定の自動コンピューティング] の横にある [アクセス許可の編集] をクリックします。
  3. [すべてのユーザー] グループ、またはすべてのワークスペース ユーザーを含むグループを削除します。
  4. 承認する特定のユーザー、グループ、またはサービス プリンシパルのみを追加します。

ユーザーの自動サーバーレス権限を取り消すと、サーバーレス上で動作している既存のジョブやパイプラインはすべて実行できなくなります。 サーバーレスでジョブを実行しようとすると、ユーザーにエラー メッセージが表示されます。

既定の自動コンピューティングへのユーザーのアクセスを取り消す前に、影響を受けるユーザーが所有するジョブとパイプラインを監査します。 次のクエリは、特定のユーザーの最近のサーバーレス ワークロードを識別します。

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_compute_idusage_metadataフィールドが含まれています。 これを使用して、ワークロードが実行されたコンピューティング オブジェクトを追跡します。

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;

サポートされたサーバーレス計算アクセス制御機能

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

対話型 (既定の対話型コンピューティング)

  • ノートブックとサーバーレス GPU ノートブック
  • Databricks Connect

自動 (既定の自動コンピューティング)

  • ジョブとサーバーレス GPU ジョブ
  • Lakeflow 上の Spark 宣言型パイプライン

サポートされていないサーバーレス計算アクセス制御機能

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

  • Databricks SQL (DBSQL)
  • バッチ推論 (ai_query())
  • Model Serving
  • Foundation Model API のプロビジョニング済みスループット エンドポイント
  • Lakebase
  • Databricks Apps
  • エージェント評価と合成データ
  • ベクター検索のインデックス作成
  • 予測最適化
  • レイクハウスの監視
  • 専用の計算上での細かいアクセス制御。 専用のコンピュートへのアクセスによって、ユーザーが細かいアクセス制御を使用できるかどうかが決まります。

ここに記載されていない機能については、Azure Databricks アカウント チームに問い合わせて、その状態を確認してください。

サーバーレスアクセス制御の制限

Important

サービスの中断が発生した場合、アクセスチェックがオープンに失敗し、アクセスが拒否されるユーザーはサーバーレスのワークロードを開始できるかもしれません。 この機能はサーバーレス計算へのアクセスを管理することを目的としています。 この機能は最終請求額の絶対的な支出上限を設けるために使わないでください。 Azure Databricksは、そのようなイベント中に動作するワークロードにかかるコストについて責任を負いません。

  • 既定のコンピューティング オブジェクトの名前を変更または削除することはできません。
  • サーバーレスで実行するように既に構成されているジョブまたはパイプラインは、既定の自動コンピューティングへの Can Use アクセスを失ったユーザーに対して失敗します。 ユーザーのアクセス権を削除する前に、アクティブなワークロードを確認します。
  • バックグラウンド コンピューティング (システムによって開始されるジョブ) は、サーバーレス コンピューティング アクセス制御から除外されます。

サーバーレス計算でレート制限を設定する

Important

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

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

レート制限は自動化されたワークロード(ジョブやLakeflowのSpark宣言型パイプライン)にのみ適用されます。 インタラクティブなワークロード(ノートブックやDatabricks Connect)はレート制限はありません。

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

レート制限の上限はワークロードごとに適用されます。 各ジョブとコンピュートオブジェクトを使用する各パイプラインは独立してキャップが設定されています。 同じ計算オブジェクトを使用する2つのジョブはそれぞれフルキャップを受け取ります。 1つのジョブ内で、その上限はジョブのすべてのタスクで共有されます。

料金制限の要件

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

サーバーレス計算をレート制限で作成します

  1. ワークスペースのサイドバーで [コンピューティング] をクリックします。
  2. サーバーレスタブで、サーバーレス計算を作ってください。
  3. 名前を入力してください。
  4. サイズについては、適用されるレート制限をSmallから2X-Largeまで選択します。 ワークスペースのデフォルトの上限を使用するには、Default のままにしてください。
  5. Create をクリックしてください。

名前を入力し、サイズをMediumに設定した新しいサーバーレス自動計算ダイアログ

新しい計算オブジェクトは Serverless タブに Automatedのタイプで表示されます。 ユーザーがワークロードを実行できるようにするには、「サーバーレスコンピュートへのアクセス管理」に記載されているように「使用可能」または「管理可能」を付与します。 デフォルトの計算オブジェクトのサイズを編集することはできません。

レート制限サイズ

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

サイズ 近似キャップ
小さい ~60 DBUs/時間
Medium ~1時間あたり120 DBU
Large 約240 DBUs/時間
X-Large 約 480 DBUs/時間
2 倍大 約960 DBUs/時間

これらのキャップは方向性の閾値です。 実際の利用状況はサーバーレスインフラの本質的な変動性のために変動することがあります。

デフォルトを選択すると、ワークスペースのデフォルト上限が適用されます:プレミアム層のワークスペースは中規模、エンタープライズ層のワークスペースは大規模です。 これらはサーバーレス自動化ワークロードの既存のデフォルト最大自動スケーリング上限と一致します。

レート制限された計算でワークロードを実行する

計算オブジェクトの 「Can Use 」を持つユーザーは、ジョブやパイプラインの設定時に選択できます。 その後、ワークロードはコンピュートのレート制限内で動作します。 もしワークロードがコンピュートオブジェクトを指定していなければ、ワークスペースの デフォルトの自動コンピュートにフォールバックします。 ユーザーがそのデフォルトにアクセスできなければ、ワークロードは実行されません。

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

レート制限がワークロードを制限した場合、Lakeflow UIのクエリ履歴やパイプラインでその影響を確認できます。

レート制限の制約

  • レート制限はSparkエグゼキューターの自動スケーリングのみに制限します。 ドライバー、REPLのVM、GPU、マテリアル化されたビューやストリーミングテーブルの更新など、他のコストコンポーネントには上限が設けられていません。
  • 各サイズのDBU/時間上限は推定値です。 実際の使用量は、適用される制限のわずかな変動やサーバーレスインフラの本質的な変動により目標を超えることがあります。
  • 2X-Largeサイズのワークロードは、物理クラスタのサイズが256エキューキューターに制限されているため、期待以下のパフォーマンスを発揮することがあります。 同じランタイムクラスターに2つ以上の2Xラージワークロードがスケジューリングされると、それぞれが期待されるパフォーマンスを下回る可能性があります。
  • 請求実装の詳細により、同じワークロードでも異なるレート制限サイズで異なるDBU使用が発生することがあります。
  • デフォルトの計算オブジェクトにレート制限を設定することはできません。