カスタム コンテナを使用してインスタンスを作成する
このページでは、カスタム コンテナに基づいて Vertex AI Workbench インスタンスを作成する方法について説明します。
概要
Vertex AI Workbench インスタンスは、Google 提供のベースコンテナから派生したカスタム コンテナの使用をサポートしています。このベースコンテナを変更してカスタム コンテナ イメージを作成し、このカスタム コンテナを使用して Vertex AI Workbench インスタンスを作成できます。
ベースコンテナは、ホスト仮想マシン(VM)の Container-Optimized OS で構成されます。ベースコンテナには、プリインストールされたデータ サイエンス パッケージと、インスタンスが Google Cloud と統合できるようにする特定の構成が用意されています。
ベースコンテナは gcr.io/deeplearning-platform-release/workbench-container:latest
にあります。
制限事項
プロジェクトを計画する際は、次の制限事項を考慮してください。
カスタム コンテナは、Google 提供のベースコンテナ(
gcr.io/deeplearning-platform-release/workbench-container:latest
)から派生したものである必要があります。ベースコンテナから派生していないコンテナを使用することはサポートされておらず、Google サービスとの互換性の問題が発生するリスクが高まります。Vertex AI Workbench インスタンスで複数のコンテナを使用することはできません。
ユーザー管理ノートブックとマネージド ノートブックのカスタム コンテナでサポートされるメタデータは、Vertex AI Workbench インスタンスで使用した場合に異なる動作をすることがあります。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
必要なロール
ユーザー アカウントが Vertex AI Workbench インスタンスを作成するのに必要な権限を持つようにするために、プロジェクトに対する Notebooks ランナー(roles/notebooks.runner
)の IAM ロールをユーザー アカウントに付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をユーザー アカウントに付与することもできます。
カスタム コンテナを作成する
Vertex AI Workbench インスタンスで使用するカスタム コンテナを作成するには:
Google 提供のベースコンテナ イメージ(
gcr.io/deeplearning-platform-release/workbench-container:latest
)から派生した派生コンテナを作成します。コンテナをビルドして Artifact Registry に push します。Vertex AI Workbench インスタンスを作成するときに、コンテナの URI を使用します。たとえば、URI は
gcr.io/PROJECT_ID/IMAGE_NAME
のようになります。
インスタンスを作成する
カスタム コンテナに基づいて Vertex AI Workbench インスタンスを作成するには、Google Cloud コンソールまたは Google Cloud CLI を使用します。
コンソール
カスタム コンテナに基づいて Vertex AI Workbench インスタンスを作成するには、次の操作を行います。
Google Cloud コンソールで、[インスタンス] ページに移動します。
[
新規作成] をクリックします。[新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。
[インスタンスの作成] ダイアログの [環境] セクションで、[カスタム コンテナを使用する] を選択します。
[Docker コンテナ イメージ] で [選択] をクリックします。
[コンテナ イメージの選択] ダイアログで、使用するコンテナ イメージに移動し、[選択] をクリックします。
省略可。[起動後のスクリプト] に、使用する起動後のスクリプトへのパスを入力します。
インスタンス作成ダイアログの残りの部分に入力して、[作成] をクリックします。
Vertex AI Workbench がインスタンスを作成し、自動的に起動します。インスタンスを使用する準備が整うと、Vertex AI Workbench で [JupyterLab を開く] が有効になります。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
-
INSTANCE_NAME
: Vertex AI Workbench インスタンスの名前。先頭は英字で、それに続く最大 62 文字の英小文字、数字、ハイフン(-)で構成します。末尾にハイフンは使用できません。 PROJECT_ID
: プロジェクト IDLOCATION
: インスタンスを配置するゾーン-
CUSTOM_CONTAINER_PATH
: コンテナ イメージ リポジトリのパス(例:gcr.io/PROJECT_ID/IMAGE_NAME
) -
METADATA
: このインスタンスに適用するカスタム メタデータ。たとえば、起動後スクリプトを指定するには、post-startup-script
メタデータタグを"--metadata=post-startup-script=gs://BUCKET_NAME/hello.sh"
の形式で使用してください。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud workbench instances create INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --container-repository=CUSTOM_CONTAINER_URL \ --container-tag=latest \ --metadata=METADATA
Windows(PowerShell)
gcloud workbench instances create INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION ` --container-repository=CUSTOM_CONTAINER_URL ` --container-tag=latest ` --metadata=METADATA
Windows(cmd.exe)
gcloud workbench instances create INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION ^ --container-repository=CUSTOM_CONTAINER_URL ^ --container-tag=latest ^ --metadata=METADATA
コマンドラインからインスタンスを作成するコマンドの詳細については、gcloud CLI のドキュメントをご覧ください。
Vertex AI Workbench がインスタンスを作成し、自動的に起動します。インスタンスを使用する準備が整うと、Vertex AI Workbench により Google Cloud コンソールで [JupyterLab を開く] リンクが有効になります。
インストールの例: カスタム デフォルト カーネルを使用するカスタム コンテナ
次の例は、pip パッケージがプリインストールされた新しいカーネルを作成する方法を示しています。
新しいカスタム コンテナを作成します。
FROM gcr.io/deeplearning-platform-release/workbench-container:latest ENV MAMBA_ROOT_PREFIX=/opt/micromamba RUN micromamba create -n ENVIRONMENT_NAME -c conda-forge python=PYTHON_VERSION -y SHELL ["micromamba", "run", "-n", "ENVIRONMENT_NAME", "/bin/bash", "-c"] RUN micromamba install -c conda-forge pip -y RUN pip install PACKAGE RUN pip install ipykernel RUN python -m ipykernel install --prefix /opt/micromamba/envs/ENVIRONMENT_NAME --name ENVIRONMENT_NAME --display-name KERNEL_NAME
新しいコンテナを Artifact Registry に追加します。
gcloud auth configure-docker REGION-docker.pkg.dev docker build -t REGION-docker.pkg.dev/PROJECT_ID/IMAGE_NAME . docker push REGION-docker.pkg.dev/PROJECT_ID/IMAGE_NAME:latest
インスタンスを作成します。
gcloud workbench instances WBI_NAME \ --project=PROJECT_ID \ --location=ZONE \ --container-repository=REGION-docker.pkg.dev/PROJECT_ID/IMAGE_NAME \ --container-tag=latest
インスタンスにアクセスする
プロキシ URL を使用してインスタンスにアクセスできます。
インスタンスが作成されてアクティブになったら、gcloud CLI を使用してプロキシ URL を取得できます。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
INSTANCE_NAME
: Vertex AI Workbench インスタンスの名前 PROJECT_ID
: プロジェクト IDLOCATION
: インスタンスが配置されているゾーン
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud workbench instances describe INSTANCE_NAME \ --project=PROJECT_ID \ --location=LOCATION | grep proxy-url
Windows(PowerShell)
gcloud workbench instances describe INSTANCE_NAME ` --project=PROJECT_ID ` --location=LOCATION | grep proxy-url
Windows(cmd.exe)
gcloud workbench instances describe INSTANCE_NAME ^ --project=PROJECT_ID ^ --location=LOCATION | grep proxy-url
proxy-url: 7109d1b0d5f850f-dot-datalab-vm-staging.googleusercontent.com
describe
コマンドによって、プロキシ URL が返されます。インスタンスにアクセスするには、ウェブブラウザでプロキシ URL を開きます。
コマンドラインでインスタンスを記述するコマンドの詳細については、gcloud CLI のドキュメントをご覧ください。