Databricks サンドボックス
ベータ版
この機能はベータ版です。ワークスペースでこの機能プレビューを有効にするには、ワークスペースのプレビューページで Databricks Sandbox 設定を有効にします。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
起動する
サンドボックスを作成してそこでコードを実行するには、Databricks Sandboxクイックスタートを参照してください。クイックスタートでは、サンドボックスを使用する各方法について説明しています。
-
Agent Bricks CLIで構築したエージェント用のサンドボックスツール。
-
Databricks SDK for Pythonは、コードからサンドボックスを操作する場合に推奨される方法です。
-
サンドボックスにSSH経由で接続するためのDatabricks CLI。
-
Omnigentは、サンドボックスをエージェントセッションのホストとして使用できます。
コンピュートサイズ
Databricks Sandboxには、4つのvCPUと8 GBのRAMが付属しています。このサイズは構成できません。
ストレージ
ベータ期間の終了時に、Databricksはサンドボックスに保存されたデータの1回限りの消去を実行する場合があります。失っても問題のないもののみを保存してください。
Databricks Sandbox には、ネットワーク接続型ストレージが付属しています。
- ホームディレクトリ(
/home/sandbox-agent)内のデータは、Databricks Sandbox の有効期間中保持されます。Databricks Sandbox を停止した後でも、次回のセッションを起動するときにホームディレクトリ内のデータを利用できます。 - ホームディレクトリは最大100 GBまで保存できます。これは現時点では変更できません。
- ホームディレクトリの外に最大 10 GB まで保存できますが、このデータはサンドボックスを停止すると削除されます。
ネットワーキング
サンドボックスからのネットワークエグレスに関する制限はなく、エグレスの設定はできません。
Databricksの認証情報
サンドボックス内のコードがDatabricks APIsを呼び出せるように、各サンドボックスには、サンドボックスを作成したユーザーとして認証するDatabricks資格情報がプロビジョニングされます。資格情報の各トークンは1時間有効で、期限切れになる前に自動的に更新されます。更新は最大24時間続き、その後資格情報の有効期限が切れます。この資格情報の有効期間は、24時間のランタイム制限とは異なります。この資格情報はサインインセッションに依存しないため、サインアウトしても、また自分のトークンの有効期限が切れても機能し続けます。
資格情報は~/.databrickscfgのDEFAULTプロファイルとして保存されるため、サンドボックス内のDatabricks SDKとDatabricks CLIはそれを自動的に使用します。
カスタム画像
アーティファクトレジストリに保存されている独自のコンテナイメージからサンドボックスを作成できるため、すべてのサンドボックスにはパッケージ、ツール、構成が既にインストールされた状態で起動されます。カスタムイメージからサンドボックスを作成するを参照してください。
使用状況とコスト
現在、Databricks ではこの機能の使用に対して課金していません。ただし、ベータ版の機能に関するコストと価格は変更される可能性があります。
請求使用状況に関する詳細については、Databricks の価格を参照してください。Databricks では、以下のサンドボックス利用分の課金を見込んでいます。
- ランタイムコンピュート : Databricks Sandbox の実行中に時間単位で課金されます。
- 永続ストレージ :Databricks Sandbox が削除されるまで、ホームディレクトリに保存されているデータに対して料金が請求されます。Databricks Sandbox インスタンスが存在する限り、ストレージに課金が発生します。ストレージの料金の発生を停止するには、サンドボックスを削除する必要があります。
- データ転送
制限事項:
- クォータは適用されます。defaultでは、ユーザーごとに最大200のアクティブなサンドボックス(すべての状態全体で合計800)を持つことができ、ワークスペースには最大400のアクティブなサンドボックス(合計2,000)を持つことができます。増量をリクエストするには、Databricksアカウントチームにお問い合わせください。リソース制限を参照してください。
- Databricks SDK を使用して作成したサンドボックスには、SSH を介して接続できません。SSH を介して接続するには、Databricks CLI を使用してサンドボックスを作成します。Databricks CLI を使用してサンドボックスを作成するを参照してください。
- Databricks Sandbox は汎用の Spark ランタイムではなく、コードを実行するためのコンピュートプリミティブです。Spark ワークロードの場合は、Serverless コンピュートに接続するを使用します。
- Databricks Sandbox のパブリック IP アドレスはいつでも変更できます。サンドボックスのdefaultの入力はすべてのトラフィックに対して閉じられており、変更することはできません。
- ホームディレクトリの外部への変更は、サンドボックスを停止した後は保持されません。すべてのサンドボックスを同じパッケージと構成で起動するには、カスタムイメージを使用します。カスタムイメージからサンドボックスを作成するを参照してください。1つのサンドボックスのセッション間でファイルを再利用するには、ホームディレクトリに保存します。
- サンドボックスは、起動ごとに最大24時間実行できます。24時間後、Databricksはサンドボックスを停止します。これには、実行中のすべてのコマンドとバックグラウンドプロセスが含まれます。この制限は、
--no-autostopによって非アクティブ時の自動停止がオフになっている場合でも適用され、Databricks CLIまたはAPIを通じて延長することはできません。続行するには、サンドボックスを再起動します。これで新しい24時間サイクルが始まります。ホームディレクトリのデータは保持されます。