ランタイム テンプレートを作成する

このページでは、Colab Enterprise でランタイム テンプレートを作成する方法について説明します。

ノートブックでコードを実行するには、ランタイムというコンピューティング リソースを使用します。デフォルトのランタイム、またはランタイム テンプレートから作成されたランタイムを使用できます。ランタイム テンプレートを作成することで、ランタイムのパフォーマンス、コスト、その他の特性をニーズに合わせて最適化するようにテンプレートを構成できます。

ランタイムとランタイム テンプレートで詳細をご確認ください。

始める前に

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI, Dataform, and Compute Engine APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI, Dataform, and Compute Engine APIs.

    Enable the APIs

  8. 必要なロール

    Colab Enterprise でランタイム テンプレートを作成するために必要な権限を取得するには、プロジェクトに対する Colab Enterprise 管理者(roles/aiplatform.colabEnterpriseAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

    ランタイム テンプレートを作成する

    ランタイム テンプレートを作成するには、 Google Cloud コンソール、Google Cloud CLI、REST API、または Terraform を使用します。

    コンソール

    ランタイム テンプレートを作成するには:

    1. Google Cloud コンソールで、Colab Enterprise の [ランタイム テンプレート] ページに移動します。

      [ランタイム テンプレート] に移動

    2. [ 新しいテンプレート] をクリックします。

      [ランタイム テンプレートの新規作成] ダイアログが表示されます。

    ランタイムの基本情報

    1. [ランタイムの基本情報] セクションで表示名を入力します。

    2. [リージョン] メニューで、ランタイム テンプレートを配置するリージョンを選択します。

    3. (省略可)ランタイム テンプレートの説明を追加します。

    4. (省略可)ラベルを追加するには、[ ラベルを追加] をクリックして、キーのペアを入力します。さらにラベルを追加するには、この手順を繰り返します。

    5. [続行] をクリックします。

    コンピューティングを構成する

    1. [コンピューティングの構成] セクションの [マシンタイプ] メニューで、マシンタイプを選択します。マシンタイプについては、マシン ファミリーのリソースと比較ガイドをご覧ください。

      GPU を搭載したマシンタイプを選択した場合は、アクセラレータ タイプアクセラレータ数を選択します。必要な GPU 数を選択できない場合は、割り当てを増やす必要がある可能性があります。割り当ての調整をリクエストするをご覧ください。

    2. [データディスクの種類] メニューで、ディスクタイプを選択します。

    3. [データディスク サイズ] フィールドに、サイズを GB 単位で入力します。

    4. [アイドル状態でのシャットダウン] セクションで次の設定を行います。

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

      • 非アクティブ時間を変更するには、[シャットダウンまでの非アクティブ時間(分)] で、非アクティブにする時間を変更します。コンソールでは、この設定を 10 ~ 1440 の任意の整数値に設定できます。 Google Cloud

    5. [続行] をクリックします。

    環境

    1. [環境] セクションで、環境を選択します。デフォルトは [最新](現在は Python 3.11)です。

    2. [続行] をクリックします。

    ネットワークとセキュリティ

    1. [ネットワーキングとセキュリティ] セクションの [ネットワーク] メニューで、ネットワークを選択します。ネットワークを選択しない場合は、デフォルト ネットワークが選択されます。

    2. [サブネットワーク] メニューで、サブネットワークを選択します。

    3. 公共のインターネット アクセスをオフにするには、[公共のインターネット アクセスを有効にする] をオフにします。

    4. エンドユーザー認証情報へのアクセスを無効にするには、[エンドユーザー認証情報を有効にする] をオフにします。

    ランタイム テンプレートの作成を完了する

    [作成] をクリックして、ランタイム テンプレートの作成を完了します。

    ランタイム テンプレートが [ランタイム テンプレート] タブのリストに表示されます。

    gcloud

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

    • DISPLAY_NAME: ランタイム テンプレートの表示名。
    • PROJECT_ID: プロジェクト ID。
    • REGION: ランタイム テンプレートを配置するリージョン。
    • MACHINE_TYPE: ランタイムに使用するマシンタイプ
    • ACCELERATOR_TYPE: ランタイムに使用するハードウェア アクセラレータのタイプ。
    • ACCELERATOR_COUNT: ランタイムに使用するアクセラレータの数。

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

    Linux、macOS、Cloud Shell

    gcloud colab runtime-templates create --display-name="DISPLAY_NAME" \
        --project=PROJECT_ID \
        --region=REGION \
        --machine-type=MACHINE_TYPE \
        --accelerator-type=ACCELERATOR_TYPE \
        --accelerator-count=ACCELERATOR_COUNT

    Windows(PowerShell)

    gcloud colab runtime-templates create --display-name="DISPLAY_NAME" `
        --project=PROJECT_ID `
        --region=REGION `
        --machine-type=MACHINE_TYPE `
        --accelerator-type=ACCELERATOR_TYPE `
        --accelerator-count=ACCELERATOR_COUNT

    Windows(cmd.exe)

    gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ^
        --project=PROJECT_ID ^
        --region=REGION ^
        --machine-type=MACHINE_TYPE ^
        --accelerator-type=ACCELERATOR_TYPE ^
        --accelerator-count=ACCELERATOR_COUNT

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

    REST

    リクエストのデータを使用する前に、次のように置き換えます。

    • REGION: ランタイム テンプレートを配置するリージョン。
    • PROJECT_ID: プロジェクト ID。
    • DISPLAY_NAME: ランタイム テンプレートの表示名。
    • MACHINE_TYPE: ランタイムに使用するマシンタイプ
    • ACCELERATOR_TYPE: ランタイムに使用するハードウェア アクセラレータのタイプ。
    • ACCELERATOR_COUNT: ランタイムに使用するアクセラレータの数。

    HTTP メソッドと URL:

    POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates

    リクエストの本文(JSON):

    {
      "displayName": "DISPLAY_NAME",
      "machineSpec": {
        {
          "machineType": MACHINE_TYPE
          "acceleratorType": ACCELERATOR_TYPE,
          "acceleratorCount": ACCELERATOR_COUNT,
        }
      },
    }
    

    リクエストを送信するには、次のいずれかのオプションを選択します。

    curl

    リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates"

    PowerShell

    リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates" | Select-Object -Expand Content
    成功した場合、レスポンスの本文には Operation のインスタンスが含まれます。

    詳細については、notebookRuntimeTemplates.create REST API のドキュメントをご覧ください。

    Terraform

    Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。詳細については、Terraform プロバイダのリファレンス ドキュメントをご覧ください。

    次のサンプルでは、google_colab_runtime_template Terraform リソースを使用して Colab Enterprise ランタイム テンプレートを作成します。

    resource "google_compute_network" "my_network" {
      name = "{{index $.Vars "network_name"}}"
      auto_create_subnetworks = false
    }
    
    resource "google_compute_subnetwork" "my_subnetwork" {
      name   = "{{index $.Vars "network_name"}}"
      network = google_compute_network.my_network.id
      region = "us-central1"
      ip_cidr_range = "10.0.1.0/24"
    }
    
    resource "google_colab_runtime_template" "{{$.PrimaryResourceId}}" {
      name        = "{{index $.Vars "runtime_template_name"}}"
      display_name = "Runtime template full"
      location    = "us-central1"
      description = "Full runtime template"
      machine_spec {
        machine_type     = "n1-standard-2"
        accelerator_type = "NVIDIA_TESLA_T4"
        accelerator_count = "1"
      }
    
      data_persistent_disk_spec {
        disk_type    = "pd-standard"
        disk_size_gb = 200
      }
    
      network_spec {
        enable_internet_access = true
        network = google_compute_network.my_network.id
        subnetwork = google_compute_subnetwork.my_subnetwork.id
      }
    
      labels = {
        k = "val"
      }
    
      idle_shutdown_config {
        idle_timeout = "3600s"
      }
    
      euc_config {
        euc_disabled = false
      }
    
      shielded_vm_config {
        enable_secure_boot = false
      }
    
      network_tags = ["abc", "def"]
    
      encryption_spec {
        kms_key_name = "{{index $.Vars "key_name"}}"
      }
    }
    

    ランタイム テンプレートへのアクセス権の付与

    プリンシパルがランタイム テンプレートを使用するには、ランタイム テンプレートを作成した後にそのテンプレートへのアクセス権を付与する必要があります。プリンシパルがランタイム テンプレートからランタイムを作成するには、次の権限が必要です。

    • ランタイム テンプレートへのアクセス権。
    • ランタイムの作成に必要な権限。

    ランタイム テンプレートへのアクセスを管理するをご覧ください。

    ランタイム テンプレートを削除する

    ランタイム テンプレートを削除するには:

    1. Google Cloud コンソールで、Colab Enterprise の [ランタイム テンプレート] ページに移動します。

      [ランタイム テンプレート] に移動

    2. [リージョン] メニューで、ランタイム テンプレートを含むリージョンを選択します。

    3. 削除するランタイム テンプレートを選択します。

    4. [削除] をクリックします。

    5. [確認] をクリックします。

    トラブルシューティング

    このセクションでは、Colab Enterprise でのランタイム テンプレートの作成に関する問題を解決する方法について説明します。

    十分な GPU を選択できない

    ランタイム テンプレートの作成時に、必要な GPU の数を選択することはできません。これは、割り当てが不足しているためです。

    Colab Enterprise は、GPU に Compute Engine の割り当てを使用します。詳細については、Compute Engine の割り当てと上限の概要をご覧ください。

    この問題を解決するには、割り当ての調整をリクエストします。

    次のステップ