Databricks サンドボックス
ベータ版
この機能はベータ版です。ワークスペースでこの機能プレビューを有効にするには、ワークスペースのプレビューページで Databricks Sandbox 設定を有効にします。Databricksのプレビューを管理するを参照してください。
現在、Databricks ではこの機能の使用に対して課金していません。ただし、ベータ版の機能に関するコストと価格は変更される可能性があります。
Databricks Sandbox を使用すると、Databricks REST API、SDK、または Databricks CLI を介して、分離された環境で信頼性の低いコードを実行できます。サンドボックスは、コードを動的に実行するためのServerlessでオンデマンドなコンピュートを提供します。
各サンドボックスには、永続的なホームディレクトリが含まれています。サンドボックスはいつでも停止および起動でき、ホームディレクトリ内のデータは保持されます。
サンドボックスは次の用途に最適です:
- エージェントハーネスを実行しています。
- ユーザーが作成したコードまたはAIが作成したコードの実行。
- バックグラウンドタスクまたはワーカーの実行。
- インタラクティブなIDEまたはSSHセッションの起動。
前提条件
-
ワークスペースは、サポートされているリージョンにある必要があります。 地域限定で利用できる機能を参照してください。
-
SDK を使用するには、Python 3.10 以降が必要です。
-
SSH経由でDatabricks CLIを使用するには、Databricks CLIをインストールし、
databricks auth loginで認証します。Bashdatabricks auth login # authenticate to a Databricks workspace
クイックスタート
いくつかのコード行を使用してサンドボックスを作成し、始めましょう:
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.sandbox import Sandbox
w = WorkspaceClient()
created = w.sandbox.create_sandbox(
sandbox=Sandbox(),
sandbox_id="my-sandbox",
)
print(created.name) # "sandboxes/my-sandbox"
サンドボックスの作成、サンドボックス内でのコマンドの実行、およびライフサイクルの管理に関する詳細な手順については、Create and manage sandboxes with the SDK を参照してください。
コンピュートサイズ
Databricks Sandboxには、4つのvCPUと8 GBのRAMが付属しています。このサイズは構成できません。
ストレージ
ベータ期間の終了時に、Databricksはサンドボックスに保存されたデータの1回限りの消去を実行する場合があります。失っても問題のないもののみを保存してください。
Databricks Sandbox には、ネットワーク接続型ストレージが付属しています。
- ホームディレクトリ(
/home/sandbox-agent)内のデータは、Databricks Sandbox の有効期間中保持されます。Databricks Sandbox を停止した後でも、次回のセッションを起動するときにホームディレクトリ内のデータを利用できます。 - ホームディレクトリは最大100 GBまで保存できます。これは現時点では変更できません。
- ホームディレクトリの外に最大 10 GB まで保存できますが、このデータはサンドボックスを停止すると削除されます。
ネットワーキング
サンドボックスからのネットワークエグレスに関する制限はなく、エグレスの設定はできません。
使用状況とコスト
請求使用状況に関する詳細については、Databricks の価格を参照してください。Databricks では、以下のサンドボックス利用分の課金を見込んでいます。
- ランタイムコンピュート : Databricks Sandbox の実行中に時間単位で課金されます。
- 永続ストレージ :Databricks Sandbox が削除されるまで、ホームディレクトリに保存されているデータに対して料金が請求されます。Databricks Sandbox インスタンスが存在する限り、ストレージに課金が発生します。ストレージの料金の発生を停止するには、サンドボックスを削除する必要があります。
- データ転送
SDKを介してサンドボックスにアクセスする(推奨)
サンドボックスにアクセスするには、Databricks SDK for Pythonの使用が推奨されます。利用可能なコマンドについては Databricks SDK for Python サンドボックスリファレンスを、例については SDK を使用したサンドボックスの作成と管理を参照してください。
CLI を介してサンドボックスにアクセスする
SSH経由でサンドボックスにアクセスすることもできます。これは、ローカルマシンをアクティブにしたままにしておく必要なく、長時間のエージェントタスクを実行するのに役立ちます。たとえば、次のことができます。
- SSH経由でDatabricks CLIからコーディングエージェントを直接操作します。
- デスクトップIDEまたはCursor、Claude、Codexなどのエージェントハーネスを接続します。
サンドボックスを作成し、Databricks CLI でそれに接続するには、次を実行します:
databricks sandbox create # create your sandbox
databricks sandbox register # optional: register SSH keys
databricks sandbox ssh # SSH to your default sandbox
サンドボックスに SSH 接続すると、Databricks CLI がインストールされ、サンドボックスを実行している Databricks ワークスペースに対する認証が行われます。Git 認証情報を設定することもできます。Git プロバイダーを Databricks に接続するを参照してください。
詳細なコマンド ヘルプについては、databricks sandbox -h を実行するか、sandboxコマンド・グループを参照してください。
サンドボックスに最初に SSH 接続するときに、ワークスペースに対して AI ゲートウェイが設定されている場合、Databricks は Claude や Codex などの一般的なコーディングハーネスを自動的に設定して AI ゲートウェイを使用するようにします。詳細については、カスタムモデル Endpoint の作成を参照してください。
マネージドOmnigent
Managed Omnigentは、実行バックエンドとしてDatabricks Sandboxを使用します。詳細については、「Omnigent on Databricks」を参照してください。
制限事項:
- クォータが適用されます。ユーザーあたり最大 40 個のアクティブなサンドボックス(すべての状態を合わせて合計 400 個)、およびワークスペースあたり最大 100 個のアクティブなサンドボックス(合計 1,000 個)を持つことができます。
- Databricks Sandbox は汎用の Spark ランタイムではなく、コードを実行するためのコンピュートプリミティブです。Spark ワークロードの場合は、Serverless コンピュートに接続するを使用します。
- Databricks Sandbox のパブリック IP アドレスは、いつでも変更される可能性があります。The default ingress of the サンドボックスは、すべてのトラフィックに対して閉じられています。これは現時点では変更できません。
- Startup時に環境をカスタマイズしたり、ホームディレクトリの外に環境を永続化したりすることはできません。セッション間でパッケージや構成を再利用するには、ホームディレクトリに保存します。