このドキュメントでは、GPU が接続され、N1 マシン ファミリーを使用する VM の作成方法について説明します。N1 shared-core
を除くほとんどの N1 マシンタイプを使用できます。
始める前に
- OS イメージの選択や GPU 割り当ての確認など、その他の前提条件を確認するには、概要のドキュメントをご覧ください。
-
まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
- Set a default region and zone.
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
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.subnetworks.use
-
VM の静的 IP アドレスを指定する: プロジェクトに対する
compute.addresses.use
-
VPC ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.useExternalIp
- VM にレガシー ネットワークを割り当てる: プロジェクトに対する
compute.networks.use
-
レガシー ネットワークを使用する際に VM に外部 IP アドレスを割り当てる: プロジェクトに対する
compute.networks.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)ライセンスがインスタンスに自動的に追加されます。
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 プロビジョニング モデル] リストで、プロビジョニング モデルを選択します。
VM を作成して起動するには、[作成] をクリックします。
gcloud
VM を作成して起動するには、次のフラグを指定して、
gcloud compute instances create
コマンドを使用します。ワークロードがフォールト トレラントである場合や、いつでも開始できる場合は、別のプロビジョニング モデルを使用して費用を削減することを検討してください。プロビジョニング モデルを変更するには、コマンドに
--provisioning-model=<var>PROVISIONING_MODEL</var>
フラグを含めます。使用可能なモデルの詳細については、Compute Engine インスタンスのプロビジョニング モデルをご覧ください。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 \ [--provisioning-model=PROVISIONING_MODEL]
次のように置き換えます。
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 を使用する場合は、それらのイメージが属するプロジェクトを指定します。PROVISIONING_MODEL
: VM のプロビジョニング モデル。SPOT
またはFLEX_START
を指定します。プロビジョニング モデルを指定しない場合、標準モデルが使用されます。このフラグは省略可能です。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)ライセンスがインスタンスに自動的に追加されます。
- 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
REST
VM に追加する GPU タイプを特定します。GET リクエストを発行し、特定のゾーンのプロジェクトで使用可能な GPU タイプをリストします。
割引価格で VM を作成するには、リクエストの
scheduling
オブジェクトに"provisioningModel": "PROVISIONING_MODEL"
フィールドを追加して、別のプロビジョニング モデルを指定します。使用可能なモデルの詳細については、Compute Engine インスタンスのプロビジョニング モデルをご覧ください。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": { ["automaticRestart": true], "onHostMaintenance": "TERMINATE", "provisioningModel": "PROVISIONING_MODEL" }, }
次のように置き換えます。
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)ライセンスがインスタンスに自動的に追加されます。
- NVIDIA T4 仮想ワークステーション:
PROVISIONING_MODEL
: VM のプロビジョニング モデル。SPOT
またはFLEX_START
を指定します。プロビジョニング モデルを指定しない場合、標準モデルが使用されます。このプロパティは省略可能です。プロビジョニング モデルの詳細については、Compute Engine インスタンスのプロビジョニング モデルをご覧ください。
ドライバをインストールする
ドライバをインストールするには、次のいずれかのオプションを選択します。
- ゲームや可視化など、グラフィックを多用するワークロードを実行する場合は、NVIDIA RTX 仮想ワークステーション用のドライバをインストールします。
- ほとんどのワークロードでは、GPU ドライバをインストールします。
次のステップ
- GPU プラットフォームの詳細を学習する。
- ローカル SSD をインスタンスに追加する。アプリで高性能のストレージが必要な場合に、ローカル SSD デバイスを GPU と効率的に組み合わせる。
- GPU ドライバをインストールします。 NVIDIA RTX 仮想ワークステーションを有効にした場合は、仮想ワークステーション用のドライバをインストールする。
- GPU ホスト メンテナンスを処理する。GPU ホスト メンテナンス イベントの処理をご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-18 UTC。
-