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

カスタムイメージからサンドボックスを作成する

備考

ベータ版

この機能はベータ版です。ワークスペースでこの機能プレビューを有効にするには、ワークスペースのプレビューページで Databricks Sandbox 設定を選択します。Databricksのプレビューを管理を参照してください。

アーティファクトレジストリに格納されている独自のコンテナーイメージからサンドボックスを作成できます。アーティファクトレジストリ は、コンテナーイメージを管理対象アセットとして Unity Catalog に格納するため、 Unity Catalog の権限でそれらへのアクセスを制御できます。サンドボックスはイメージのパッケージ、ツール、設定が既にインストールされた状態で起動するため、サンドボックスを作成するたびに依存関係をインストールする必要はありません。

Databricks Sandboxの概要については、Databricks Sandboxを参照してください。

要件​

  • ワークスペースはDatabricks Sandboxの前提条件を満たしています。「前提条件」を参照してください。
  • ワークスペースは、 Databricks Artifact Registry プレビューの有効化など、アーティファクトレジストリの前提条件を満たしています。要件を参照してください。
  • イメージを含むカタログとスキーマに対するUSE CATALOG権限、USE SCHEMA権限、READ VOLUME権限があります。権限の付与を参照してください。
  • イメージは glibc 2.25 以上を使用します。イメージでUbuntuベースを使用する場合は、Ubuntu 18.04以上を使用してください。Alpine Linuxやそれに基づいて構築されたイメージ(python:<version>-alpineやnode:<version>-alpineなど)のように、glibcの代わりにmuslを使用するイメージはサポートされていません。

イメージをプッシュしてサンドボックスを作成する​

  1. Dockerでイメージをビルドし、アーティファクトレジストリにプッシュします。イメージのプッシュを参照してください。

  2. イメージのアクセラレーションステータスがSUCCESSになるまで待機します。画像アクセラレーションはプッシュ後に自動的に実行されますが、15分以上かかることがあります。画像アクセラレーションステータスの確認を参照してください。

  3. サンドボックスを作成し、image_uriをイメージの Unity Catalog 名(catalog.schema.artifact:tag形式)に設定します。特定のバージョンをピン留めするには、タグではなくダイジェストを使用してください:catalog.schema.artifact@sha256:<digest>。

    たとえば、 main.agents.agent-base:v1 イメージからサンドボックスを作成するには、以下を実行します。

    Python
    from databricks.sdk import WorkspaceClient
    from databricks.sdk.service.sandbox import EnvironmentSpec, Sandbox, SandboxSpec

    w = WorkspaceClient()

    created = w.sandbox.create_sandbox(
    sandbox=Sandbox(
    spec=SandboxSpec(
    environment=EnvironmentSpec(image_uri="main.agents.agent-base:v1"),
    ),
    ),
    sandbox_id="my-custom-sandbox",
    )
    print(created.name) # "sandboxes/my-custom-sandbox"

カスタムイメージから作成されたサンドボックスは、他のサンドボックスと同じ永続的なホームディレクトリと停止および起動動作を保持します。

トラブルシューティング​

作成要求が失敗した場合は、エラーメッセージを確認します。

  • Image <uri> is not ready for use: 画像アクセラレーションが終了していません。イメージのアクセラレーションステータスを確認し、SUCCESSに達した後に再試行してください。
  • Not authorized to access image <uri>: イメージに対する必要な権限を持っていません。カタログまたはスキーマの所有者に付与を依頼してください。

制限​

  • カスタムイメージはアーティファクトレジストリに格納されている必要があります。外部レジストリのイメージからサンドボックスを作成することはできません。また、Databricks はユーザーの代わりにイメージを構築しません。
  • カスタムイメージから作成されたサンドボックスは、default環境を使用するサンドボックスよりも起動に時間がかかる場合があります。

その他のリソース​