このドキュメントでは、A2 Ultra または A2 Standard マシンタイプを含む A2 シリーズを使用する仮想マシン(VM)インスタンスを一括作成する方法について説明します。これらのアクセラレータ最適化マシンタイプの詳細については、A2 シリーズをご覧ください。
VM の一括作成の詳細については、Compute Engine ドキュメントの VM の一括作成についてをご覧ください。
VM またはクラスタを作成するその他の方法については、デプロイ オプションの概要をご覧ください。
制限事項
A2 Ultra VM または A2 Standard VM を一括で作成する場合、次の制限が適用されます。
A2 Ultra
- A2 Ultra マシンタイプを使用するインスタンスは、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A2 Ultra マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A2 Ultra マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
- インスタンスが A2 Ultra マシンタイプを使用している場合、マシンタイプを変更することはできません。別の A2 Ultra マシンタイプやその他のマシンタイプを使用するには、新しいインスタンスを作成する必要があります。
- 他のマシンタイプを A2 Ultra マシンタイプに変更することはできません。A2 Ultra マシンタイプを使用するインスタンスが必要な場合は、新しいインスタンスを作成する必要があります。
- A2 Ultra マシンタイプを使用する Windows インスタンスでは、アタッチされたローカル SSD のクイック フォーマットを行うことができません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、
format fs=ntfs label=tmpfsを指定して完全フォーマットを行う必要があります。
A2 標準
- A2 標準マシンタイプを使用するインスタンスは、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A2 標準マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A2 標準マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
- インスタンスが A2 標準マシンタイプを使用している場合は、一つの A2 標準マシンタイプから別の A2 標準マシンタイプにのみ切り替えることができます。他のマシンタイプには変更できません。詳細については、アクセラレータ最適化インスタンスを変更するをご覧ください。
a2-megagpu-16gマシンタイプでは Windows オペレーティング システムを使用できません。Windows オペレーティング システムを使用する場合は、別の A2 標準マシンタイプを選択します。- A2 標準マシンタイプを使用する Windows インスタンスでは、アタッチされたローカル SSD のクイック フォーマットを行うことができません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、
format fs=ntfs label=tmpfsを指定して完全フォーマットを行う必要があります。
始める前に
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
これらの権限は、カスタムロールや他の事前定義ロールを使用して取得することもできます。
概要
A2 マシンタイプを使用してインスタンスを一括作成する手順は次のとおりです。
省略可: コンパクト プレースメント ポリシーを作成する
コンパクト プレースメント ポリシーを作成して、VM の配置を指定できます。VM にコンパクト プレースメント ポリシーを適用すると、Compute Engine は可能な限り互いに近接した VM をベスト エフォートで作成しようとします。アプリケーションがレイテンシの影響を受けやすく、最大近接性が必要な場合は、コンパクト プレースメント ポリシーを作成するときに maxDistance フィールド(プレビュー)を指定します。maxDistance の値を小さくすると、VM が近接した位置に配置されますが、一部の VM が作成されない可能性も高くなります。
gcloud
コンパクト プレースメント ポリシーを作成するには、gcloud beta compute resource-policies create group-placement コマンドを使用します。
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。MAX_DISTANCE: VM 間の最大距離構成。指定することも(プレビュー、推奨)、指定しないこともできます(--max-distanceフラグを削除します)。最大距離の構成が、作成する予定のマシンシリーズと VM の数をサポートしていることを確認します。詳細については、Compute Engine のドキュメントのコンパクト プレースメント ポリシーについてをご覧ください。たとえば、最大距離が3の場合、VM は隣接するブロックに配置され、2の場合、VM は同じブロックに配置されます。REGION: コンパクト プレースメント ポリシーを作成するリージョン。インスタンスを作成するゾーンを含むリージョンを指定し、使用するマシンタイプがそのリージョンで使用可能であることを確認します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
REST
コンパクト プレースメント ポリシーを作成するには、ベータ版の resourcePolicies.insert メソッドに POST リクエストを送信します。リクエストの本文に、COLLOCATED に設定された collocation フィールドと、maxDistance フィールドを配置します。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": MAX_DISTANCE
}
}
次のように置き換えます。
PROJECT_ID: プロジェクト ID。POLICY_NAME: コンパクト プレースメント ポリシーの名前。MAX_DISTANCE: VM 間の最大距離構成。指定(プレビュー、推奨)または未指定(maxDistanceフィールドを削除)のいずれかになります。最大距離の構成が、作成する予定のマシンシリーズと VM の数をサポートしていることを確認します。詳細については、Compute Engine のドキュメントのコンパクト プレースメント ポリシーについてをご覧ください。たとえば、最大距離が3の場合、VM は隣接するブロックに配置され、2の場合、VM は同じブロックに配置されます。REGION: コンパクト プレースメント ポリシーを作成するリージョン。インスタンスを作成するゾーンを含むリージョンを指定し、使用するマシンタイプがそのリージョンで使用可能であることを確認します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
A2 VM を一括作成する
A2 VM を作成するには、次のいずれかの方法を使用します。
次のコマンドは、インスタンスのアクセス スコープも設定します。権限管理を簡素化するには、インスタンスのアクセス スコープをcloud-platform アクセスに設定し、IAM ロールを使用してインスタンスがアクセスできるサービスを定義することをおすすめします。詳細については、スコープのベスト プラクティスをご覧ください。gcloud
インスタンスを一括で作成するには、
gcloud compute instances bulk create コマンドを使用します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
A2 インスタンスは、次の予約タイプをサポートしています。
- オンデマンド予約
- 標準の将来の予約
これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--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
次の手順を行います。
-
次のように置き換えます。
NAME_PATTERN: A2 インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の A2 インスタンスが--countで指定された A2 インスタンスの数まで生成されます。COUNT: 作成する A2 インスタンスの数。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: 使用するマシンタイプが使用可能なリージョンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の 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
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
オンデマンド
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY
次の手順を行います。
-
次のように置き換えます。
NAME_PATTERN: A2 インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の A2 インスタンスが--countで指定された A2 インスタンスの数まで生成されます。COUNT: 作成する A2 インスタンスの数。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: 使用するマシンタイプが使用可能なリージョンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。any(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。none(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。
--no-restart-on-failure
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
スポット
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--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
次の手順を行います。
-
次のように置き換えます。
NAME_PATTERN: A2 インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の A2 インスタンスが--countで指定された A2 インスタンスの数まで生成されます。COUNT: 作成する A2 インスタンスの数。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: 使用するマシンタイプが使用可能なリージョンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
REST
インスタンスを一括で作成するには、
instances.bulkInsert メソッドに POST リクエストを送信します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
A2 インスタンスは、次の予約タイプをサポートしています。
- オンデマンド予約
- 標準の将来の予約
これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。
リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern": "NAME_PATTERN",
"count": "COUNT",
"instanceProperties": {
"machineType": "MACHINE_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: A2 インスタンスを作成するプロジェクトの ID。ZONE: 使用するマシンタイプが使用可能なゾーンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョン内のゾーンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。NAME_PATTERN: A2 インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の A2 インスタンスが--countで指定された A2 インスタンスの数まで生成されます。COUNT: 作成する A2 インスタンスの数。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの 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: 予約の名前。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル 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/bulkInsert
{
"namePattern": "NAME_PATTERN",
"count": "COUNT",
"instanceProperties": {
"machineType": "MACHINE_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: A2 インスタンスを作成するプロジェクトの ID。ZONE: 使用するマシンタイプが使用可能なゾーンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョン内のゾーンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。NAME_PATTERN: A2 インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の A2 インスタンスが--countで指定された A2 インスタンスの数まで生成されます。COUNT: 作成する A2 インスタンスの数。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの 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(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル 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/bulkInsert
{
"namePattern": "NAME_PATTERN",
"count": "COUNT",
"instanceProperties": {
"machineType": "MACHINE_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: A2 インスタンスを作成するプロジェクトの ID。ZONE: 使用するマシンタイプが使用可能なゾーンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョン内のゾーンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。NAME_PATTERN: A2 インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の A2 インスタンスが--countで指定された A2 インスタンスの数まで生成されます。COUNT: 作成する A2 インスタンスの数。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの 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のいずれかです。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル 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 を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
VM を一括作成する場合の構成オプションの詳細については、Compute Engine ドキュメントの VM を一括作成するをご覧ください。
GPU ドライバをインストールする
インスタンスを作成した後、適切な GPU ドライバがすでにインストールされていない限り、インスタンスで GPU を使用することはできません。GPU ドライバを含む OS イメージを指定していない場合は、Compute Engine ドキュメントの GPU ドライバをインストールするをご覧ください。