このドキュメントでは、A3 High、A3 Mega、A3 Edge、A2、G2 マシンシリーズのマシンタイプを使用する仮想マシン(VM)インスタンスを作成する方法について説明します。これらの VM はオンデマンド VM として作成できます。また、VM を Spot VM または Flex Start 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
-
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
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
GPU が割り当てられた VM を作成する
A3 High、A3 Mega、A3 Edge、A2、または G2 アクセラレータ最適化 VM は、 Google Cloud コンソール、Google Cloud CLI、または REST を使用して作成できます。
G2 VM をカスタマイズするには、Google Cloud CLI または REST が必要になる場合があります。G2 の制限事項をご覧ください。
コンソール
- 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 の数を選択します。
- [GPU のタイプ] リストで、GPU のタイプを選択します。
- G2 マシンシリーズの場合は、次のようにカスタム マシンタイプを選択できます。
- [GPU のタイプ] リストで、
NVIDIA L4
を選択します。 - [マシンタイプ] セクションで [カスタム] を選択します。
- インスタンスの vCPU の数とメモリ容量を指定するには、スライダーをドラッグするか、テキスト ボックスに値を入力します。vCPU の数とメモリを変更すると、コンソールにインスタンスの見積もり価格が表示されます。
- [GPU のタイプ] リストで、
- すべての GPU マシンシリーズで、次のように事前定義されたマシンタイプを選択できます。
- 省略可: G2 マシンシリーズは、グラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートしています。G2 VM でグラフィックを多用するワークロードを実行する場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] を選択します。
- 次のいずれかの手順を完了して、マシンシリーズに基づいて事前定義されたマシンタイプまたはカスタム マシンタイプを選択します。
- [ブートディスク] セクションで [変更] をクリックします。[ブートディスクの構成] ページが開きます。
- [ブートディスクの構成] ページで、次の操作を行います。
- [公開イメージ] タブで、サポートされている Compute Engine イメージまたは Deep Learning VM Image を選択します。
- ブートディスクのサイズは 40 GiB 以上で指定します。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
- 省略可: 別のプロビジョニング モデルを構成して、費用を削減します。[詳細オプション] セクションの [VM プロビジョニング モデル] で、次のいずれかを選択します。
- Flex Start: 開始時間が柔軟な短時間のワークロード。詳細については、Flex-start VM についてをご覧ください。
- Spot: プリエンプト可能なフォールト トレラントなワークロード用。詳細については、Spot VM をご覧ください。
- 省略可: [VM の終了時] リストで、Compute Engine が Spot VM をプリエンプトしたとき、または Flex-start VM の実行期間が終了したときの動作を選択します。
- プリエンプション中に VM を停止するには、[停止] を選択します(デフォルト)。
- プリエンプション中に VM を削除するには [削除] をクリックします。
- VM を作成して起動するには、[作成] をクリックします。
gcloud
VM を作成して起動するには、次のフラグを指定して、
gcloud compute instances create
コマンドを使用します。GPU を使用した VM はライブ マイグレーションできません。必ず--maintenance-policy=TERMINATE
フラグを設定してください。サンプル コマンドには、以下のオプションのフラグが指定されています。
--provisioning-model
フラグ。このフラグは、VM のプロビジョニング モデルを設定します。SPOT
またはFLEX_START
を指定します。モデルを指定しない場合、標準モデルが使用されます。詳細については、 Compute Engine インスタンスのプロビジョニング モデルをご覧ください。- 仮想ワークステーションを指定する
--accelerator
フラグ。 NVIDIA RTX 仮想ワークステーション(vWS)は、G2 VM でのみサポートされています。
次のように置き換えます。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=PROVISIONING_MODEL] \ [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
VM_NAME
: 新しい VM の名前。MACHINE_TYPE
: 選択したマシンタイプ。次のいずれかを選択します。ZONE
: VM のゾーン。このゾーンは、選択した GPU モデルをサポートしている必要があります。DISK_SIZE
: ブートディスクのサイズ(GiB 単位)。ブートディスクのサイズは 40 GiB 以上で指定します。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 を使用する場合は、それらのイメージが属するプロジェクトを指定します。PROVISIONING_MODEL
: VM の作成に使用するプロビジョニング モデル。SPOT
またはFLEX_START
のいずれかを指定できます。コマンドから--provisioning-model
フラグを削除すると、標準プロビジョニング モデルが使用されます。VWS_ACCELERATOR_COUNT
: 必要な仮想 GPU の数。
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_NAME
: 新しい VM の名前。PROJECT_ID
: プロジェクト ID。ZONE
: VM のゾーン。このゾーンは、選択した GPU モデルをサポートしている必要があります。MACHINE_TYPE
: 選択したマシンタイプ。次のいずれかを選択します。PROVISIONING_MODEL
:(省略可)VM のプロビジョニング モデル。SPOT
またはFLEX_START
を指定します。モデルを指定しない場合、標準プロビジョニング モデルが使用されます。詳細については、Compute Engine インスタンスのプロビジョニング モデルをご覧ください。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」を指定します。
- 費用を削減するには、リクエストの
scheduling
オブジェクトに"provisioningModel": "PROVISIONING_MODEL"
フィールドを追加して、別のプロビジョニング モデルを指定します。Spot VM の作成を指定すると、onHostMaintenance
フィールドとautomaticRestart
フィールドは無視されます。"scheduling": { "onHostMaintenance": "terminate", "provisioningModel": "PROVISIONING_MODEL" }
- G2 VM の場合、NVIDIA RTX 仮想ワークステーション(vWS)がサポートされています。仮想ワークステーションを指定するには、リクエストに「guestAccelerators」オプションを追加します。
VWS_ACCELERATOR_COUNT
は、必要な仮想 GPU の数に置き換えます。"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/nvidia-l4-vws" } ]
ドライバをインストールする
VM で GPU を使用するには、VM に GPU ドライバをインストールする必要があります。
例
以下の例では、Google Cloud CLI を使用してほとんどの VM を作成しています。ただし、 Google Cloud console または REST を使用して、これらの VM を作成することもできます。
次の例は、以下のイメージを使用して VM を作成する方法を示しています。
+ Deep Learning VM Image。この例では、A2 標準(
a2-highgpu-1g
)VM を使用します。 + Container-Optimized(COS)イメージ。この例では、a3-highgpu-8g
VM またはa3-edgegpu-8g
VM を使用します。+ 公開イメージ。この例では G2 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 を作成するには、以下の操作を行います。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 以降が必要です。
DLVM イメージ(A2)
すでに NVIDIA ドライバと CUDA ライブラリがプリインストールされているため、DLVM イメージを使用するのが最も簡単な方法です。
これらのイメージは、パフォーマンスの最適化にも役立ちます。
NVIDIA A100 では、次の DLVM イメージがサポートされています。
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.6
使用可能な DLVM イメージと、イメージにインストールされているパッケージの詳細については、ディープ ラーニング VM のドキュメントをご覧ください。
tf2-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] > [ユーザー管理のノートブック] ページに移動します。
マルチインスタンス 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 を作成する手順は次のとおりです。
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 ホスト メンテナンス イベントの処理をご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-10-19 UTC。
-