ユーザー管理ノートブック インスタンスを作成する

このページでは、Google Cloud コンソールまたは Google Cloud CLI を使用して、ユーザー管理のノートブック インスタンスを作成する方法について説明します。インスタンスの作成中に、インスタンスのハードウェア、暗号化タイプ、ネットワーク、その他の詳細を構成できます。

始める前に

ユーザー管理のノートブック インスタンスを作成する前に、Google Cloud プロジェクトを準備し、そのプロジェクトで Notebooks API を有効にする必要があります。
  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

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

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

    API を有効にする

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

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

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

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

    API を有効にする

  8. ユーザー管理のノートブック インスタンスで GPU を使用する場合は、Google Cloud コンソールの [割り当て] ページで、プロジェクトに使用できる GPU が十分であることを確認してください。GPU が [割り当て] ページのリストにない場合や、さらに GPU 割り当てが必要な場合は、割り当て量の増加をリクエストしてください。Compute Engine のリソースの割り当てページの割り当て量の増加をリクエストするをご覧ください。

必要なロール

プロジェクトを作成した場合、そのプロジェクトに対するオーナー(roles/owner)IAM ロールが付与されています。このロールには、必要な権限がすべて含まれています。このセクションをスキップして、ユーザー管理のノートブック インスタンスの作成を開始します。プロジェクトを自分で作成していない場合は、このセクションに進んでください。

Vertex AI Workbench ユーザー管理ノートブック インスタンスの作成に必要な権限がユーザー アカウントに付与されるように、プロジェクトに対する次の IAM ロールをユーザー アカウントに付与するよう管理者に依頼してください。

ロールの付与の詳細については、アクセスの管理をご覧ください。

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

ユーザー管理ノートブック インスタンスを作成する

ユーザー管理ノートブック インスタンスを作成するには、Google Cloud コンソール、Google Cloud CLI、または Terraform を使用します。

コンソール

