エアギャップ環境で動作するように Databricks Asset Bundle を設定する
Databricks アセット バンドルは、適切に機能するために外部のライブラリとツールに依存します。 これらの依存関係の場所 (URL) にアクセスできる必要があり、アクセスできないとバンドルの初期化が失敗します。 このため、インターネットにアクセスできないエアギャップ ネットワーク環境で Databricks アセット バンドルを使用する前に、Databricks CLI によって提供される Docker コンテナー イメージをダウンロードし、Docker を通じて Databricks アセット バンドルを管理する必要があります。
Dockerコンテナイメージをダウンロードする
Databricks CLI Docker コンテナー イメージは、ARM64 および AMD64 CPU アーキテクチャをサポートしており、 Databricks CLI GitHub リポジトリで入手できます。 次のコマンドを実行すると、利用可能な最新のイメージをダウンロードできます。
docker pull ghcr.io/databricks/cli:latest
特定の Databricks CLI バージョンに関連付けられたイメージをダウンロードする場合は、以下のようにバージョンを指定します。
docker pull ghcr.io/databricks/cli:v0.218.0
Docker を通じて Databricks アセットバンドルを管理する
適切な Docker コンテナをダウンロードしたら、Docker CLI を使用してdatabricks bundle
コマンドを直接または対話的に実行できます。
直接実行
bundle
コマンドを直接実行するには、 docker run
を使用します。 たとえば、次のコマンドは、 /my-bundle
にあるバンドルをデプロイします。
docker run -v /my-bundle:/my-bundle -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... --workdir /my-bundle ghcr.io/databricks/cli:latest bundle deploy
上記の例では、 -v /my-bundle:/my-bundle
同じバンドル名を使用してmy-bundle
Docker コンテナーのファイル システムにマウントし、 -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=...
ホストと資格情報を環境変数として渡すことで Databricks CLI を認証し、 --workdir /my-bundle ghcr.io/databricks/cli:latest
現在の作業ディレクトリを/my-bundle
に設定します。 追加のdocker run
コマンド オプションについては、Docker ドキュメントを参照してください。
対話式実行
bundle
コマンドを対話的に実行するには、まずdocker run
を-it
および--entrypoint
オプションとともに使用して、以下に示すように、コンテナーに接続された統合sh
ターミナル セッションを起動します。
docker run -v /my-bundle:/my-bundle -e DATABRICKS_HOST=... -e DATABRICKS_TOKEN=... -it --entrypoint /bin/sh --workdir /my-bundle ghcr.io/databricks/cli:latest
Docker ターミナル セッションが開始すると、ターミナルで直接bundle
コマンドを実行できます。 次に、 my-bundle
という名前のバンドルを展開する例を示します。
/my-bundle # databricks bundle deploy
ボリュームマウントは双方向に同期されるため、バンドルをローカルで変更し、この Docker ターミナルセッションを使用してbundle
コマンドを実行できます。 この場合、 docker run
を再度実行する必要はありません。