ランタイムとランタイム テンプレート

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

ランタイムは、ノートブック(IPYNB ファイル)内のコードを実行できる、Google がプロビジョニングした仮想マシン(VM)です。

ランタイム テンプレートは、マシンタイプや VM のその他の特徴に加え、ネットワーク、パブリック インターネット アクセスが有効かどうかといった一般的な設定を指定する VM 構成です。ランタイムを作成すると、ランタイム テンプレートの仕様に沿って VM が作成されます。

ワークフロー

Colab Enterprise ノートブックを作成すると、ランタイムについて理解しなくてもノートブック内でコードを実行できるようになります。コードを初めて実行するときに、Colab Enterprise はデフォルトのランタイムをプロビジョニングし、そのランタイム上でコードを実行します。別のランタイムに接続するまで、Colab Enterprise はデフォルトのランタイムを使用し続けます。

具体的な要件に合わせてランタイムを構成するには、次の操作を行う必要があります。

  1. 必要な構成でランタイム テンプレートを作成します。

  2. そのテンプレートに基づいてランタイムを作成します。

  3. ノートブックからランタイムに接続してコードを実行します。

ランタイム

このセクションでは、ランタイムの特性について説明します。

デフォルト ランタイム

ランタイムを作成しない場合、コードを初めて実行するか、デフォルトのランタイムに初めて接続したときに、アクセラレータのないランタイムが作成されます。アクセラレータなしでデフォルトのランタイムを使用するか、アクセラレータを含むデフォルトのランタイムに切り替えることができます。

Colab Enterprise がデフォルトのランタイムを作成するときは、まず対応するデフォルトのランタイム テンプレートを作成します。ランタイムとランタイム テンプレートの両方が Google Cloud コンソールに表示され、それらに関する情報を取得できます。

アクセラレータなしのデフォルトのランタイムを使用する場合、Colab Enterprise は、プロジェクトごと、リージョンごとに、アクセラレータなしのデフォルトのランタイムと対応するランタイム テンプレートを 1 つ作成します。

アクセラレータ付きのデフォルトのランタイムを使用する場合、Colab Enterprise は、プロジェクトごと、リージョンごとに、アクセラレータ付きのデフォルトのランタイムと対応するランタイム テンプレートを 1 つ作成します。

デフォルトのランタイム仕様

デフォルトのランタイムと対応するデフォルトのランタイム テンプレートには、次の仕様が含まれています。

