このドキュメントでは、GPU が接続された N1 シリーズを使用するスタンドアロン仮想マシン(VM)インスタンスを作成する手順について説明します。これらのマシンタイプの詳細については、N1 シリーズをご覧ください。
VM またはクラスタを作成するその他の方法については、デプロイ オプションの概要をご覧ください。
制限事項
GPU を使用する N1 マシンタイプに適用される制限事項については、次のすべてをご覧ください。
始める前に
VM を作成する前に、次の手順を完了します(まだ完了していない場合)。
- 使用オプションを選択する: 選択した使用オプションによって、GPU リソースの取得方法と使用方法が決まります。詳細については、使用オプションを選択するをご覧ください。
- 容量を取得する: 容量を取得するプロセスは、使用オプションごとに異なります。選択した使用オプションの容量を取得するプロセスについては、容量の概要をご覧ください。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
Google Cloud CLI をインストールし、 フェデレーション ID を使用して gcloud CLI にログインします。ログイン後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud initREST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールし、 フェデレーション 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
これらの権限は、カスタムロールや他の事前定義ロールを使用して取得することもできます。
概要
T4 または V100 GPU を搭載した N1 マシンタイプを使用してインスタンスを作成する手順は次のとおりです。
GPU を使用する N1 VM を作成する
GPU を使用する N1 VM を作成するには、次のいずれかの方法を使用します。
次のコマンドは、インスタンスのアクセス スコープも設定します。権限管理を簡素化するには、インスタンスのアクセス スコープをcloud-platform アクセスに設定し、IAM ロールを使用してインスタンスがアクセスできるサービスを定義することをおすすめします。詳細については、スコープのベスト プラクティスをご覧ください。コンソール
Google Cloud コンソールで [インスタンスの作成] ページに移動します。
VM の名前を指定します。リソースの命名規則をご覧ください。
[リージョン] と [ゾーン] で、VM を作成するリージョンとゾーンをそれぞれ選択します。利用可能な GPU のリージョンとゾーンのリストをご覧ください。
[GPU] タブをクリックして、次の操作を行います。
- [GPU のタイプ] リストで、GPU のタイプを選択します。
- N1+T4 マシンタイプの場合は、
NVIDIA T4を選択します。 - N1+V100 マシンタイプの場合は、
NVIDIA V100を選択します。
- N1+T4 マシンタイプの場合は、
- [マシンタイプ] リストで、N1 マシンタイプを選択します。
- [GPU の数] リストで、GPU の数を選択します。使用可能なオプションは、選択した N1 マシンタイプによって異なります。
- [GPU のタイプ] リストで、GPU のタイプを選択します。
使用する消費オプションに基づいて、次のいずれかのオプションを選択し、次の手順を完了します。
予約
T4 または V100 GPU を搭載した N1 インスタンスは、次の予約タイプをサポートしています。
- オンデマンド予約
- 標準の将来の予約
これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。
- [プロビジョニング モデル] セクションの [VM プロビジョニング モデル] リストで、[標準] を選択します。(このオプションはデフォルトで選択されています)。
この VM が使用する予約を構成するには、次の操作を行います。
- ナビゲーション メニューで、[詳細設定] をクリックします。
[予約] で、次のいずれかのオプションを選択します。
予約容量を必要に応じて使用するには、[自動選択を使用する] を選択します。(このオプションはデフォルトで選択されています)。
インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。
予約容量が必要な場合は、[予約を選択] を選択し、[予約を選択] をクリックして、使用する予約を指定します。
インスタンスは、明示的にターゲット設定された予約の容量を使用する必要があり、オンデマンド容量を使用することはできません。予約容量が使用できない場合、インスタンスの作成は失敗します。
オンデマンド
- [プロビジョニング モデル] セクションの [VM プロビジョニング モデル] リストで、[標準] を選択します。(このオプションはデフォルトで選択されています)。
省略可: この VM で予約を使用するかどうかを構成するには、次の操作を行います。
- ナビゲーション メニューで、[詳細設定] をクリックします。
[予約] で、次のいずれかのオプションを選択します。
予約容量を必要に応じて使用するには、[自動選択を使用する] を選択します。(このオプションはデフォルトで選択されています)。
インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。
オンデマンド容量が必要な場合は、[予約を使用しない] を選択します。
インスタンスは予約容量を使用できません。
Flex Start
- [プロビジョニング モデル] セクションの [VM プロビジョニング モデル] リストで、[Flex Start] を選択します。
[時間数を入力] フィールドに、VM を実行する最大時間を入力します。値は 46 秒(
0.01)から 7 日間(168、168 時間)の範囲で指定する必要があります。[VM 作成の待機時間を設定する] を選択します。
VM 作成リクエストが成功する可能性を高めるため、ワークロードのゾーン要件に基づいて次のいずれかの期間を指定します。
- 厳しいゾーン要件があるワークロード: ワークロードで特定のゾーンに VM を作成する必要がある場合は、90 秒から 2 時間の間の期間を指定します。期間が長いほど、リソースを取得できる可能性が高くなります。
- 厳密なゾーン要件のないワークロード: VM がリージョン内の任意のゾーンで実行できる場合は、期間を 0 秒に指定するか、[VM の作成の待機時間を設定する] チェックボックスをオフにします。このアクションは、リソースがすぐに使用可能な場合にのみ Compute Engine がリソースを割り当てることを指定します。リソースが使用できないため VM の作成リクエストが失敗した場合は、別のゾーンでリクエストを再試行します。
[VM の終了時] フィールドで、実行期間の終了時に VM を停止するか削除するかを選択します。
- VM を削除するには、[削除] を選択します。
- VM を停止するには、[停止] を選択します。
スポット
- [プロビジョニング モデル] セクションで、[VM プロビジョニング モデル] リストから [Spot] を選択します。
省略可: Compute Engine が VM をプリエンプトしたときに実行される終了アクションを選択するには、次の手順を完了します。
- [VM プロビジョニング モデルの詳細設定] セクションを開きます。
- [VM の終了時] リストで、次のいずれかのオプションを選択します。
- プリエンプション中に VM を停止するには、[停止] を選択します(デフォルト)。
- プリエンプション中に VM を削除するには [削除] をクリックします。
ナビゲーション メニューで [OS とストレージ] をクリックし、次の手順を完了します。
- [変更] をクリックします。[ブートディスクの構成] ペインが開きます。
[公開イメージ] タブで、推奨イメージを選択します。推奨イメージの一覧については、オペレーティング システムをご覧ください。
省略可: ブートディスクのサイズを構成するには、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。
ブートディスクのオプションを確認するには、[選択] をクリックします。
省略可: ローカル SSD ディスクを追加する場合は、次の手順を完了します。
- [ ローカル SSD を追加] をクリックします。[ローカル SSD の構成] ペインが開きます。
- [ローカル SSD の構成] ペインで、ローカル SSD ディスクのオプションを構成します。詳細については、Compute Engine ドキュメントのコンピューティング インスタンスにローカル SSD ディスクを追加するをご覧ください。
- ブートディスクのオプションを確認するには、[保存] をクリックします。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
サービス アカウントとアクセス スコープを次のように構成します。インスタンスで実行されているワークロードは、アタッチされたサービス アカウントを使用して、他の Google Cloud サービスへのリクエストを承認します。
- ナビゲーション メニューで [セキュリティ] をクリックします。
- [サービス アカウント] リストで、使用するサービス アカウントを選択します。
- [アクセス スコープ] で、[すべての Cloud API に完全アクセス権を許可] オプションを選択します。このベスト プラクティスでは、サービス アカウントに IAM ロールを追加または削除することでアクセスを管理できます。詳細については、サービス アカウントをインスタンスに関連付けるをご覧ください。
VM を作成して起動するには、[作成] をクリックします。
gcloud
VM を作成するには、gcloud compute instances create コマンドを使用します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
T4 または V100 GPU を搭載した N1 インスタンスは、次の予約タイプをサポートしています。
- オンデマンド予約
- 標準の将来の予約
これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY \
--reservation=RESERVATION
次の手順を行います。
-
次のように置き換えます。
INSTANCE_NAME: VM の名前。MACHINE_TYPE: VM に使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 GPU を使用することをおすすめします。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。ZONE: 使用するマシンタイプが利用可能なゾーン。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。any(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。specific(予約容量が必要): 明示的に対象となっている予約の容量をインスタンスで使用するように要求します。インスタンスにオンデマンド容量の使用が許可されていない。予約容量が使用できない場合、インスタンスの作成は失敗します。
RESERVATION: 使用する予約。RESERVATION_AFFINITYに指定した値に基づいて、次のいずれかを指定します。anyを指定した場合は、RESERVATIONを空の文字列("")に置き換えます。または、--reservationフラグを完全に削除することもできます。specificを指定した場合は、RESERVATIONを次のように置き換えます。projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
次のように置き換えます。
RESERVATION_OWNER_PROJECT_ID: 予約が作成されたプロジェクトのプロジェクト ID。RESERVATION_NAME: 予約の名前。
デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。
--no-restart-on-failure
-
省略可: ローカル SSD ディスクをアタッチするには、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
オンデマンド
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY
次の手順を行います。
-
次のように置き換えます。
INSTANCE_NAME: VM の名前。MACHINE_TYPE: VM に使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 GPU を使用することをおすすめします。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。ZONE: 使用するマシンタイプが利用可能なゾーン。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。any(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。none(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。
--no-restart-on-failure
-
省略可: ローカル SSD ディスクをアタッチするには、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
Flex Start
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--reservation-affinity=none \
--provisioning-model=FLEX_START \
--request-valid-for-duration=REQUEST_VALID_FOR_DURATION \
--max-run-duration=MAX_RUN_DURATION \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE
次の手順を行います。
-
次のように置き換えます。
INSTANCE_NAME: VM の名前。MACHINE_TYPE: VM に使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 GPU を使用することをおすすめします。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。ZONE: 使用するマシンタイプが利用可能なゾーン。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。REQUEST_VALID_FOR_DURATION: VM の作成リクエストの有効期間。値は、日数、時間、分、秒として指定し、その後にそれぞれd、h、m、sを続ける必要があります。たとえば、30 分の場合は30mと指定し、1 時間 2 分 3 秒の場合は1h2m3sと指定します。VM 作成リクエストが成功する可能性を高めるため、ワークロードのゾーン要件に基づいて次のいずれかの期間を指定します。
- 厳しいゾーン要件があるワークロード: ワークロードで特定のゾーンに VM を作成する必要がある場合は、90 秒(
90s)から 2 時間(2h)の期間を指定します。期間が長いほど、リソースを取得できる可能性が高くなります。 - 厳密なゾーン要件のないワークロード: VM がリージョン内の任意のゾーンで実行できる場合は、期間を 0 秒(
0s)に指定します。このアクションは、リソースがすぐに使用可能な場合にのみ Compute Engine がリソースを割り当てることを指定します。リソースが使用できないため VM の作成リクエストが失敗した場合は、別のゾーンでリクエストを再試行します。
- 厳しいゾーン要件があるワークロード: ワークロードで特定のゾーンに VM を作成する必要がある場合は、90 秒(
MAX_RUN_DURATION: リクエストされた VM を実行する期間。値は、日数、時間、分、秒として指定し、その後にそれぞれd、h、m、sを続ける必要があります。値は 10 分~7 日の範囲で指定してください。TERMINATION_ACTION: 実行期間の終了時に Compute Engine によって VM を停止(STOP)するか削除(DELETE)するか。
-
省略可: ローカル SSD ディスクをアタッチするには、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
スポット
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--zone=ZONE \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
次の手順を行います。
-
次のように置き換えます。
INSTANCE_NAME: VM の名前。MACHINE_TYPE: VM に使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 GPU を使用することをおすすめします。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。ZONE: 使用するマシンタイプが利用可能なゾーン。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: ローカル SSD ディスクをアタッチするには、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
REST
VM を作成するには、instances.insert メソッドに POST リクエストを送信します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
T4 または V100 GPU を搭載した N1 インスタンスは、次の予約タイプをサポートしています。
- オンデマンド予約
- 標準の将来の予約
これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。
リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"name": "INSTANCE_NAME",
"guestAccelerators":
[
{
"acceleratorCount": ACCELERATOR_COUNT,
"acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
}
],
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
}
}
次の手順を行います。
-
次のように置き換えます。
PROJECT_ID: VM を作成するプロジェクトのプロジェクト ID。ZONE: 使用するマシンタイプが利用可能なゾーン。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。MACHINE_TYPE: VM に使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。INSTANCE_NAME: VM の名前。ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 GPU を使用することをおすすめします。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。AUTOMATIC_RESTART: インスタンスがクラッシュした場合、またはメンテナンス イベントなどのプログラムによる停止のために Compute Engine がインスタンスを停止した場合に、インスタンスが自動的に再起動するかどうか。自動再起動を有効にする場合はtrue(デフォルト)、無効にする場合はfalseを指定します。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。ANY_RESERVATION(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。SPECIFIC_RESERVATION(予約容量が必要): 明示的に対象となっている予約の容量をインスタンスで使用するように要求します。インスタンスにオンデマンド容量の使用が許可されていない。予約容量が使用できない場合、インスタンスの作成は失敗します。
RESERVATION: 使用する予約。RESERVATION_AFFINITYに指定した値に基づいて、次のいずれかを指定します。ANY_RESERVATIONを指定した場合は、RESERVATIONを削除して、値が空の文字列("")になるようにします。または、keyフィールドとvaluesフィールドを完全に削除することもできます。SPECIFIC_RESERVATIONを指定した場合は、RESERVATIONを次のように置き換えます。projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
次のように置き換えます。
RESERVATION_OWNER_PROJECT_ID: 予約が作成されたプロジェクトのプロジェクト ID。RESERVATION_NAME: 予約の名前。
-
省略可: ローカル SSD ディスクを使用するには、各ローカル SSD ディスクの
disks[]フィールドに次のフィールドを追加します。各disks[]サブフィールド(ブートディスクを含む)をカンマで区切ります。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }次のように置き換えます。
ZONE: 指定したゾーン。INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
オンデマンド
リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"name": "INSTANCE_NAME",
"guestAccelerators":
[
{
"acceleratorCount": ACCELERATOR_COUNT,
"acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
}
],
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY"
}
}
次の手順を行います。
-
次のように置き換えます。
PROJECT_ID: VM を作成するプロジェクトのプロジェクト ID。ZONE: 使用するマシンタイプが利用可能なゾーン。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。MACHINE_TYPE: VM に使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。INSTANCE_NAME: VM の名前。ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 GPU を使用することをおすすめします。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。AUTOMATIC_RESTART: インスタンスがクラッシュした場合、またはメンテナンス イベントなどのプログラムによる停止のために Compute Engine がインスタンスを停止した場合に、インスタンスが自動的に再起動するかどうか。自動再起動を有効にする場合はtrue(デフォルト)、無効にする場合はfalseを指定します。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。ANY_RESERVATION(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。NO_RESERVATION(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
-
省略可: ローカル SSD ディスクを使用するには、各ローカル SSD ディスクの
disks[]フィールドに次のフィールドを追加します。各disks[]サブフィールド(ブートディスクを含む)をカンマで区切ります。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }次のように置き換えます。
ZONE: 指定したゾーン。INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
Flex Start
リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"name": "INSTANCE_NAME",
"guestAccelerators":
[
{
"acceleratorCount": ACCELERATOR_COUNT,
"acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
}
],
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION",
},
"scheduling": {
"provisioningModel": "FLEX_START",
"requestValidForDuration": {
"seconds": REQUEST_VALID_FOR_DURATION
},
"maxRunDuration": {
"seconds": MAX_RUN_DURATION
},
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
}
}
次の手順を行います。
-
次のように置き換えます。
PROJECT_ID: VM を作成するプロジェクトのプロジェクト ID。ZONE: 使用するマシンタイプが利用可能なゾーン。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。MACHINE_TYPE: VM に使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。INSTANCE_NAME: VM の名前。ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 GPU を使用することをおすすめします。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。REQUEST_VALID_FOR_DURATION: VM の作成リクエストの有効期間(秒単位)。VM 作成リクエストが成功する可能性を高めるため、ワークロードのゾーン要件に基づいて次のいずれかの期間を指定します。
- 厳しいゾーン要件があるワークロード: ワークロードで特定のゾーンに VM を作成する必要がある場合は、90 秒(
90)から 2 時間(7200)の期間を指定します。期間が長いほど、リソースを取得できる可能性が高くなります。 - 厳密なゾーン要件のないワークロード: VM がリージョン内の任意のゾーンで実行できる場合は、期間を 0 秒(
0)に指定します。このアクションは、リソースがすぐに使用可能な場合にのみ Compute Engine がリソースを割り当てることを指定します。リソースが使用できないため VM の作成リクエストが失敗した場合は、別のゾーンでリクエストを再試行します。
- 厳しいゾーン要件があるワークロード: ワークロードで特定のゾーンに VM を作成する必要がある場合は、90 秒(
MAX_RUN_DURATION: リクエストされた VM を実行する期間。値は秒数としてフォーマットする必要があります。たとえば、86,400 秒(24 時間)の場合は86400を指定します。値は 10 分~7 日の範囲で指定してください。TERMINATION_ACTION: 実行期間の終了時に Compute Engine によって VM を停止(STOP)するか削除(DELETE)するか。
-
省略可: ローカル SSD ディスクを使用するには、各ローカル SSD ディスクの
disks[]フィールドに次のフィールドを追加します。各disks[]サブフィールド(ブートディスクを含む)をカンマで区切ります。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }次のように置き換えます。
ZONE: 指定したゾーン。INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
スポット
リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"machineType": "projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
"name": "INSTANCE_NAME",
"guestAccelerators":
[
{
"acceleratorCount": ACCELERATOR_COUNT,
"acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_TYPE"
}
],
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
次の手順を行います。
-
次のように置き換えます。
PROJECT_ID: VM を作成するプロジェクトのプロジェクト ID。ZONE: 使用するマシンタイプが利用可能なゾーン。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。MACHINE_TYPE: VM に使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。INSTANCE_NAME: VM の名前。ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 GPU を使用することをおすすめします。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: ローカル SSD ディスクを使用するには、各ローカル SSD ディスクの
disks[]フィールドに次のフィールドを追加します。各disks[]サブフィールド(ブートディスクを含む)をカンマで区切ります。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }次のように置き換えます。
ZONE: 指定したゾーン。INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
GPU ドライバをインストールする
インスタンスを作成した後、適切な GPU ドライバがすでにインストールされていない限り、インスタンスで GPU を使用することはできません。インストールする必要があるドライバは、インスタンスで NVIDIA RTX 仮想ワークステーション(vWS)が有効になっているかどうかによって異なります。次のいずれかのオプションを使用します。
- vWS を有効にした場合は、Compute Engine ドキュメントの NVIDIA RTX 仮想ワークステーション(vWS)のドライバをインストールするをご覧ください。
それ以外の場合は、次のようにデフォルトの GPU ドライバを使用します。
- GPU ドライバを含む OS イメージを指定した場合は、対応は不要です。
- OS イメージに GPU ドライバが含まれていない場合は、Compute Engine のドキュメントの GPU ドライバをインストールするをご覧ください。