Google Cloud コンソールを使用してユーザー管理ノートブック インスタンスを作成するには、次のようにします。

  1. Google Cloud コンソールで、[ユーザー管理のノートブック] ページに移動します。または、notebook.new(https://notebook.new)にアクセスして、次のステップをスキップします。

    [ユーザー管理のノートブック] に移動

  2. [新規作成] をクリックします。

    [新しいインスタンス] ウィンドウが開きます。

  3. [新しいインスタンス] ダイアログで、[詳細オプション] をクリックします。

  4. [詳細] セクションで、新しいインスタンスについて次の情報を入力します。

    • ノートブック名: 新しいインスタンスの名前を入力します。名前の先頭は英字で、それに続く最大 62 文字の英小文字、数字、ハイフン(-)で構成します。末尾は英字または数字にしてください。
    • リージョンゾーン: 新しいインスタンスのリージョンとゾーンを選択します。最適なネットワーク パフォーマンスを得るには、地理的に最も近いリージョンを選択してください。利用可能なユーザー管理ノートブックの場所をご覧ください。
    • ラベル(省略可)インスタンスのカスタム Key-Value ラベルを指定します。
    • タグ: 省略可。インスタンスのタグを指定します。
  5. [環境] で、次の情報を入力します。

    • オペレーティング システム: 使用するオペレーティング システムを選択します。
    • 環境: 使用する環境を選択します。
    • バージョン: 最新バージョンまたは以前のバージョンのユーザー管理ノートブック インスタンスを使用します。
    • 起動スクリプト: 省略可。[参照] をクリックして、インスタンスの作成後に 1 回だけ実行するスクリプトを選択します。パスは、URL または Cloud Storage パスにする必要があります(例: gs://PATH_TO_FILE/FILE_NAME)。
    • メタデータ: 省略可。インスタンスのカスタム メタデータのキーを指定します。
  6. [マシンタイプ] に、次の情報を入力します。

    • マシンタイプ: 新しいインスタンスの CPU 数と RAM 容量を選択します。Vertex AI Workbench により、選択した各マシンタイプの 1 か月あたりの費用見積もりが提示されます。
    • GPU: 省略可。GPU を使用する場合は、新しいインスタンスの GPU のタイプと GPU の数を選択します。GPU の種類については、Compute Engine の GPU をご覧ください。

      [NVIDIA GPU ドライバを自動的にインストールする] を選択します。

    • Shielded VM: 省略可。以下の項目をオンまたはオフにします。

      • セキュアブート
      • 仮想トラステッド プラットフォーム モジュール(vTPM)
      • 整合性モニタリング
    • アイドル状態でのシャットダウン: 省略可。

      • シャットダウンまでの分数を変更するには、[シャットダウンまでの非アクティブ時間(分)] フィールドで、値を 10~1440 の整数に変更します。

      • アイドル状態のシャットダウンをオフにするには、[アイドル状態でのシャットダウンを有効にする] をオフにします。

  7. [ディスク] セクションで、次の情報を入力します。

    • ディスク: 省略可。デフォルトのブートディスクまたはデータディスクの設定を変更するには、ブートディスクの種類ブートディスク サイズ(GB 単位)データディスクのタイプデータディスクのサイズ(GB 単位)を選択します。ディスクタイプの詳細については、ストレージ オプションをご覧ください。

    • ゴミ箱に移動: 省略可。オペレーティング システムのデフォルトのゴミ箱動作を使用するには、このチェックボックスをオンにします。デフォルトのゴミ箱動作を使用する場合、JupyterLab ユーザー インターフェースを使用して削除されたファイルは復元できますが、削除されたファイルはディスク容量を使用します。

    • バックアップ: 省略可。Cloud Storage のロケーションをインスタンスのデータディスクと同期するには、[参照] をクリックして Cloud Storage のロケーションを指定します。ストレージの費用については、Cloud Storage の料金をご覧ください。

    • 暗号化: [Google が管理する暗号鍵] または [顧客管理の暗号鍵(CMEK)] を選択します。CMEK を使用するには、顧客管理の暗号鍵をご覧ください。

  8. [ネットワーキング] セクションで、次の情報を入力します。

    • ネットワーキング: 現在のプロジェクトのネットワーク、またはホスト プロジェクトから共有 VPC ネットワーク(構成されている場合)を使用するように、ネットワーク オプションを調整します。ホスト プロジェクトで共有 VPC を使用している場合は、ホスト プロジェクトの Notebooks サービス エージェントCompute ネットワーク ユーザーのロールroles/compute.networkUser)を付与する必要があります。

      1. [ネットワーク] フィールドで、目的のネットワークを選択します。ネットワークで限定公開の Google アクセスが有効になっているか、インターネットにアクセスできる場合は、VPC ネットワークを選択できます。詳細については、ネットワーク構成オプションをご覧ください。

      2. [サブネットワーク] フィールドで、目的のサブネットワークを選択します。

    • 外部 IP アドレスを無効にするには、[外部 IP アドレスを割り当て] チェックボックスをオフにします。

    • プロキシ アクセスを無効にするには、[プロキシ アクセスを許可] チェックボックスをオフにします。

  9. [IAM とセキュリティ] セクションで、次の操作を行います。

    • IAM とセキュリティ: インスタンスの JupyterLab インターフェースへのアクセス権を付与するには、次のいずれかを行います。

      • サービス アカウントを介して JupyterLab へのアクセス権を付与するには、[サービス アカウント] を選択します。

        • デフォルトの Compute Engine サービス アカウントを使用するには、[Use default Compute Engine service account] を選択します。

        • カスタム サービス アカウントを使用するには、[Use default Compute Engine service account] をクリアし、[サービス アカウントのメールアドレス] フィールドにカスタム サービス アカウントのメールアドレスを入力します。

      • JupyterLab インターフェースへのアクセス権を単一ユーザーに付与する手順は次のとおりです。

        1. [シングル ユーザー] を選択し、[ユーザーのメール] フィールドに、アクセス権を付与するユーザー アカウントを入力します。指定したユーザーがインスタンスの作成者でない場合は、指定したユーザーにインスタンスのサービス アカウントに対するサービス アカウント ユーザーのロールroles/iam.serviceAccountUser)を付与する必要があります。

        2. インスタンスはサービス アカウントを使用して、Google Cloud サービスと API を操作します。

          • デフォルトの Compute Engine サービス アカウントを使用するには、[Use default Compute Engine service account] を選択します。

          • カスタム サービス アカウントを使用するには、[Use default Compute Engine service account] をクリアし、[サービス アカウントのメールアドレス] フィールドにカスタム サービス アカウントのメールアドレスを入力します。

      アクセス権の付与の詳細については、アクセスを管理するをご覧ください。

    • セキュリティ オプション: 次のチェックボックスをオンまたはオフにします。

      • インスタンスに対するルートアクセス
      • nbconvert
      • ファイルのダウンロード
      • ターミナル アクセス
  10. [システムの状態] セクションで、次の情報を入力します。

    • 環境のアップグレードとシステムの状態: 新しくリリースされた環境のバージョンに自動的にアップグレードするには、[環境の自動アップグレード] を選択して、[アップグレードのスケジュール] を完了します。

    • [レポート] で、次のチェックボックスをオンまたはオフにします。

      • システムの状態を報告
      • Cloud Monitoring にカスタム指標を報告する
      • Cloud Monitoring をインストールする
      • 必要な Google ドメインの DNS ステータスを報告する
  11. [作成] をクリックします。

    Vertex AI Workbench が、ユーザー管理ノートブック インスタンスを作成して自動的に起動します。インスタンスを使用する準備が整うと、Vertex AI Workbench で [JupyterLab を開く] リンクが有効になります。

