ランタイム テンプレートを作成する
このページでは、Colab Enterprise でランタイム テンプレートを作成する方法について説明します。
ノートブックでコードを実行するには、ランタイムというコンピューティング リソースを使用します。デフォルトのランタイム、またはランタイム テンプレートから作成されたランタイムを使用できます。ランタイム テンプレートを作成することで、ランタイムのパフォーマンス、コスト、その他の特性をニーズに合わせて最適化するようにテンプレートを構成できます。
ランタイムとランタイム テンプレートで詳細をご確認ください。
始める前に
- 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.
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Vertex AI, Dataform, and Compute Engine APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
    
    
      In the Google Cloud console, on the project selector page, select or create a Google Cloud project. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Vertex AI, Dataform, and Compute Engine APIs. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
  Google Cloud コンソールで、Colab Enterprise の [ランタイム テンプレート] ページに移動します。 
- 
  [ 新しいテンプレート] をクリックします。 [ランタイム テンプレートの新規作成] ダイアログが表示されます。 
- 
    [ランタイムの基本情報] セクションで表示名を入力します。 
- 
    [リージョン] メニューで、ランタイム テンプレートを配置するリージョンを選択します。 
- 
    (省略可)ランタイム テンプレートの説明を追加します。 
- 
    (省略可)ラベルを追加するには、[ ラベルを追加] をクリックして、キーと値のペアを入力します。さらにラベルを追加するには、この手順を繰り返します。 
- 
    [続行] をクリックします。 
- 
    [コンピューティングの構成] セクションの [マシンタイプ] メニューで、マシンタイプを選択します。マシンタイプについては、マシン ファミリーのリソースと比較ガイドをご覧ください。 GPU を搭載したマシンタイプを選択した場合は、アクセラレータ タイプとアクセラレータ数を選択します。必要な GPU 数を選択できない場合は、割り当てを増やす必要がある可能性があります。割り当ての調整をリクエストするをご覧ください。 
- 
    [データディスクの種類] メニューで、ディスクタイプを選択します。 
- 
    [データディスク サイズ] フィールドに、サイズを GB 単位で入力します。 
- 
    [アイドル状態でのシャットダウン] セクションで次の設定を行います。 - 
        アイドル状態のシャットダウンをオフにするには、[アイドル状態でのシャットダウンを有効にする] をオフにします。 
- 
        非アクティブ時間を変更するには、[シャットダウンまでの非アクティブ時間(分)] で、非アクティブにする時間を変更します。 Google Cloud コンソールでは、この設定を 10~1440 の任意の整数値に設定できます。 
 
- 
        
- 
    [続行] をクリックします。 
- 
  [環境] セクションで、環境を選択します。デフォルトは [最新] です(現在は Python 3.11)。 
- 
  省略可: [起動後のスクリプト] フィールドに、起動後のスクリプトの URI を入力します。起動後スクリプトの使用の詳細については、起動後スクリプトを使用するをご覧ください。 
- 
  省略可: [起動後スクリプトの URL] で、起動後スクリプトの動作を選択します。デフォルトの動作は [1 回実行] です。詳細については、起動後のスクリプトの動作をご覧ください。 
- 
  (省略可)環境変数を追加するには、[ 環境変数を追加] をクリックして、キーと値のペアを入力します。さらに環境変数を追加するには、この手順を繰り返します。 
- 
    [続行] をクリックします。 
- 
    [ネットワーキングとセキュリティ] セクションの [ネットワーク] メニューで、ネットワークを選択します。ネットワークを選択しない場合は、デフォルト ネットワークが選択されます。 
- 
    [サブネットワーク] メニューで、サブネットワークを選択します。 
- 
    公共のインターネット アクセスをオフにするには、[公共のインターネット アクセスを有効にする] をオフにします。 
- 
    エンドユーザー認証情報へのアクセスを無効にするには、[エンドユーザー認証情報を有効にする] をオフにします。 
- DISPLAY_NAME: ランタイム テンプレートの表示名。
- PROJECT_ID: プロジェクト ID。
- REGION: ランタイム テンプレートを配置するリージョン。
- 
    MACHINE_TYPE: ランタイムに使用するマシンタイプ。
- ACCELERATOR_TYPE: ランタイムに使用するハードウェア アクセラレータのタイプ。
- ACCELERATOR_COUNT: ランタイムに使用するアクセラレータの数。
- REGION: ランタイム テンプレートを配置するリージョン。
- PROJECT_ID: 実際のプロジェクト ID。
- DISPLAY_NAME: ランタイム テンプレートの表示名。
- 
    MACHINE_TYPE: ランタイムに使用するマシンタイプ。
- ACCELERATOR_TYPE: ランタイムに使用するハードウェア アクセラレータのタイプ。
- ACCELERATOR_COUNT: ランタイムに使用するアクセラレータの数。
- ランタイム テンプレートへのアクセス権。
- ランタイムの作成に必要な権限。
- 
  Google Cloud コンソールで、Colab Enterprise の [ランタイム テンプレート] ページに移動します。 
- 
    [リージョン] メニューで、ランタイム テンプレートを含むリージョンを選択します。 
- 
    削除するランタイム テンプレートを選択します。 
- 
    [削除] をクリックします。 
- 
    [確認] をクリックします。 
- ランタイムとランタイム テンプレートの詳細を確認する。
- ランタイム テンプレートからランタイムを作成する方法を学習する。
必要なロール
    
      Colab Enterprise でランタイム テンプレートを作成するために必要な権限を取得するには、プロジェクトに対する Colab Enterprise 管理者(roles/aiplatform.colabEnterpriseAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
ランタイム テンプレートを作成する
ランタイム テンプレートを作成するには、 Google Cloud コンソール、Google Cloud CLI、REST API、または Terraform を使用します。
コンソール
ランタイム テンプレートを作成するには:
ランタイムの基本情報
コンピューティングを構成する
環境
ネットワークとセキュリティ
ランタイム テンプレートの作成を完了する
[作成] をクリックして、ランタイム テンプレートの作成を完了します。
ランタイム テンプレートが [ランタイム テンプレート] タブのリストに表示されます。
gcloud
後述のコマンドデータを使用する前に、次のように置き換えます。
次のコマンドを実行します。
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
リクエストのデータを使用する前に、次のように置き換えます。
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
詳しくは、notebookRuntimeTemplates.create REST API のドキュメントをご覧ください。
Terraform
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。詳細については、Terraform プロバイダのリファレンス ドキュメントをご覧ください。
次のサンプルでは、google_colab_runtime_template
   Terraform リソースを使用して Colab Enterprise ランタイム テンプレートを作成します。
ランタイム テンプレートへのアクセス権の付与
プリンシパルがランタイム テンプレートを使用するには、ランタイム テンプレートを作成した後にそのテンプレートへのアクセス権を付与する必要があります。プリンシパルがランタイム テンプレートからランタイムを作成するには、次の権限が必要です。
ランタイム テンプレートへのアクセスを管理するをご覧ください。
ランタイム テンプレートを削除する
ランタイム テンプレートを削除するには:
トラブルシューティング
このセクションでは、Colab Enterprise でのランタイム テンプレートの作成に関する問題を解決する方法について説明します。
十分な数の GPU を選択できない
ランタイム テンプレートの作成時に、必要な GPU の数を選択できません。これは、割り当てが不足していることが原因である可能性があります。
Colab Enterprise では、GPU に Compute Engine の割り当てを使用します。詳細については、Compute Engine の割り当てと上限の概要をご覧ください。
この問題を解決するには、割り当ての調整をリクエストします。