このドキュメントでは、A3 High、A3 Mega、A3 Edge、A2、G2 マシンシリーズのマシンタイプを使用する VM の作成方法について説明します。GPU が割り当てられた VM の作成の詳細については、GPU が割り当てられたインスタンスの作成の概要をご覧ください。
始める前に
- GPU が割り当てられたインスタンスの作成に関する制限事項とその他の前提条件(OS イメージの選択や GPU の割り当ての確認など)を確認するには、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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- プロジェクトに対する
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
Google Cloud コンソールで [インスタンスの作成] ページに移動します。
VM の名前を指定します。リソースの命名規則をご覧ください。
GPU が利用可能なリージョンとゾーンを選択します。利用可能な GPU のリージョンとゾーンのリストをご覧ください。
[マシンの構成] セクションで、[GPU] マシン ファミリーを選択します。
次のいずれかの手順を完了して、マシンシリーズに基づいて事前定義されたマシンタイプまたはカスタム マシンタイプを選択します。
すべての GPU マシンシリーズで、次のように事前定義されたマシンタイプを選択できます。
[GPU のタイプ] リストで、GPU のタイプを選択します。
- A3 High、A3 Mega、A3 Edge アクセラレータ最適化 VM の場合は、
NVIDIA H100 80GB
またはNVIDIA H100 80GB MEGA
を選択します。 - A2 アクセラレータ最適化 VM の場合は、
NVIDIA A100 40GB
またはNVIDIA A100 80GB
を選択します。 - G2 アクセラレータ最適化 VM の場合は、
NVIDIA L4
を選択します。
- A3 High、A3 Mega、A3 Edge アクセラレータ最適化 VM の場合は、
[GPU の数] リストで、GPU の数を選択します。
G2 マシンシリーズの場合は、次のようにカスタム マシンタイプを選択できます。
- [GPU のタイプ] リストで、
NVIDIA L4
を選択します。 - [マシンタイプ] セクションで [カスタム] を選択します。
- インスタンスの vCPU の数とメモリ容量を指定するには、スライダーをドラッグするか、テキスト ボックスに値を入力します。vCPU の数とメモリを変更すると、コンソールにインスタンスの見積もり価格が表示されます。
- [GPU のタイプ] リストで、
省略可: G2 マシンシリーズは、グラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートしています。G2 VM でグラフィックを多用するワークロードを実行する場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] を選択します。
[ブートディスク] セクションで [変更] をクリックします。[ブートディスクの構成] ページが表示されます。
[ブートディスクの構成] ページで、次の操作を行います。
- [公開イメージ] タブで、サポートされている Compute Engine イメージまたは Deep Learning VM Image を選択します。
- ブートディスク サイズは 40 GB 以上で指定します。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
省略可: プロビジョニング モデルを構成します。たとえば、ワークロードがフォールト トレラントで、発生が考えられる VM のプリエンプションに対処できる場合は、Spot VM を使用して VM およびアタッチされた GPU のコストを削減することを検討してください。詳細については、Spot VM の GPU をご覧ください。その方法は次のとおりです。
- [可用性ポリシー] セクションで、[VM プロビジョニング モデル] リストから [スポット] を選択します。これを選択すると、VM の自動再起動とホスト メンテナンス オプションが無効になります。
- 省略可: [VM の終了時] リストで、Compute Engine が VM をプリエンプトしたときの動作を選択します。
- プリエンプション中に VM を停止するには、[停止] を選択します(デフォルト)。
- プリエンプション中に VM を削除するには [削除] をクリックします。
VM を作成して起動するには、[作成] をクリックします。
- VM を Spot VM として構成する
--provisioning-model=SPOT
フラグ。ワークロードがフォールト トレラントで、発生が考えられる VM のプリエンプションに対処できる場合は、Spot VM を使用して VM およびアタッチされた GPU のコストを削減することを検討してください。詳細については、Spot VM 上の GPU をご覧ください。Spot VM の場合、自動再起動とホスト メンテナンスのオプション フラグは無効になります。 - 仮想ワークステーションを指定する
--accelerator
フラグ。 NVIDIA RTX 仮想ワークステーション(vWS)は、G2 VM でのみサポートされています。 VM_NAME
: 新しい VM の名前。MACHINE_TYPE
: 選択したマシンタイプ。次のいずれかを選択します。ZONE
: VM のゾーン。このゾーンは、選択した GPU モデルをサポートしている必要があります。DISK_SIZE
: ブートディスクのサイズ(GB 単位)。ブートディスクのサイズは 40 GB 以上で指定します。IMAGE
: GPU をサポートするオペレーティング システム イメージ。イメージ ファミリーの最新イメージを使用する場合は、--image
フラグを--image-family
フラグに置き換え、その値を GPU をサポートするイメージ ファミリーに設定します。例:--image-family=rocky-linux-8-optimized-gcp
。
カスタム イメージまたは Deep Learning VM Image を指定することもできます。IMAGE_PROJECT
: OS イメージが属する Compute Engine イメージ プロジェクト。カスタム イメージまたは Deep Learning VM Image を使用する場合は、それらのイメージが属するプロジェクトを指定します。VWS_ACCELERATOR_COUNT
: 必要な仮想 GPU の数。VM_NAME
: 新しい VM の名前。PROJECT_ID
: プロジェクト ID。ZONE
: VM のゾーン。このゾーンは、選択した GPU モデルをサポートしている必要があります。MACHINE_TYPE
: 選択したマシンタイプ。次のいずれかを選択します。- A3 マシンタイプ。
- A2 マシンタイプ。
- G2 マシンタイプ。
G2 マシンタイプはカスタムメモリもサポートしています。メモリは 1,024 MB の倍数とし、サポートされているメモリ範囲内に収める必要があります。たとえば、4 個の vCPU と 19 GB のメモリを備えた VM を作成するには、
--machine-type=g2-custom-4-19456
を指定します。
SOURCE_IMAGE_URI
: 使用する特定のイメージまたはイメージ ファミリーの URI。 次に例を示します。- 特定のイメージ:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
- イメージ ファミリー:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
DISK_SIZE
: ブートディスクのサイズ(GB 単位)。ブートディスクのサイズは 40 GB 以上で指定します。NETWORK
: VM に使用する VPC ネットワーク。デフォルト ネットワークを使用するには、「default」を指定します。- ワークロードがフォールト トレラントで、発生が考えられる VM のプリエンプションに対処できる場合は、Spot VM を使用して VM およびアタッチされた GPU の費用を削減することを検討してください。詳細については、Spot VM の GPU をご覧ください。Spot VM を指定するには、リクエストに
"provisioningModel": "SPOT"
オプションを追加します。Spot VM の場合、自動再起動とホスト メンテナンスのオプション フラグは無効になります。"scheduling": { "provisioningModel": "SPOT" }
- G2 VM の場合、NVIDIA RTX 仮想ワークステーション(vWS)がサポートされています。仮想ワークステーションを指定するには、リクエストに「guestAccelerators」オプションを追加します。
VWS_ACCELERATOR_COUNT
は、必要な仮想 GPU の数に置き換えます。"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws" } ]
- Deep Learning VM Image。この例では A2 標準(
a2-highgpu-1g
)VM を使用します。 - Container-Optimized(COS)イメージ。この例では、
a3-highgpu-8g
VM またはa3-edgegpu-8g
VM を使用します。 公開イメージ。この例では G2 VM を使用します。
VM を作成します。この例では、ブートディスクのタイプやサイズなどのオプションのフラグも指定されています。
gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --machine-type=g2-standard-8 \ --maintenance-policy=TERMINATE --restart-on-failure \ --network-interface=nic-type=GVNIC \ --accelerator=type=nvidia-l4-vws,count=1 \ --image-family=rocky-linux-8-optimized-gcp \ --image-project=rocky-linux-cloud \ --boot-disk-size=200GB \ --boot-disk-type=pd-ssd
次のように置き換えます。
VM_NAME
: VM の名前。PROJECT_ID
: プロジェクト ID。ZONE
: VM のゾーン。
NVIDIA ドライバと CUDA をインストールします。NVIDIA L4 GPU には、CUDA バージョン XX 以降が必要です。
common-cu110
: NVIDIA ドライバと CUDA がプリインストールされていますtf-ent-1-15-cu110
: NVIDIA ドライバ、CUDA、TensorFlow Enterprise 1.15.3 がプリインストールされていますtf2-ent-2-1-cu110
: NVIDIA ドライバ、CUDA、TensorFlow Enterprise 2.1.1 がプリインストールされていますtf2-ent-2-3-cu110
: NVIDIA ドライバ、CUDA、TensorFlow Enterprise 2.3.1 がプリインストールされていますpytorch-1-6-cu110
: NVIDIA ドライバ、CUDA、Pytorch 1.6tf2-ent-2-3-cu110
イメージとa2-highgpu-1g
マシンタイプを使用して VM を作成します。この例では、ブートディスクのサイズやスコープなどのオプションのフラグが指定されています。gcloud compute instances create VM_NAME \ --project PROJECT_ID \ --zone ZONE \ --machine-type a2-highgpu-1g \ --maintenance-policy TERMINATE \ --image-family tf2-ent-2-3-cu110 \ --image-project deeplearning-platform-release \ --boot-disk-size 200GB \ --metadata "install-nvidia-driver=True,proxy-mode=project_editors" \ --scopes https://www.googleapis.com/auth/cloud-platform
次のように置き換えます。
VM_NAME
: VM の名前。PROJECT_ID
: プロジェクト ID。ZONE
: VM のゾーン。
上記のコマンドの例では、VM の Vertex AI Workbench ユーザー管理ノートブック インスタンスも生成されます。ノートブックにアクセスするには、 Google Cloud コンソールで [Vertex AI Workbench] > [ユーザー管理のノートブック] ページに移動します。
A3 High、A3 Mega、A3 Edge、または A2 アクセラレータ最適化 VM を作成します。
NVIDIA GPU ドライバを有効にします。
マルチインスタンス GPU を有効にします。
sudo nvidia-smi -mig 1
利用可能な複数インスタンスの GPU シェイプを確認します。
sudo nvidia-smi mig --list-gpu-instance-profiles
出力は次のようになります。
+-----------------------------------------------------------------------------+ | GPU instance profiles: | | GPU Name ID Instances Memory P2P SM DEC ENC | | Free/Total GiB CE JPEG OFA | |=============================================================================| | 0 MIG 1g.10gb 19 7/7 9.62 No 16 1 0 | | 1 1 0 | +-----------------------------------------------------------------------------+ | 0 MIG 1g.10gb+me 20 1/1 9.62 No 16 1 0 | | 1 1 1 | +-----------------------------------------------------------------------------+ | 0 MIG 1g.20gb 15 4/4 19.50 No 26 1 0 | | 1 1 0 | +-----------------------------------------------------------------------------+ | 0 MIG 2g.20gb 14 3/3 19.50 No 32 2 0 | | 2 2 0 | +-----------------------------------------------------------------------------+ | 0 MIG 3g.40gb 9 2/2 39.25 No 60 3 0 | | 3 3 0 | +-----------------------------------------------------------------------------+ .......
必要なマルチインスタンス GPU(GI)と関連するコンピューティング インスタンス(CI)を作成します。これらのインスタンスを作成するには、プロファイル名(完全または短縮)とプロファイル ID の一方、または両方の組み合わせを指定します。詳細については、 GPU インスタンスの作成をご覧ください。
次の例では、プロファイル ID(
9
)を使用して 2 つのMIG 3g.20gb
GPU インスタンスを作成します。-C
フラグも指定されているため、必要なプロファイル用の関連付けられたコンピューティング インスタンスが作成されます。sudo nvidia-smi mig -cgi 9,9 -C
2 つのマルチインスタンス GPU が作成されていることを確認します。
sudo nvidia-smi mig -lgi
GI と、それに対応する CI の両方が作成されていることを確認します。
sudo nvidia-smi
出力は次のようになります。
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA H100 80G... Off | 00000000:04:00.0 Off | On | | N/A 33C P0 70W / 700W | 39MiB / 81559MiB | N/A Default | | | | Enabled | +-------------------------------+----------------------+----------------------+ | 1 NVIDIA H100 80G... Off | 00000000:05:00.0 Off | On | | N/A 32C P0 69W / 700W | 39MiB / 81559MiB | N/A Default | | | | Enabled | +-------------------------------+----------------------+----------------------+ ...... +-----------------------------------------------------------------------------+ | MIG devices: | +------------------+----------------------+-----------+-----------------------+ | GPU GI CI MIG | Memory-Usage | Vol| Shared | | ID ID Dev | BAR1-Usage | SM Unc| CE ENC DEC OFA JPG| | | | ECC| | |==================+======================+===========+=======================| | 0 1 0 0 | 19MiB / 40192MiB | 60 0 | 3 0 3 0 3 | | | 0MiB / 65535MiB | | | +------------------+----------------------+-----------+-----------------------+ | 0 2 0 1 | 19MiB / 40192MiB | 60 0 | 3 0 3 0 3 | | | 0MiB / 65535MiB | | | +------------------+----------------------+-----------+-----------------------+ ...... +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
- GPU プラットフォームの詳細を学習する。
- ローカル SSD をインスタンスに追加する。アプリで高性能のストレージが必要な場合に、ローカル SSD デバイスを GPU と効率的に組み合わせる。
- GPU ドライバをインストールする。
- NVIDIA RTX 仮想ワークステーションを有効にした場合は、仮想ワークステーション用のドライバをインストールする。
- GPU ホスト メンテナンスを処理する。GPU ホスト メンテナンス イベントの処理をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
VM の作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼します。ロールの付与について詳しくは、プロジェクト、フォルダ、組織へのアクセス権を管理するをご覧ください。この事前定義ロールには、VM の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
VM を作成するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
GPU が割り当てられた VM を作成する
A3 High、A3 Mega、A3 Edge、A2、または G2 アクセラレータ最適化 VM は、 Google Cloud コンソール、Google Cloud CLI、または REST を使用して作成できます。
G2 VM をカスタマイズするには、Google Cloud CLI または REST が必要になる場合があります。G2 の制限事項をご覧ください。
コンソール
gcloud
VM を作成して起動するには、次のフラグを指定して、
gcloud compute instances create
コマンドを使用します。GPU を使用した VM はライブ マイグレーションできません。必ず--maintenance-policy=TERMINATE
フラグを設定してください。サンプル コマンドには、以下のオプションのフラグが指定されています。
次のように置き換えます。gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --zone=ZONE \ --boot-disk-size=DISK_SIZE \ --image=IMAGE \ --image-project=IMAGE_PROJECT \ --maintenance-policy=TERMINATE \ [--provisioning-model=SPOT] \ [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
REST
instances.insert
メソッドに POST リクエストを送信します。GPU を使用した VM はライブ マイグレーションできません。必ず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": "SOURCE_IMAGE_URI" }, "boot": true } ], "name": "VM_NAME", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK" } ], "scheduling": { "onHostMaintenance": "terminate", ["automaticRestart": true] }, }
ドライバをインストールする
VM で GPU を使用するには、VM に GPU ドライバをインストールする必要があります。
例
以下の例では、Google Cloud CLI を使用してほとんどの VM を作成しています。ただし、 Google Cloud console または REST を使用して、これらの VM を作成することもできます。
次の例は、以下のイメージを使用して VM を作成する方法を示しています。
COS(A3 Edge/High)
Container-Optimized(COS)イメージを使用して、H100 GPU をアタッチした
a3-edgegpu-8g
VM またはa3-highgpu-8g
VM を作成できます。Container-Optimized OS を使用するこれらの
a3-edgegpu-8g
VM またはa3-highgpu-8g
VM の詳しい作成方法については、GPUDirect-TCPX を有効にして A3 VM を作成するをご覧ください。公開 OS イメージ(G2)
Compute Engine で利用可能な公開イメージまたはカスタム イメージのいずれかを使用する GPU が接続された VM を作成できます。
g2-standard-8
マシンタイプを使用し、NVIDIA RTX 仮想ワークステーションを備えた Google Cloud イメージ ファミリー用に最適化された Rocky Linux 8 の非推奨でない最新のイメージを使用して VM を作成するには、以下の操作を行います。DLVM イメージ(A2)
すでに NVIDIA ドライバと CUDA ライブラリがプリインストールされているため、DLVM イメージを使用するのが最も簡単な方法です。
これらのイメージは、パフォーマンスの最適化にも役立ちます。
NVIDIA A100 では、次の DLVM イメージがサポートされています。
使用可能な DLVM イメージと、イメージにインストールされているパッケージの詳細については、ディープ ラーニング VM のドキュメントをご覧ください。
マルチインスタンス GPU(A3 VM と A2 VM のみ)
マルチインスタンス GPU は、単一の NVIDIA H100 または A100 GPU を、同じ VM 内にある最大 7 つの独立した GPU インスタンスに分割します。これらは、それぞれ独自のメモリ、キャッシュ、ストリーミング マルチプロセッサを備え、同時に実行されます。この設定により、NVIDIA H100 または A100 GPU は、以前の GPU モデルと比較して最大 7 倍高い品質保証(QoS)を提供できます。
最大 7 つのマルチインスタンス GPU を作成できます。A100 40 GB GPU の場合、各マルチインスタンス GPU に 5 GB のメモリが割り当てられます。A100 80 GB GPU と H100 80 GB GPU では、割り当てられるメモリがそれぞれ 2 倍の 10 GB になります。
マルチインスタンス GPU の使用について詳しくは、NVIDIA マルチインスタンス GPU ユーザーガイドをご覧ください。
複数インスタンス GPU を作成する手順は次のとおりです。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-24 UTC。
-