このドキュメントでは、A2 または A3 High アクセラレータ最適化マシンシリーズのマシンタイプを使用する仮想マシン(VM)インスタンスの作成方法について説明します。
A3 High マシンタイプの場合、このドキュメントでは、8 個未満の GPU が割り当てられているマシンタイプのみを扱います。GPU が 8 個未満のこれらの A3 High マシンタイプは、Spot VM または Flex Start VM としてのみ作成できます。8 個の GPU が割り当てられた A3 インスタンスを作成するには、GPUDirect を有効にして A3 Mega、A3 High、または A3 Edge インスタンスを作成するをご覧ください。
複数の A3 VM または A2 VM を作成するには、次のいずれかのオプションを使用することもできます。
- マネージド インスタンス グループ(MIG): 高可用性、スケーラビリティ、自動修復が必要なワークロードの場合は、GPU インスタンス テンプレートを使用する MIG を作成できます。
- インスタンスの一括作成: 多数の独立したインスタンスを作成するには、A3 または A2 の VM を一括作成します。
始める前に
- 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 を作成する
A2 または A3 アクセラレータ最適化 VM は、Google Cloud コンソール、Google Cloud CLI、または REST を使用して作成できます。
コンソール
- Google Cloud コンソールで [インスタンスの作成] ページに移動します。
[インスタンスの作成] に移動 - [名前] フィールドに、インスタンスの一意の名前を入力します。リソースの命名規則をご覧ください。
- これらの GPU マシンタイプが利用可能なリージョンとゾーンを選択します。GPU のリージョンとゾーンをご覧ください。
- マシンタイプのセクションで、[GPU] を選択します。
- [GPU のタイプ] リストで、GPU のタイプを選択します。
- A2 アクセラレータ最適化 VM の場合は、
NVIDIA A100 40GBまたはNVIDIA A100 80GBを選択します。 - A3 アクセラレータ最適化 VM の場合は、
NVIDIA H100 80GBを選択します。
- A2 アクセラレータ最適化 VM の場合は、
- [GPU の数] リストで、GPU の数を選択します。
- [GPU のタイプ] リストで、GPU のタイプを選択します。
- ブートディスクを次のように構成します。
- [OS とストレージ] セクションで、[変更] をクリックします。[ブートディスクの構成] ページが表示されます。
- [ブートディスクの構成] ページで、次の操作を行います。
- [公開イメージ] タブで、サポートされている Compute Engine イメージまたは Deep Learning VM Image を選択します。
- 40 GiB 以上のブートディスク サイズを指定します。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
- プロビジョニング モデルを構成します。[詳細オプション] セクションの [VM プロビジョニング モデル] で、次のいずれかを選択します。
- Standard: 汎用ワークロード用。
- 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 のプロビジョニング モデルを設定します。このフラグは、8 個未満の GPU が割り当てられた A3 マシンタイプを作成する場合に必要です。SPOTまたはFLEX_STARTのいずれかに設定する必要があります。A2 マシンタイプの場合、このフラグは省略可能です。モデルを指定しない場合、標準プロビジョニング モデルが使用されます。詳細については、Compute Engine インスタンスのプロビジョニング モデルをご覧ください。 次のように置き換えます。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_MODELVM_NAME: 新しい VM の名前。MACHINE_TYPE: 1 個、2 個、または 4 個の GPU を備えた A2 マシンタイプまたは A3 マシンタイプ。A3 マシンタイプの場合は、プロビジョニング モデルを指定する必要があります。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フラグを削除すると、標準プロビジョニング モデルが使用されます。このフラグは、GPU が 8 個未満の A3 VM を作成する場合に必要です。
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: 1 個、2 個、または 4 個の GPU を備えた A2 マシンタイプまたは A3 マシンタイプ。A3 マシンタイプの場合は、プロビジョニング モデルを指定する必要があります。PROVISIONING_MODEL: VM のプロビジョニング モデル。SPOTまたはFLEX_STARTを指定します。このフィールドは、8 個未満の GPU を搭載した A3 VM を作成するときに必須です。A2 VM の場合、このフィールドは省略可能です。モデルを指定しない場合、標準プロビジョニング モデルが使用されます。詳細については、Compute Engine インスタンスのプロビジョニング モデルをご覧ください。SOURCE_IMAGE_URI: 使用する特定のイメージまたはイメージ ファミリーの URI。次に例を示します。- 特定のイメージ:
"sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-10-optimized-gcp-v20251017" - イメージ ファミリー:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-10-optimized-gcp"
- 特定のイメージ:
DISK_SIZE: ブートディスクのサイズ(GB 単位)。ブートディスクのサイズは 40 GB 以上で指定します。NETWORK: VM に使用する VPC ネットワーク。デフォルト ネットワークを使用するには、「default」を指定します。
- プロビジョニング モデルを指定するには、リクエストの
schedulingオブジェクトに"provisioningModel": "PROVISIONING_MODEL"フィールドを追加します。これは、GPU が 8 個未満の A3 マシンタイプに必要です。Spot VM の作成を指定すると、onHostMaintenanceフィールドとautomaticRestartフィールドは無視されます。"scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true, "provisioningModel": "PROVISIONING_MODEL" }
ドライバをインストールする
VM で GPU を使用するには、VM に GPU ドライバをインストールする必要があります。
例
以下の例では、Google Cloud CLI を使用してほとんどの VM を作成しています。ただし、 Google Cloud console または REST を使用して、これらの VM を作成することもできます。
次の例は、標準 OS イメージを使用して A3 Spot VM を作成する方法と、Deep Learning VM Images イメージを使用して A2 VM を作成する方法を示しています。
Debian 13 OS イメージ ファミリーを使用して A3 Spot VM を作成する
この例では、Debian 13 OS イメージ ファミリーを使用して A3(
a3-highgpu-1g)Spot VM を作成します。gcloud compute instances create VM_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --machine-type=a3-highgpu-1g \ --provisioning-model=SPOT \ --maintenance-policy=TERMINATE \ --image-family=debian-13 \ --image-project=debian-cloud \ --boot-disk-size=200GB \ --scopes=https://www.googleapis.com/auth/cloud-platform次のように置き換えます。
VM_NAME: VM インスタンスの名前PROJECT_ID: プロジェクト IDZONE: VM インスタンスのゾーン
VM に Vertex AI Workbench ユーザー管理ノートブック インスタンスを使用して A2 VM を作成する
この例では、
tf2-ent-2-3-cu110Deep Learning VM Image イメージを使用して A2 標準(a2-highgpu-1g)VM を作成します。この例では、ブートディスクのサイズやスコープなどのオプションのフラグが指定されています。すでに 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 のドキュメントをご覧ください。
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: プロジェクト IDZONE: VM インスタンスのゾーン
上記のコマンドの例では、VM の Vertex AI Workbench ユーザー管理ノートブック インスタンスも生成されます。ノートブックにアクセスするには、 Google Cloud コンソールで [Vertex AI Workbench] > [ユーザー管理のノートブック] ページに移動します。
マルチインスタンス GPU
マルチインスタンス GPU は、単一の NVIDIA A100 または NVIDIA H100 GPU を、同じ VM 内にある最大 7 つの独立した GPU インスタンスに分割します。これらは、それぞれ独自のメモリ、キャッシュ、ストリーミング マルチプロセッサを備え、同時に実行されます。この設定により、NVIDIA A100 および H100 GPU は、以前の GPU モデルと比較して最大 7 倍高い使用率で一貫した品質保証(QoS)を提供できます。
最大 7 つのマルチインスタンス GPU を作成できます。A100 40 GB GPU の場合、各マルチインスタンス GPU に 5 GB のメモリが割り当てられます。A100 80 GB GPU では、割り当てられるメモリがそれぞれ 2 倍の 10 GB になります。H100 80 GB GPU の場合、各マルチインスタンス GPU に 10 GB のメモリが割り当てられます。
複数インスタンス GPU の使用について詳しくは、NVIDIA マルチインスタンス GPU ユーザーガイドをご覧ください。
複数インスタンス GPU を作成する手順は次のとおりです。
A2(A100)または A3(H100)アクセラレータ最適化 VM インスタンスを作成します。
VM インスタンスに接続します。詳細については、Linux VM に接続するまたは Windows 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.20gbGPU インスタンスを作成します。-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 プラットフォームの詳細を学習する。
- A2 VM の場合は、VM にローカル SSD を追加します。アプリが高性能のストレージを必要とする場合、ローカル SSD デバイスを GPU と効率的に組み合わせます。A3 VM には、デフォルトでローカル SSD がアタッチされています。
- GPU ドライバをインストールします。
- GPU ホスト メンテナンスを処理する。GPU ホスト メンテナンス イベントの処理をご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-12-25 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-12-25 UTC。"],[],[]] -