Important
この機能は ベータ版です。 ワークスペースでこの機能プレビューを有効にするには、ワークスペースプレビューページの Databricksサンドボックス 設定に切り替えてください。 Manage Azure Databricks プレビューを参照してください。
Databricksは現在、この機能の使用に対して料金を請求していません。 ただし、ベータ版の機能のコストや価格は変更される場合があります。
Databricks Sandboxは、Databricks REST API、SDK、またはDatabricks CLIを通じて、信頼できないコードを孤立した環境で実行できるようにします。 サンドボックスは、コードを動的に実行するためのサーバーレスのオンデマンド計算を提供します。
各サンドボックスには永続的なホームディレクトリが含まれています。 サンドボックスはいつでも停止・開始でき、ホームディレクトリ内のデータはそのまま残ります。
サンドボックスは以下の用途に理想的です:
- エージェントハーネスを運用しています。
- ユーザー作成またはAI作成のコードを実行します。
- バックグラウンド タスクやワーカーの実行。
- インタラクティブなIDEまたはSSHセッションの起動。
前提条件
ワークスペースは、サポートされているリージョンに存在する必要があります。 「利用可能なリージョンに制限がある機能」を参照してください。
SDKを使うにはPython 3.10以上が必要です。
SSH経由でDatabricks CLIを使用するには、 Databricks CLIをインストールし 、以下の方法で認証してください
databricks auth login:databricks 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"
サンドボックスの作成、コマンドの実行、ライフサイクル管理の詳細な手順については、「 SDK でサンドボックスを作成管理」をご覧ください。
コンピューティング サイズ
Databricks Sandboxは4つのvCPUと8GBのRAMを搭載しています。 このサイズは設定できません。
Storage
Warning
ベータ期間終了時に、Databricksはサンドボックスに保存されたデータの一度きりの一回限りの整理を行うかもしれません。 失う余裕のないものは保管しないでください。
Databricks Sandboxにはネットワーク接続ストレージが付属しています。
- ホームディレクトリ(
/home/sandbox-agent)のデータはDatabricksサンドボックスの寿命中永続します。 Databricks Sandboxを停止しても、次のセッション開始時にホームディレクトリ内のデータは利用可能です。 - ホームディレクトリは最大100GBまで保存可能です。 現時点では、これを変更することはできません。
- ホームディレクトリの外で最大10GBまで保存できますが、サンドボックスを停止するとこのデータは削除されます。
ネットワーク
サンドボックスからのネットワーク出口には制限がなく、出口の設定もできません。
使用コスト
請求使用量の詳細については、Databricks の価格設定をご覧ください。 Databricksは以下の請求サンドボックス利用を予想しています:
- ランタイム計算:Databricksサンドボックスが稼働中は時間単位で請求されます。
- 永続的ストレージ:Databricksサンドボックスが削除されるまで、ホームディレクトリに保存されたデータに対して請求されます。 Databricksサンドボックスインスタンスが存在する限り、ストレージは請求されます。 ストレージ料金を支払うのをやめるには、サンドボックスを削除する必要があります。
- データ転送
SDKを通じてサンドボックスにアクセスする(推奨)
Python用のDatabricks SDKがサンドボックスにアクセスする推奨方法です。 利用可能なコマンドについてはDatabricks SDK for Pythonサンドボックスの参考文献や、SDKでサンドボックスを作成・管理する例を参照してください。
CLI経由でサンドボックスにアクセスします
また、SSH経由でサンドボックスにアクセスすることもできます。 これは、ローカルマシンをアクティブに保つことなく、長期間エージェントタスクを実行するのに便利です。 例えば、あなたは次のことができます:
- コーディングエージェントはDatabricksのCLIから直接SSH経由でドライブしてください。
- デスクトップ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で接続すると、DatabricksはClaudeやCodexなどの一般的なコーディングハーネスを自動的にAIゲートウェイに設定し、ワークスペース向けにAIゲートウェイが設定されている場合に対応します。 詳細については、「 Create a custom model service 」をご覧ください。
Agent Bricks エージェントのサンドボックスを使う
エージェントを Agent Bricks CLIでビルドする場合は、SDKを自分で呼び出すのではなく、ツールとしてサンドボックスを追加してください。
agentbricks tools add sandbox を、サンドボックスがアクセスできるデータを制限する1つ以上のスコープ付きで実行します:
# Read one table.
agentbricks tools add sandbox --scope table:samples.nyctaxi.trips
# Read a volume and a workspace folder.
agentbricks tools add sandbox --scope volume:main.default.reports --scope workspace:/Workspace/Shared/data
# Allow writes to a volume.
agentbricks tools add sandbox --scope volume:main.default.output --permission read_write
コマンドはツールをプロジェクトの agent.tomlに記録し、エージェントは system.ai.sandbox MCPサービスを通じて実行時にサンドボックスを呼び出します。 デフォルトでは、サンドボックスはリクエストを送信したユーザーの権限で動作します。 アプリのサービスプリンシパルを使うには、 --auth appを追加してください。
agentbricks deployでデプロイすると、Agent Bricksはアプリのサービスプリンシパルに、--auth appを使うツールのスコープ指定リソースへのアクセス権を付与します。
管理されたオムニジェント
マネージド・オブミジェントは実行バックエンドとしてDatabricks Sandboxを使用しています。 詳細については、Databricks 上の Omnigentをご覧ください。
Limitations
- クオータ制が施行されています。 ユーザーあたり最大40個のアクティブなサンドボックス(全州合計400個)まで、ワークスペースは最大100個(合計1,000個)までしか持てません。
- Databricks Sandboxはコード実行のための計算プリミティブであり、汎用的なSparkランタイムではありません。 Sparkワークロードについては、 Connectを使ってサーバーレスコンピュートを活用してください。
- Databricksサンドボックスの公開IPアドレスはいつでも変更される可能性があります。 サンドボックスのデフォルト入口はすべてのトラフィックに対して閉鎖されています。 この時点では変更できません。
- 起動時に環境をカスタマイズしたり、ホームディレクトリ以外の環境を永続化することはできません。 セッション間でパッケージや設定を再利用するには、ホームディレクトリに保存してください。