カスタム コンテナを使用してインスタンスを作成する

このページでは、カスタム コンテナに基づいて 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 インスタンスで使用した場合に異なる動作をすることがあります。

始める前に

  1. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  2. Google Cloud プロジェクトで課金が有効になっていることを確認します

  3. Notebooks API を有効にします。

    API を有効にする

必要なロール

ユーザー アカウントが Vertex AI Workbench インスタンスを作成するのに必要な権限を持つようにするために、プロジェクトに対する Notebooks ランナーroles/notebooks.runner)の IAM ロールをユーザー アカウントに付与するよう管理者に依頼してください。ロールの付与の詳細については、アクセス権の管理をご覧ください。

管理者は、カスタムロールや他の事前定義ロールを使用して、必要な権限をユーザー アカウントに付与することもできます。

カスタム コンテナを作成する

Vertex AI Workbench インスタンスで使用するカスタム コンテナを作成するには:

  1. Google 提供のベースコンテナ イメージ(gcr.io/deeplearning-platform-release/workbench-container:latest)から派生した派生コンテナを作成します。

  2. コンテナをビルドして Artifact Registry に push します。Vertex AI Workbench インスタンスを作成するときに、コンテナの URI を使用します。たとえば、URI は gcr.io/PROJECT_ID/IMAGE_NAME のようになります。

インスタンスを作成する

gcloud CLI を使用して、カスタム コンテナに基づいて Vertex AI Workbench インスタンスを作成できます。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • INSTANCE_NAME: Vertex AI Workbench インスタンスの名前。先頭は英字で、それに続く最大 62 文字の英小文字、数字、ハイフン(-)で構成します。末尾にハイフンは使用できません。
  • PROJECT_ID: プロジェクト ID
  • LOCATION: インスタンスを配置するゾーン
  • 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 のドキュメントをご覧ください。

インスタンスにアクセスする

プロキシ URL を使用してインスタンスにアクセスできます。

インスタンスが作成されてアクティブになったら、gcloud CLI を使用してプロキシ URL を取得できます。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • INSTANCE_NAME: Vertex AI Workbench インスタンスの名前
  • PROJECT_ID: プロジェクト ID
  • LOCATION: インスタンスが配置されているゾーン

次のコマンドを実行します。

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 のドキュメントをご覧ください。