gcloud

デフォルトでは、Google Cloud CLI により、外部 IP アドレスを使用してユーザー管理のノートブック インスタンスが作成されます。外部 IP アドレスを持たないインスタンスを作成する場合は、限定公開の Google アクセスが有効になっているサブネットを指定する必要があります。詳細については、ネットワーク構成オプションをご覧ください。

  1. コマンドライン、Cloud Shell、または Google Cloud CLI がインストールされているターミナルからユーザー管理のノートブック インスタンスを作成するには、gcloud notebooks instances create コマンドを使用します。

    gcloud notebooks instances create INSTANCE_NAME \
      --vm-image-project=deeplearning-platform-release \
      --vm-image-family=VM_IMAGE_FAMILY \
      --machine-type=MACHINE_TYPE \
      --location=LOCATION
    

    次のように置き換えます。

    • INSTANCE_NAME: 新しいインスタンスの名前。先頭は英字で、それに続く最大 62 文字の英小文字、数字、ハイフン(-)で構成します。末尾をハイフンにすることはできません。
    • VM_IMAGE_FAMILY: インスタンスの作成に使用するイメージ ファミリー名
    • MACHINE_TYPE: インスタンスの VM のマシンタイプ
    • LOCATION: 新しいインスタンスを配置する Google Cloud のロケーション
  2. Google Cloud コンソールからインスタンスにアクセスします。

コマンドラインからインスタンスを作成するコマンドの詳細については、gcloud CLI のドキュメントをご覧ください。

Terraform

次のサンプルでは、google_notebooks_instance Terraform リソースを使用して、notebooks-instance-basic という名前の新しいユーザー管理ノートブック インスタンスを作成します。

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

resource "google_notebooks_instance" "basic_instance" {
  name         = "notebooks-instance-basic"
  location     = "us-central1-a"
  machine_type = "e2-medium"

  vm_image {
    project      = "deeplearning-platform-release"
    image_family = "tf-ent-2-9-cu113-notebooks"
  }
}

ノートブックを開く

ユーザー管理のノートブック インスタンスを開くには、次の手順を行います。
  1. Google Cloud Console で、ユーザー管理のノートブック インスタンス名の横にある [JupyterLab を開く] をクリックします。

  2. ユーザー管理ノートブック インスタンスで JupyterLab が表示されます。

ネットワーク構成オプション

ユーザー管理のノートブック インスタンスは、VPC ネットワークの外部にあるサービス エンドポイントにアクセスする必要があります。

このアクセスは、次のいずれかの方法で行えます。

private.googleapis.com または restricted.googleapis.com VIP を使用してサービス エンドポイントにアクセスできるようにする場合は、必要なサービス エンドポイントごとに DNS エントリを追加します。

  • notebooks.googleapis.com
  • *.notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com

ネットワーク タグ

ユーザー管理ノートブック インスタンスには、deeplearning-vmnotebook-instance のネットワーク タグが自動的に割り当てられます。

これらのタグを使用すると、VPC ネットワーク ファイアウォール ルールのタグを参照して、ユーザー管理ノートブック インスタンス間のネットワーク アクセスを管理できます。ネットワーク タグの詳細については、ネットワーク タグを追加するをご覧ください。

ユーザー管理ノートブック インスタンスのネットワーク タグを表示するには、次のようにします。

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. インスタンスの名前をクリックします。

  3. [ネットワーキング] セクションで、ネットワーク タグを見つけます。

トラブルシューティング

ノートブックを作成している際に問題が発生した場合は、一般的な問題の解決に役立つ Vertex AI Workbench のトラブルシューティングをご覧ください。

次のステップ