このドキュメントでは、A3 Ultra または A4 マシンシリーズで GPU が割り当てられたインスタンスの作成方法について説明します。GPU が割り当てられたインスタンスの作成の詳細については、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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- 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
低レイテンシを必要とする大規模なモデル トレーニングや推論など、長時間実行される AI / ML ワークロードを実行する必要がある場合は、Cluster Director で提供されている機能とサービスを使用できる VM またはクラスタを作成することをおすすめします。Cluster Director を使用すると、トポロジ対応のスケジューリングや高度なモニタリング、予約済み容量のメンテナンスが可能な、高密度で割り振られたマシンを予約できます。Cluster Director の詳細については、AI Hypercomputer のドキュメントの Cluster Director をご覧ください。
A3 Ultra インスタンスまたは A4 インスタンスを作成する手順については、AI Hypercomputer のドキュメントの VM とクラスタの作成の概要をご覧ください。
優先度の低い AI ワークロードと ML ワークロードを実行する必要がある場合は、次のいずれかのオプションを選択します。
ワークロードをいつでも起動でき、起動に正確な数の VM が必要な場合は、マネージド インスタンス グループ(MIG)でサイズ変更リクエストを使用できます。MIG サイズ変更リクエストを使用すると、リクエストされたリソースが使用可能になったときに、VM を MIG に一度に追加するよう Compute Engine にリクエストします。これらの VM は最大 7 日間実行できます。リソースは保護されたプールから提供されるため、オンデマンド リクエストと比較して GPU を取得する可能性が高くなります。
MIG のサイズ変更リクエストの詳細については、MIG のサイズ変更リクエストについてをご覧ください。
可用性の中断を許容できるワークロードであれば、Spot VM を使用して大幅な割引を受けることができます。Spot VM は必要に応じて作成および削除できますが、Spot VM は有限のリソースであり、常に使用できるとは限りません。また、Compute Engine はいつでも Spot VM をプリエンプト(自動的に停止または削除)する可能性があります。Spot VM の詳細については、Spot VM をご覧ください。
Spot VM を使用して A3 Ultra インスタンスまたは A4 インスタンスを作成する手順については、このドキュメントの Spot VM を使用して A3 Ultra インスタンスまたは A4 インスタンスを作成するをご覧ください。
- 2 つの gVNIC ネットワーク インターフェース。ホスト間通信に使用します。
- 1 つの RDMA ネットワーク インターフェース(8 個のサブネットを持つネットワークに接続)。GPU 間通信に使用します。
- 2 つの gVNIC ネットワーク インターフェース。ホスト間通信に使用します。
- 1 つの RDMA ネットワーク インターフェース(8 個のサブネットを持つネットワークに接続)。GPU 間通信に使用します。
- ホスト ネットワークを作成するには、Virtual Private Cloud ネットワークの作成と管理をご覧ください。
- GPU ネットワークを作成するには、RDMA NIC 用の Virtual Private Cloud ネットワークを作成するをご覧ください。
GVNIC_NAME_PREFIX
: gVNIC NIC を使用する標準の VPC ネットワークとサブネットに使用する名前の接頭辞。RDMA_NAME_PREFIX
: RDMA NIC を使用する VPC ネットワークとサブネットに使用する名前の接頭辞。ZONE
: 使用するマシンタイプが使用可能なゾーンを指定します。リージョンの詳細については、GPU のリージョンとゾーンをご覧ください。REGION
: ネットワークを作成するリージョン。これは、指定したゾーンに対応している必要があります。たとえば、ゾーンがeurope-west1-b
の場合、リージョンはeurope-west1
です。IP_RANGE
: SSH ファイアウォール ルールに使用する IP 範囲。Google Cloud コンソールで [インスタンスの作成] ページに移動します。
[インスタンスの作成] 画面が表示され、[マシンの構成] ペインが表示されます。
[マシンの構成] ペインで、次の操作を行います。
- [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。
- 容量を予約するリージョンとゾーンを選択します。利用可能な GPU のリージョンとゾーンのリストをご覧ください。
- [GPU] タブをクリックして、次の操作を行います。
- [GPU のタイプ] リストで、GPU のタイプを選択します。
- A4 インスタンスの場合は
NVIDIA B200
を選択します。 - A3 Ultra インスタンスの場合は、
NVIDIA H200 141GB
を選択します。
- A4 インスタンスの場合は
- [GPU の数] リストで、
8
を選択します。
- [GPU のタイプ] リストで、GPU のタイプを選択します。
ナビゲーション メニューで [OS とストレージ] をクリックします。表示された [OS とストレージ] ペインで、次の手順を完了します。
- [変更] をクリックします。[ブートディスクの構成] ペインが開きます。
- [公開イメージ] タブで、推奨イメージを選択します。推奨イメージの一覧については、オペレーティング システムをご覧ください。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
マルチ NIC インスタンスを作成するには、次の手順を完了します。それ以外の場合は、単一 NIC インスタンスを作成するため、これらの手順をスキップします。
ナビゲーション メニューで、[ネットワーキング] をクリックします。表示された [ネットワーキング] ペインで、次の手順を完了します。
[ネットワーク インターフェース] セクションで、次の操作を行います。
デフォルトのネットワーク インターフェースを削除します。インターフェースを削除するには、[
削除] をクリックします。[ネットワーク インターフェースを追加] をクリックします。このオプションを使用して、前のセクションで作成した gVNIC ネットワークと RDMA ネットワークを追加します。ネットワークを追加する際は、次の点に注意してください。
- [ネットワーク] リストと [サブネットワーク] リストでホスト ネットワークを指定し、[ネットワーク インターフェース カード] リストで [gVNIC] を選択します。
- [ネットワーク] リストと [サブネットワーク] リストで GPU ネットワークを指定し、これらのネットワークの [ネットワーク インターフェース カード] リストで [MRDMA] を選択します。
ナビゲーション メニューで、[詳細設定] をクリックします。表示された [詳細設定] ペインで、次の手順を完了します。
[プロビジョニング モデル] セクションで、[VM プロビジョニング モデル] リストから [Spot] を選択します。
省略可: Compute Engine がインスタンスをプリエンプトしたときに実行するアクション(停止(デフォルト)または削除)を指定するには、次の操作を行います。
- [VM プロビジョニング モデルの詳細設定] セクションを開きます。
- [VM の終了時] リストで、オプションを選択します。
インスタンスを作成して起動するには、[作成] をクリックします。
INSTANCE_NAME
: インスタンスの名前。MACHINE_TYPE
: インスタンスに使用するマシンタイプ(a3-ultragpu-8g
またはa4-highgpu-8g
)。IMAGE_FAMILY
: 使用する OS イメージのイメージ ファミリー。オプションについては、オペレーティング システムの詳細をご覧ください。IMAGE_PROJECT
: OS イメージのプロジェクト ID。TERMINATION_ACTION
: 省略可。Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP
(デフォルト)またはDELETE
を指定します。ZONE
: インスタンスを作成するゾーン。オプションについては、GPU のリージョンとゾーンをご覧ください。DISK_SIZE
: ブートディスクのサイズ(GB)。PROJECT_ID
: インスタンスを作成するプロジェクトの ID。ZONE
: インスタンスを作成するゾーン。 オプションについては、GPU のリージョンとゾーンをご覧ください。MACHINE_TYPE
: インスタンスに使用するマシンタイプ(a3-ultragpu-8g
またはa4-highgpu-8g
)。INSTANCE_NAME
: インスタンスの名前。DISK_SIZE
: ブートディスクのサイズ(GB)。IMAGE_PROJECT
: OS イメージのプロジェクト ID。IMAGE_FAMILY
: 使用する OS イメージのイメージ ファミリー。オプションについては、オペレーティング システムの詳細をご覧ください。TERMINATION_ACTION
: 省略可。Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP
(デフォルト)またはDELETE
を指定します。- インスタンスが割り当てられた GPU を使用できるようにするには、インスタンスに GPU ドライバが必要です。必要な GPU ドライバがすでに含まれているイメージを指定した場合を除き、GPU ドライバをインストールします。
- Spot VM を準備して使用できるようにするには、次の操作を行います。
- Spot VM がプリエンプションを許容できるようにする方法については、Spot VM のプリエンプションを管理するをご覧ください。
- 省略可: Spot VM の使用に関するベスト プラクティスを確認します。
- GPU のパフォーマンスをモニタリングする。GPU パフォーマンスのモニタリングをご覧ください。
- GPU インスタンスのトラブルシューティングを行う。GPU VM のトラブルシューティングをご覧ください。
- GPU プラットフォームの詳細を確認する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
始める前に
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
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
インスタンスの作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールを付与するように管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、インスタンスの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
インスタンスを作成するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
A3 Ultra インスタンスまたは A4 インスタンスを作成する
A3 Ultra インスタンスまたは A4 インスタンスは、次の作成オプションで使用できます。作成手順、リソースの可用性、料金はそれぞれ異なります。ワークロードに基づいて、使用するオプションを特定します。
Spot VM を使用して A3 Ultra または A4 インスタンスを作成する
Spot VM を使用して A3 Ultra または A4 インスタンスを作成するには、以下のセクションの手順を完了します。
VPC ネットワークを作成する
使用するマシンタイプとマシンタイプのネットワーク インターフェースの数に基づいて、次のように Virtual Private Cloud(VPC)ネットワークを作成する必要があります。
マシンタイプ 物理 NIC の数* ネットワーク インターフェース† 作成する VPC ネットワークの数 a4-highgpu-8g
10 3 a3-ultragpu-8g
10 3 * NIC の配置の詳細については、ネットワーク帯域幅と NIC の配置を確認するをご覧ください。† ネットワーク インターフェースの詳細については、Google Virtual NIC の使用と RDMA ネットワーク プロファイルをご覧ください。手順ガイドに沿って、手動または自動(提供されたスクリプト)でネットワークを設定します。
手順ガイド
ネットワークを作成するには、次の操作を行います。
スクリプト
ネットワークを作成するには、次のスクリプトを使用します。
#!/bin/bash # Create standard VPCs (network and subnets) for the gVNICs for N in $(seq 0 1); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Assumes that an external IP is only created for vNIC 0 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE # List and make sure network profiles exist gcloud compute network-profiles list # Create network for CX-7 gcloud compute networks create RDMA_NAME_PREFIX-mrdma \ --network-profile=ZONE-vpc-roce \ --subnet-mode custom # Create subnets. for N in $(seq 0 7); do gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \ --network=RDMA_NAME_PREFIX-mrdma \ --region=REGION \ --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs done
次のように置き換えます。
Spot VM を作成する
次のいずれかの方法で Spot VM を作成します。
コンソール
gcloud
インスタンスを作成するには、
gcloud compute instances create
コマンドを使用します。gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --provisioning-model=SPOT \ --instance-termination-action=TERMINATION_ACTION \ --zone=ZONE \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZE \ --scopes=cloud-platform \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \ --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \ --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
次のように置き換えます。
REST
インスタンスを作成するには、次のように
instances.insert
メソッドにPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/ { { "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", "name":"INSTANCE_NAME", "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "networkInterfaces": [ { "accessConfigs": [ { "name": "external-nat", "type": "ONE_TO_ONE_NAT" } ], "network": "projects/PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0", "nicType": "GVNIC", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0" }, { "network": "projects/PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1", "nicType": "GVNIC", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7" } ], "scheduling":{ "provisioningModel":"SPOT", "instanceTerminationAction":"TERMINATION_ACTION" } } }
次のように置き換えます。
GPU が割り当てられた Spot VM を準備する
GPU が割り当てられた Spot VM を準備して使用できるようにするには、次の操作を行います。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-05-22 UTC。
-