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

このページでは、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.11) 利用可能な最新バージョン(現在は Python 3.11)
マシンタイプ 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.11)を使用するように構成されます。つまり、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 を設定するの「ユーザー認証情報」セクションをご覧ください。

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

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

次のステップ