仕様 デフォルト GPU ありのデフォルト
Python バージョン 利用可能な最新(現在は Python 3.12) 利用可能な最新(現在は Python 3.12)
マシンタイプ e2-standard-4 利用可能かどうかは地域によって異なります。仕様をご覧ください。
アクセラレータ なし 利用可能かどうかは地域によって異なります。仕様をご覧ください。
ブートディスク 100 GiB SSD 永続ディスク(pd-ssd 100 GiB SSD 永続ディスク(pd-ssd
データディスク 100 GiB 標準永続ディスク(pd-standard 利用可能かどうかは地域によって異なります。仕様をご覧ください。
アイドル状態でのシャットダウン 有効、180 分に設定 有効、180 分に設定
ネットワーク プロジェクトのデフォルトの Virtual Private Cloud ネットワーク プロジェクトのデフォルトの Virtual Private Cloud ネットワーク
公共のインターネット アクセス 有効 有効
エンドユーザー認証情報の認証 有効 有効
自動削除 作成から 18 時間後に自動削除 作成から 18 時間後に自動削除

Python のバージョン

2025 年 5 月以降、Colab Enterprise がデフォルトのランタイム テンプレートを作成するときに、デフォルトのランタイム テンプレートは最新バージョンの Python(現在は Python 3.12)を使用するように構成されます。つまり、Colab Enterprise で新しいバージョンの Python が利用可能になると、デフォルトのランタイム テンプレートから作成された新しいランタイムは最新の Python バージョンを使用します。

デフォルトのランタイム テンプレートが 2025 年 5 月以前に作成された場合、Python 3.10 を使用するように構成されている可能性があります。デフォルトのランタイム テンプレートを更新して最新の Python バージョンを使用するには、デフォルトのランタイム テンプレートを削除する必要があります。新しいデフォルトのランタイム テンプレートが作成されると、最新の Python バージョンを使用するように構成されます。

作成したランタイム テンプレートの Python バージョンを更新するには、ランタイム テンプレートの Python バージョンを変更するをご覧ください。

Colab Enterprise で新しい Python バージョンが利用可能になっても、既存のランタイムの Python バージョンは自動的に変更されません。既存のランタイムの Python バージョンの変更はサポートされていません。代わりに、目的の Python バージョンを使用するランタイム テンプレートから派生した新しいランタイムを作成する必要があります。

ランタイム テンプレートの Python バージョンを変更する

ランタイム テンプレートの Python バージョンを変更するには、REST API を使用します。

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

  • REGION: ランタイム テンプレートが配置されているリージョン。
  • PROJECT_ID: プロジェクト ID。
  • NOTEBOOK_RUNTIME_TEMPLATE_ID: ランタイム テンプレートの ID。
  • RELEASE_NAME: 使用するイメージのリリース名。たとえば、py311 は Python 3.11 イメージのリリース名です。画像を Latest に設定するには、RELEASE_NAME を空のままにします。

HTTP メソッドと URL:

PATCH https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates/NOTEBOOK_RUNTIME_TEMPLATE_ID?updateMask=software_config.colab_image.release_name

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

{
  softwareConfig: {
    colabImage: {
      releaseName: "RELEASE_NAME"
    }
  }
}

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

curl

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

curl -X PATCH \
-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/NOTEBOOK_RUNTIME_TEMPLATE_ID?updateMask=software_config.colab_image.release_name"

PowerShell

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

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

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

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

ランタイムはリージョン単位

ランタイムはリージョンに固有であり、ノートブックと同じリージョンに存在する必要があります。

ランタイムはユーザーに固有です

ランタイムはユーザー専用です。ランタイムを他のユーザーと共有したり、他のユーザーのランタイムを使用したりすることはできません。ノートブックを他のユーザーと共有しても、そのユーザーはランタイムにアクセスできません。ノートブックは独自のランタイムで実行する必要があります。

ただし、ユーザーは同じランタイム テンプレートに基づいて独自のランタイムを作成できます。ランタイム テンプレートをユーザーと共有するをご覧ください。

ランタイムのファイルの管理

ランタイムのファイルにアクセスして変更するには、Colab Enterprise の [ファイル] ボタンを使用します。ファイルをランタイムにアップロードすることもできます。

ランタイムが削除されると、アップロードしたファイルも削除されます。ファイルを変更した場合、新しいランタイムが作成されると、ファイルは元の状態に戻ります。自動削除期間については、デフォルトのランタイム仕様セクションをご覧ください。

ランタイムはノートブック間で共有できます

複数のノートブックを同じランタイムに接続できますが、おすすめしません。同じランタイムを共有する複数のノートブックは、次のような問題を引き起こす可能性があります。

  • ノートブックはランタイムのコンピューティング リソースを共有しているため、実行速度が遅くなることがあります。

  • 1 つのノートブックのコードが、他のノートブックのランタイムの VM の状態に影響する可能性があります。たとえば、あるノートブックにパッケージのバージョン 1.3 をインストールしても、別のノートブックでバージョン 1.2 が必要な場合、2 番目のノートブックを実行するとバージョンの互換性の問題が発生する可能性があります。

同じランタイムで複数のノートブックからコードを実行する代わりに、同じランタイム テンプレートに基づいてノートブックごとにランタイムを作成できます。同じランタイム テンプレートから複数のランタイムを作成できるをご覧ください。

ランタイムの料金

ランタイム処理の料金は、使用するマシンタイプとアクセラレータに基づいて請求されます。ブートディスクとデータディスクのストレージに対しても課金されます。ランタイムが削除されると、ブートディスクとデータディスクも削除されます。

ランタイムには、ランタイム テンプレートで指定されたデータディスクに加えて、常に 100 GiB の SSD 永続ディスクが含まれます。ブートディスクは構成できません。

ランタイムのシャットダウン中:

  • CPU や GPU の使用量がないため、コンピューティング料金は発生しません。
  • ブートディスクとデータディスクのストレージに対して課金されます。

詳細については、Colab Enterprise の料金をご覧ください。

同じランタイム テンプレートから複数のランタイムを作成できます。

デフォルト以外の 1 つのランタイム テンプレートから複数のランタイムを作成できます。これにより、VM のリソースを共有せずに、同じ構成の VM で複数のノートブックを実行できます。

ランタイム テンプレート

このセクションでは、ランタイム テンプレートの特徴について説明します。

ランタイム テンプレートはリージョンです

ランタイム テンプレートはリージョンです。ランタイムを作成すると、ランタイム テンプレートと同じリージョンに配置されます。ランタイムは、そのリージョンのノートブックでのみ使用できます。

ランタイム テンプレートをユーザーと共有できる

ランタイム テンプレートは他のユーザーと共有できます。これにより、各ユーザーは同じランタイム テンプレートに基づいて独自のランタイムを作成できるため、複数のユーザーが同じ VM 構成で同じノートブックを実行できます。

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

構成

ランタイム テンプレートは、ランタイムの VM の構成を決定します。次のいずれかを指定できます。

地域

ノートブックがあるリージョンを選択します。ランタイム テンプレートから作成されたランタイムは、ランタイム テンプレートと同じリージョンにあります。ノートブックがランタイムでコードを実行するには、ノートブックとランタイムが同じリージョンに存在する必要があります。

マシンタイプ

ランタイム テンプレートのマシンタイプを構成できます。マシンタイプについては、マシン ファミリーのリソースと比較ガイドをご覧ください。

データディスク

ランタイム テンプレートで、データディスクのディスクタイプとディスクサイズを構成できます。

ランタイムを作成すると、ブートディスクも含まれます。ブートディスクは 100 GiB の SSD 永続ディスクで、構成できません。

アクセラレータ

ランタイム テンプレートの構成にアクセラレータを追加できます。アクセラレータの可用性は、マシンタイプとリージョンによって異なります。

ネットワーク

ネットワークを指定するか、プロジェクトのデフォルトの Virtual Private Cloud ネットワークを使用します。

アイドル状態でのシャットダウン

Colab Enterprise では、デフォルトでアイドル状態のシャットダウンが有効になっています。この設定では、非アクティブ状態が 180 分間続くとインスタンスがシャットダウンされます。シャットダウンまでの非アクティブ時間(分)を変更できます。また、アイドル状態でのシャットダウンを無効にすることもできます。

公共のインターネット アクセス

ノートブックやその他のリソースのセキュリティをより細かく制御するには、パブリック インターネット アクセスを無効にします。このようにランタイム テンプレートを構成すると、ランタイム テンプレートから作成されたランタイムを使用するノートブックは、パブリック インターネットにアクセスできなくなります。

エンドユーザー認証情報の認証

デフォルトでは、ランタイム テンプレートはエンドユーザー認証情報認証を使用して、ノートブックにアプリケーションのデフォルト認証情報(ADC)へのアクセス権を付与します。この ADC へのアクセス権を使用して、Vertex AI や他の Google Cloud サービスとやり取りするノートブックでコードを実行できます。エンドユーザー認証情報が有効になっている場合、ノートブックはノートブックを実行するユーザーの認証情報を使用して、 Google Cloud リソースへのアクセスを決定します。

エンドユーザー認証情報が有効になっていない場合は、ノートブックのコードでユーザーを認証することで ADC にアクセスできます。詳細については、ローカル開発環境の ADC の設定の「ユーザー認証情報」セクションをご覧ください。

ランタイム テンプレートの料金

ランタイム テンプレートの作成や保存に料金はかかりません。ランタイム料金もご覧ください。

次のステップ