一括作成プロセスを使用して、画像処理装置(GPU)がアタッチされている仮想マシン(VM)のグループを作成できます。一括作成プロセスでは、リクエストが不可能な場合に失敗する検証を事前で行います。また、リージョン フラグを使用する場合、一括作成 API は、リクエストに対応できる容量のあるゾーンを自動的に選択します。一括作成の詳細については、VM の一括作成についてをご覧ください。
始める前に
- OS イメージの選択や GPU 割り当ての確認など、その他の前提条件を確認するには、概要のドキュメントをご覧ください。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- 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
- A3 アクセラレータ最適化マシンタイプには、NVIDIA H100 80 GB GPU がアタッチされます。次のオプションが用意されています。
- A3 Standard(
a3-highgpu-8g
): このマシンタイプには H100 80 GB GPU が割り当てられています。 - A3 Mega(
a3-megagpu-8g
): このマシンタイプには、H100 80 GB Mega GPU が割り当てられています。
- A3 Standard(
- A2 アクセラレータ最適化マシンタイプには、NVIDIA A100 GPU がアタッチされます。次のオプションが用意されています。
- A2 Standard(
a2-highgpu-*
、a2-megagpu-*
): これらのマシンタイプには A100 40 GB GPU がアタッチされています。 - A2 Ultra(
a2-ultragpu-*
): これらのマシンタイプには A100 80 GB GPU がアタッチされています。
- A2 Standard(
- G2 アクセラレータ最適化マシンタイプ(
g2-standard-*
)には、NVIDIA L4 GPU がアタッチされます。 VM をプリエンプティブル VM インスタンスとして構成する
--preemptible
フラグ。これにより、VM とそれに接続される GPU のコストが削減されます。詳細については、プリエンプティブル インスタンスの GPU をご覧ください。仮想ワークステーションを指定する
--accelerator
フラグ。NVIDIA RTX 仮想ワークステーション(vWS)は、G2 VM でのみサポートされています。- VM 名:
my-test-vm-1
、my-test-vm-2
- 各 VM には 2 つの GPU が接続され、適切なアクセラレータ最適化マシンタイプを使用して指定されます。
REGION
: VM のリージョン。このリージョンは、選択した GPU モデルをサポートしている必要があります。MACHINE_TYPE
: 選択したマシンタイプ。次のいずれかを選択します。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 名:
my-test-vm-1
、my-test-vm-2
各 VM には 2 つの GPU が接続され、適切なアクセラレータ最適化マシンタイプを使用して指定されます。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "namePattern":"my-test-vm-#", "count":"2", "instanceProperties": { "machineType":MACHINE_TYPE, "disks":[ { "type":"PERSISTENT", "initializeParams":{ "diskSizeGb":"200", "sourceImage":SOURCE_IMAGE_URI }, "boot":true } ], "name": "default", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/default" } ], "scheduling":{ "onHostMaintenance":"TERMINATE", "automaticRestart":true } } }
PROJECT_ID
: プロジェクト IDREGION
: VM のリージョン。このリージョンは、選択した GPU モデルをサポートしている必要があります。MACHINE_TYPE
: 選択したマシンタイプ。次のいずれかを選択します。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"
。
イメージ ファミリーを指定すると、Compute Engine はそのファミリー内のサポート対象の最新の OS イメージから VM を作成します。イメージ ファミリーを使用するタイミングについて詳しくは、イメージ ファミリーのベスト プラクティスをご覧ください。
- 特定のイメージ:
プリエンプティブル VM を使用すると、VM とそれに接続される GPU のコストを削減できます。詳細については、プリエンプティブル VM インスタンスの GPU をご覧ください。VM をプリエンプティブルとして設定するには、リクエストに
"preemptible": true
オプションを追加します。"scheduling": { "onHostMaintenance": "terminate", "automaticRestart": true, "preemptible": true }
G2 VM の場合、NVIDIA RTX 仮想ワークステーション(vWS)がサポートされています。仮想ワークステーションを指定するには、リクエストに
guestAccelerators
オプションを追加します。VWS_ACCELERATOR_COUNT
は、必要な仮想 GPU の数に置き換えます。"guestAccelerators": [ { "acceleratorCount": VWS_ACCELERATOR_COUNT, "acceleratorType": "projects/PROJECT_ID/zones/ZONEacceleratorTypes/nvidia-l4-vws" } ]
- A3 マシンタイプを使用する VM は、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A3 マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A3 マシンタイプを使用する VM では、リージョン Persistent Disk を使用できません。
- A3 マシンタイプは、Sapphire Rapids プラットフォームでのみ使用できます。
- VM が A3 マシンタイプを使用している場合、マシンタイプを変更することはできません。マシンタイプを変更するには、新しい VM を作成する必要があります。
- VM のマシンタイプを A3 マシンタイプに変更することはできません。A3 マシンタイプを使用する VM が必要な場合は、新しい VM を作成する必要があります。
- A3 マシンタイプは、単一テナンシーをサポートしません。
- A3 マシンタイプでは Windows オペレーティング システムを実行できません。
- A3 マシンタイプの予約は、特定の予約からのみ可能です。 .
- A2 標準マシンタイプを使用する VM は、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A2 標準マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A2 標準マシンタイプを使用する VM では、リージョン Persistent Disk を使用できません。
- A2 標準マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
- VM が A2 標準マシンタイプを使用している場合は、ある A2 標準マシンタイプから別の A2 標準マシンタイプにのみ切り替えることができます。他のマシンタイプには変更できません。詳細については、アクセラレータ最適化 VM を変更するをご覧ください。
- <codea2-megagpu-16g< code="" dir="ltr" translate="no">A2 標準マシンタイプでは Windows オペレーティング システムを使用できません。Windows オペレーティング システムを使用する場合は、別の A2 標準マシンタイプを選択する必要があります。</codea2-megagpu-16g<>
- A2 標準マシンタイプを使用する Windows VM では、アタッチされたローカル SSD のクイック フォーマットを行うことができません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、
format fs=ntfs label=tmpfs
を指定して完全フォーマットを行う必要があります。 - A2 標準マシンタイプは、単一テナンシーをサポートしません。
- A2 Ultra マシンタイプを使用する VM は、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A2 Ultra マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A2 Ultra マシンタイプを使用する VM では、リージョン Persistent Disk を使用できません。
- A2 Ultra マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
- VM が A2 Ultra マシンタイプを使用している場合、マシンタイプを変更することはできません。別の A2 Ultra マシンタイプやその他のマシンタイプを使用するには、新しい VM を作成する必要があります。
- 他のマシンタイプを A2 Ultra マシンタイプに変更することはできません。A2 Ultra マシンタイプを使用する VM が必要な場合は、新しい VM を作成する必要があります。
- A2 Ultra マシンタイプを使用する Windows VM では、アタッチされたローカル SSD のクイック フォーマットを行うことができません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、
format fs=ntfs label=tmpfs
を指定して完全フォーマットを行う必要があります。 - G2 マシンタイプを使用する VM は、継続利用割引とフレキシブル確約利用割引の対象外となります。
- G2 マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- G2 マシンタイプを使用する VM では、リージョン Persistent Disk を使用できません。
- G2 マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
- 標準 Persistent Disk(
pd-standard
)は、G2 標準マシンタイプを使用する VM ではサポートされません。サポートされているディスクタイプについては、G2 でサポートされているディスクタイプをご覧ください。 - G2 マシンタイプでマルチインスタンス GPU を作成することはできません。
- G2 VM のマシンタイプを変更する必要がある場合は、アクセラレータ最適化 VM を変更するをご覧ください。
- G2 マシンタイプを使用する VM のブートディスクに Deep Learning VM Image を使用することはできません。
- Container-Optimized OS の現在のデフォルト ドライバは、G2 マシンタイプで実行される L4 GPU をサポートしていません。Container-Optimized OS は、特定のドライバセットのみをサポートしています。G2 マシンタイプで Container-Optimized OS を使用する場合は、次の点に注意してください。
- 推奨される最小の NVIDIA ドライバ バージョン
525.60.13
以降をサポートする Container-Optimized OS のバージョンを使用します。詳細については、Container-Optimized OS のリリースノートをご覧ください。 - ドライバをインストールするときに、L4 GPU で動作する最新のバージョンを指定します。例:
sudo cos-extensions install gpu -- -version=525.60.13
。
- 推奨される最小の NVIDIA ドライバ バージョン
- 次のシナリオでは、Google Cloud CLI または REST を使用して G2 VM を作成する必要があります。
- カスタムメモリ値を指定する必要があります。
- 表示可能な CPU コアの数をカスタマイズする必要があります。
- NVIDIA T4:
nvidia-tesla-t4
- NVIDIA P4:
nvidia-tesla-p4
- NVIDIA P100:
nvidia-tesla-p100
- NVIDIA V100:
nvidia-tesla-v100
- NVIDIA T4 仮想ワークステーション:
nvidia-tesla-t4-vws
- NVIDIA P4 仮想ワークステーション:
nvidia-tesla-p4-vws
NVIDIA P100 仮想ワークステーション:
nvidia-tesla-p100-vws
これらの仮想ワークステーションの場合、NVIDIA RTX 仮想ワークステーション(vWS)ライセンスが VM に自動的に追加されます。
- VM 名:
my-test-vm-1
、my-test-vm-2
- GPU をサポートする
us-central1
の任意のゾーンに作成された VM - 各 VM に 2 つの T4 GPU が接続されています。この GPU は、アクセラレータ タイプとアクセラレータ数のフラグを使用して指定します。
- 各 VM に GPU ドライバがインストールされている
- 各 VM が Deep Learning VM イメージ
pytorch-latest-gpu-v20211028-debian-10
を使用する - VM 名:
my-test-vm-1
、my-test-vm-2
- GPU をサポートする
us-central1
の任意のゾーンに作成された VM - 各 VM に 2 つの T4 GPU が接続されています。この GPU は、アクセラレータ タイプとアクセラレータ数のフラグを使用して指定します。
- 各 VM に GPU ドライバがインストールされている
- 各 VM が Deep Learning VM イメージ
pytorch-latest-gpu-v20211028-debian-10
を使用する 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 を使用して認証するをご覧ください。
必要なロール
VM の作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼します。ロールの付与の詳細については、アクセス権の管理をご覧ください。この事前定義ロールには、VM の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
VM を作成するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
概要
一括作成メソッドを使用して GPU が接続された VM を作成する場合は、リージョン(
us-central1
など)または特定のゾーン(us-central1-a
など)に VM を作成できます。リージョンを指定すると、Compute Engine は GPU をサポートするリージョン内の任意のゾーンに VM を配置します。
アクセラレータ最適化 VM のグループを作成する
アクセラレータ最適化マシン ファミリーは、A3 High、A3 Mega、A2 Standard、A2 Ultra、G2 の各マシンタイプで使用できます。
各アクセラレータ最適化マシンタイプには、特定モデルの NVIDIA GPU が割り当てられています。
アクセラレータ最適化 VM のグループを作成するには、Google Cloud CLI または REST を使用します。
gcloud
VM のグループを作成するには、
gcloud compute instances bulk create
コマンドを使用します。パラメータとこのコマンドの使用方法については、VM の一括作成をご覧ください。コマンドの例では、以下のオプションのフラグが示されています。
例
この例では、次の仕様を使用して、GPU が接続された 2 つの VM を作成します。
gcloud compute instances bulk create \ --name-pattern="my-test-vm-#" \ --region=REGION \ --count=2 \ --machine-type=MACHINE_TYPE \ --boot-disk-size=200 \ --image=IMAGE \ --image-project=IMAGE_PROJECT \ --on-host-maintenance=TERMINATE --restart-on-failure \ [--preemptible] \ [--accelerator=type=nvidia-l4-vws,count=VWS_ACCELERATOR_COUNT]
次のように置き換えます。
成功すると、出力は次のようになります。
NAME ZONE my-test-vm-1 us-central1-b my-test-vm-2 us-central1-b Bulk create request finished with status message: [VM instances created: 2, failed: 0.]
REST
必須パラメータによる
instances.bulkInsert
メソッドを使用して、1 つのゾーンに複数の VM を作成します。パラメータとこのコマンドの使用方法については、VM の一括作成をご覧ください。例
この例では、次の仕様を使用して、GPU が接続された 2 つの VM を作成します。
次のように置き換えます。
追加の設定:
制限事項
A3 VM
A3 High マシンタイプと A3 Mega マシンタイプを使用する VM には、次の制限が適用されます。
A2 標準 VM
A2 Ultra VM
G2 VM
N1 汎用 VM のグループを作成する
GPU が接続された VM のグループを作成するには、Google Cloud CLI または ERST を使用します。
このセクションでは、次の GPU タイプを使用して VM を作成する方法について説明します。
NVIDIA GPU:
NVIDIA RTX 仮想ワークステーション(vWS)(旧称 NVIDIA GRID):
gcloud
VM のグループを作成するには、
gcloud compute instances bulk create
コマンドを使用します。パラメータとこのコマンドの使用方法については、VM の一括作成をご覧ください。例
次の例では、以下の仕様を使用して、GPU が接続された 2 つの VM を作成します。
gcloud compute instances bulk create \ --name-pattern="my-test-vm-#" \ --count=2 \ --region=us-central1 \ --machine-type=n1-standard-2 \ --accelerator type=nvidia-tesla-t4,count=2 \ --boot-disk-size=200 \ --metadata="install-nvidia-driver=True" \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --image=pytorch-latest-gpu-v20211028-debian-10 \ --image-project=deeplearning-platform-release \ --on-host-maintenance=TERMINATE --restart-on-failure
成功すると、出力は次のようになります。
NAME ZONE my-test-vm-1 us-central1-b my-test-vm-2 us-central1-b Bulk create request finished with status message: [VM instances created: 2, failed: 0.]
REST
必須パラメータによる
instances.bulkInsert
メソッドを使用して、1 つのゾーンに複数の VM を作成します。パラメータとこのコマンドの使用方法については、VM の一括作成をご覧ください。例
次の例では、以下の仕様を使用して、GPU が接続された 2 つの VM を作成します。
PROJECT_ID
は、実際のプロジェクト ID に置き換えます。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/region/us-central1/instances/bulkInsert { "namePattern":"my-test-vm-#", "count":"2", "instanceProperties": { "machineType":"n1-standard-2", "disks":[ { "type":"PERSISTENT", "initializeParams":{ "diskSizeGb":"200", "sourceImage":"projects/deeplearning-platform-release/global/images/pytorch-latest-gpu-v20211028-debian-10" }, "boot":true } ], "name": "default", "networkInterfaces": [ { "network": "projects/PROJECT_ID/global/networks/default" } ], "guestAccelerators": [ { "acceleratorCount": 2, "acceleratorType": "nvidia-tesla-t4" } ], "scheduling":{ "onHostMaintenance":"TERMINATE", "automaticRestart":true }, "metadata":{ "items":[ { "key":"install-nvidia-driver", "value":"True" } ] } } }
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-11-19 UTC。
-