このドキュメントでは、GPU が接続され、N1 マシン ファミリーを使用する VM の作成方法について説明します。N1 shared-core
を除くほとんどの N1 マシンタイプを使用できます。
始める前に
- OS イメージの選択や GPU 割り当ての確認など、その他の前提条件を確認するには、概要のドキュメントをご覧ください。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- デフォルトのリージョンとゾーンを設定します。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
必要なロール
VM の作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼します。ロールの付与の詳細については、アクセス権の管理をご覧ください。
この事前定義ロールには、VM の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
VM を作成するには、次の権限が必要です。
- プロジェクトに対する
compute.instances.create
-
カスタム イメージを使用して VM を作成する: イメージに対する
compute.images.useReadOnly
-
スナップショットを使用して VM を作成する: スナップショットに対する
compute.snapshots.useReadOnly
-
インスタンス テンプレートを使用して VM を作成する: インスタンス テンプレートに対する
compute.instanceTemplates.useReadOnly
- VM にレガシー ネットワークを割り当てる: プロジェクトに対する
compute.networks.use
-
VM の静的 IP アドレスを指定する: プロジェクトに対する
compute.addresses.use
-
レガシー ネットワークを使用する際に VM に外部 IP アドレスを割り当てる: プロジェクトに対する
compute.networks.useExternalIp
- VM のサブネットを指定する: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.use
-
VPC ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.useExternalIp
-
VM の VM インスタンス メタデータを設定する: プロジェクトに対する
compute.instances.setMetadata
-
VM にタグを設定する: VM に対する
compute.instances.setTags
-
VM にラベルを設定する: VM に対する
compute.instances.setLabels
-
VM が使用するサービス アカウントを設定する: VM に対する
compute.instances.setServiceAccount
-
VM 用の新しいディスクを作成する: プロジェクトに対する
compute.disks.create
-
既存のディスクを読み取り専用モードまたは読み取り / 書き込みモードでアタッチする: ディスクに対する
compute.disks.use
-
既存のディスクを読み取り専用モードでアタッチする: ディスクに対する
compute.disks.useReadOnly
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
概要
N1 マシン ファミリーを使用する VM に接続できる GPU モデルは次のとおりです。
NVIDIA GPU:
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
NVIDIA RTX 仮想ワークステーション(vWS)(旧称 NVIDIA GRID):
- NVIDIA T4 仮想ワークステーション:
nvidia-tesla-t4-vws
- NVIDIA P4 仮想ワークステーション:
nvidia-tesla-p4-vws
NVIDIA P100 仮想ワークステーション:
nvidia-tesla-p100-vws
これらの仮想ワークステーションの場合、NVIDIA RTX 仮想ワークステーション(vWS)ライセンスが VM に自動的に追加されます。
GPU が接続された VM を作成する
GPU が接続された N1 VM を作成するには、Google Cloud コンソール、Google Cloud CLI、または REST を使用します。
コンソール
Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
VM の名前を指定します。リソースの命名規則をご覧ください。
GPU が利用可能なリージョンとゾーンを選択します。利用可能な GPU ゾーンのリストをご覧ください。
[マシンの構成] セクションで、[GPU] マシン ファミリーを選択し、次の操作を行います。
- [GPU のタイプ] リストで、N1 マシンでサポートされている GPU モデルのいずれかを選択します。
- [GPU の数] リストで、GPU の数を選択します。
GPU モデルがグラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートし、この VM でグラフィックを多用するワークロードを実行する予定がある場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] を選択します。
[マシンタイプ] リストで、プリセットの N1 マシンタイプのいずれかを選択します。または、カスタム マシンタイプを指定することもできます。
[ブートディスク] セクションで [変更] をクリックします。[ブートディスクの構成] ページが表示されます。
[ブートディスクの構成] ページで、次の操作を行います。
- [公開イメージ] タブで、サポートされている Compute Engine イメージまたは Deep Learning VM Image を選択します。
- ブートディスク サイズは 40 GB 以上で指定します。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
[詳細オプション] セクションを開きます。
- [管理] セクションを開きます。
- [ホスト メンテナンス時] リストで [VM インスタンスを終了] を選択します。GPU をアタッチした VM はライブ マイグレーションできません。GPU ホストイベントの処理をご覧ください。
- [自動再起動] リストで [オン] を選択します。
必要なその他の VM 設定を構成します。たとえば、[プリエンプティブ] 設定を変更して、VM をプリエンプティブル インスタンスとして構成できます。これにより、VM とそれに接続される GPU のコストが削減されます。詳細については、プリエンプティブル インスタンスの GPU をご覧ください。
VM を作成して起動するには、[作成] をクリックします。
gcloud
VM を作成して起動するには、次のフラグを指定して、gcloud compute instances create
コマンドを使用します。
--preemptible
は、プリエンプティブル インスタンスとして VM を構成するオプションのフラグです。これにより、VM とそれに接続される GPU のコストが削減されます。詳細については、プリエンプティブル インスタンスの GPU をご覧ください。
gcloud compute instances create VM_NAME \ --machine-type MACHINE_TYPE \ --zone ZONE \ --boot-disk-size DISK_SIZE \ --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \ [--image IMAGE | --image-family IMAGE_FAMILY] \ --image-project IMAGE_PROJECT \ --maintenance-policy TERMINATE --restart-on-failure \ [--preemptible]
次のように置き換えます。
VM_NAME
: 新しい VM の名前。MACHINE_TYPE
: VM に選択したマシンタイプ。ZONE
: VM のゾーン。このゾーンは GPU タイプをサポートしている必要があります。DISK_SIZE
: 起動ディスクのサイズ(GB 単位)。ブートディスク サイズは 40 GB 以上で指定します。GPU をサポートする
IMAGE
またはIMAGE_FAMILY
。次のいずれかを指定します。IMAGE
: 公開イメージの必須バージョン。例:--image debian-10-buster-v20200309
IMAGE_FAMILY
: イメージ ファミリー。これにより、非推奨ではない最新の OS イメージから VM が作成されます。たとえば、--image-family debian-10
を指定すると、Compute Engine は Debian 10 イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
カスタム イメージまたは Deep Learning VM Image を指定することもできます。
IMAGE_PROJECT
: イメージ ファミリーが属する Compute Engine イメージ プロジェクト。カスタム イメージまたは Deep Learning VM Image を使用する場合は、それらのイメージが属するプロジェクトを指定します。ACCELERATOR_COUNT
: VM に追加する GPU の数。VM のマシンタイプに基づく GPU 制限の一覧については、Compute Engine の GPU をご覧ください。ACCELERATOR_TYPE
: 使用する GPU モデル。この VM でグラフィックを多用するワークロードを実行する場合は、仮想ワークステーション モデルのいずれかを使用します。次のいずれかの値を選択します。
NVIDIA GPU:
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4:
NVIDIA RTX 仮想ワークステーション(vWS)(旧称 NVIDIA GRID):
- NVIDIA T4 仮想ワークステーション:
nvidia-tesla-t4-vws
- NVIDIA P4 仮想ワークステーション:
nvidia-tesla-p4-vws
NVIDIA P100 仮想ワークステーション:
nvidia-tesla-p100-vws
これらの仮想ワークステーションの場合、NVIDIA RTX 仮想ワークステーション(vWS)ライセンスが VM に自動的に追加されます。
- NVIDIA T4 仮想ワークステーション:
例
たとえば、us-east1-d
ゾーンで 1 つの NVIDIA T4 GPU と 2 つの vCPU を使用する Ubuntu 22.04 VM を起動するには、次の gcloud
コマンドを使用できます。
gcloud compute instances create gpu-instance-1 \ --machine-type n1-standard-2 \ --zone us-east1-d \ --boot-disk-size 40GB \ --accelerator type=nvidia-tesla-t4,count=1 \ --image-family ubuntu-2204-lts \ --image-project ubuntu-os-cloud \ --maintenance-policy TERMINATE --restart-on-failure
REST
VM に追加する GPU タイプを特定します。GET リクエストを発行し、特定のゾーンのプロジェクトで使用可能な GPU タイプをリストします。
"preemptible": true
は、プリエンプティブル インスタンスとして VM を構成するオプションのパラメータです。これにより、VM とそれに接続される GPU のコストが削減されます。詳細については、プリエンプティブル インスタンスの GPU をご覧ください。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/acceleratorTypes
次のように置き換えます。
PROJECT_ID
: プロジェクト ID。ZONE
: 使用可能な GPU タイプをリストするゾーン。
instances.insert
メソッドに POST リクエストを送信します。使用する GPU タイプを指定する acceleratorType
パラメータを組み込み、追加する GPU の数を指定する acceleratorCount
パラメータを組み込みます。また、onHostMaintenance
パラメータを TERMINATE
に設定します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "type": "PERSISTENT", "initializeParams": { "diskSizeGb": "DISK_SIZE", "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "boot": true } ], "name": "VM_NAME", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK" } ], "guestAccelerators": [ { "acceleratorCount": ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE" } ], "scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true, ["preemptible": true] }, }
次のように置き換えます。
VM_NAME
: VM の名前。PROJECT_ID
: プロジェクト ID。ZONE
: VM のゾーン。このゾーンは GPU タイプをサポートしている必要があります。MACHINE_TYPE
: VM に選択したマシンタイプです。希望する GPU 数に基づいた使用可能なマシンタイプについては、Compute Engine の GPU をご覧ください。IMAGE
またはIMAGE_FAMILY
: 次のいずれかを指定します。IMAGE
: 公開イメージの必須バージョン。たとえば、"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: イメージ ファミリー。これにより、非推奨ではない最新の OS イメージから VM が作成されます。たとえば、"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
を指定すると、Compute Engine は Debian 10 イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
カスタム イメージまたは Deep Learning VM Image を指定することもできます。
IMAGE_PROJECT
: イメージ ファミリーが属する Compute Engine イメージ プロジェクト。カスタム イメージまたは Deep Learning VM Image を使用する場合は、それらのイメージが属するプロジェクトを指定します。DISK_SIZE
: 起動ディスクのサイズ(GB 単位)。ブートディスク サイズは 40 GB 以上で指定します。NETWORK
: VM に使用する VPC ネットワーク。default
を指定して、デフォルト ネットワークを使用できます。ACCELERATOR_COUNT
: VM に追加する GPU の数。VM のマシンタイプに基づく GPU 制限の一覧については、Compute Engine の GPU をご覧ください。ACCELERATOR_TYPE
: 使用する GPU モデル。この VM でグラフィックを多用するワークロードを実行する場合は、仮想ワークステーション モデルのいずれかを使用します。次のいずれかの値を選択します。
NVIDIA GPU:
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4:
NVIDIA RTX 仮想ワークステーション(vWS)(旧称 NVIDIA GRID):
- NVIDIA T4 仮想ワークステーション:
nvidia-tesla-t4-vws
- NVIDIA P4 仮想ワークステーション:
nvidia-tesla-p4-vws
NVIDIA P100 仮想ワークステーション:
nvidia-tesla-p100-vws
これらの仮想ワークステーションの場合、NVIDIA RTX 仮想ワークステーション(vWS)ライセンスが VM に自動的に追加されます。
- NVIDIA T4 仮想ワークステーション:
ドライバをインストールする
ドライバをインストールするには、次のいずれかのオプションを選択します。
- ゲームや可視化など、グラフィックを多用するワークロードを実行する場合は、NVIDIA RTX 仮想ワークステーション用のドライバをインストールします。
- ほとんどのワークロードでは、GPU ドライバをインストールします。
次のステップ
- GPU プラットフォームの詳細を学習する。
- ローカル SSD をインスタンスに追加する。アプリで高性能のストレージが必要な場合に、ローカル SSD デバイスを GPU と効率的に組み合わせる。
- GPU ドライバをインストールする。NVIDIA RTX 仮想ワークステーションを有効にした場合は、仮想ワークステーション用のドライバをインストールする。
- GPU ホスト メンテナンスを処理する。GPU ホスト メンテナンス イベントの処理をご覧ください。