このドキュメントでは、A3 High または A3 Mega アクセラレータ最適化マシンタイプを使用する仮想マシン(VM)インスタンスを一括作成する方法について説明します。マシンタイプの詳細については、Compute Engine ドキュメントの A3 High と A3 Mega をご覧ください。
VM の一括作成の詳細については、Compute Engine ドキュメントの VM の一括作成についてをご覧ください。
VM またはクラスタを作成する他の方法については、概要をご覧ください。
始める前に
VM を一括作成する前に、次の手順を完了します(まだ完了していない場合)。
- 使用オプションを選択する: 選択した使用オプションによって、GPU リソースの取得方法と使用方法が決まります。
詳細については、使用オプションを選択するをご覧ください。
- 容量を取得する: 容量を取得するプロセスは、使用オプションごとに異なります。
選択した使用オプションの容量を取得するプロセスについては、容量の概要をご覧ください。
このページのサンプルをどのように使うかに応じて、タブを選択してください。
コンソール
Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。
gcloud
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Google Cloud CLI をインストールします。
外部 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
これらの権限は、カスタムロールや他の事前定義ロールを使用して取得することもできます。
概要
a3h-or-a3m マシンタイプを使用してインスタンスを一括作成する手順は次のとおりです。
VPC ネットワークを作成する
GPU VM の効率的な通信を有効にするには、管理ネットワークと 1 つ以上のデータ ネットワークを作成する必要があります。管理ネットワークは、外部アクセス(SSH など)と一般的なネットワーク通信のほとんどに使用されます。データ ネットワークは、異なる VM の GPU 間の高パフォーマンス通信(リモート ダイレクト メモリアクセス(RDMA)トラフィックなど)に使用されます。
これらの VPC ネットワークでは、最大伝送単位(MTU)をより大きい値に設定することをおすすめします。MTU 値を大きくすると、パケットサイズが大きくなり、パケット ヘッダーのオーバーヘッドが減少するため、ペイロードのデータ スループットが向上します。 VPC ネットワークの作成方法の詳細については、ジャンボ フレーム MTU ネットワークの作成と確認をご覧ください。
管理ネットワーク、サブネット、ファイアウォール ルールを作成する
管理ネットワークを設定するには、次の手順で操作します。
networks createコマンドを使用して、管理ネットワークを作成します。gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \ --project=PROJECT_ID \ --subnet-mode=custom \ --mtu=8244networks subnets createコマンドを使用して、管理サブネットを作成します。gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --region=REGION \ --range=192.168.0.0/24firewall-rules createコマンドを使用して、ファイアウォール ルールを作成します。管理ネットワークのファイアウォール ルールを作成します。
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=192.168.0.0/16tcp:22ファイアウォール ルールを作成して、SSH を使用して VM に接続できる送信元 IP アドレスを制限します。gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=SSH_SOURCE_IP_RANGEネットワーク内のデータ転送の問題を確認するために使用できる
icmpファイアウォール ルールを作成します。gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=icmp \ --source-ranges=0.0.0.0/0
次のように置き換えます。
NETWORK_NAME_PREFIX: VPC ネットワークとサブネットに使用する名前の接頭辞。PROJECT_ID: プロジェクト ID。REGION: ネットワークを作成するリージョン。SSH_SOURCE_IP_RANGE: CIDR 形式の IP 範囲。 SSH を使用して VM に接続できる送信元 IP アドレスを指定します。
データ ネットワーク、サブネット、ファイアウォール ルールを作成する
データ ネットワークの数は、作成する GPU マシンのタイプによって異なります。A3 Mega
A3 Mega には 8 つのデータ ネットワークが必要です。それぞれサブネットとファイアウォール ルールを持つ 8 つのデータ ネットワークを作成するには、次のコマンドを使用します。
for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
A3 High
A3 High には 4 つのデータ ネットワークが必要です。次のコマンドを使用して、それぞれサブネットとファイアウォール ルールを持つ 4 つのデータ ネットワークを作成します。
for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
省略可: コンパクト プレースメント ポリシーを作成する
コンパクト プレースメント ポリシーを作成して、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 間の最大距離構成。値は、VM を隣接するブロックに配置する場合は3、VM を同じブロックに配置する場合は2にする必要があります。マシンシリーズごとのmaxDistanceでサポートされる VM の最大数については、Compute Engine ドキュメントのコンパクト プレースメント ポリシーについてをご覧ください。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 間の最大距離構成。値は、VM を隣接するブロックに配置する場合は3、VM を同じブロックに配置する場合は2にする必要があります。マシンシリーズごとのmaxDistanceでサポートされる VM の最大数については、Compute Engine ドキュメントのコンパクト プレースメント ポリシーについてをご覧ください。REGION: コンパクト プレースメント ポリシーを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
A3 High VM または A3 Mega VM を一括作成する
A3 High VM または A3 Mega VM を一括で作成するには、次のいずれかの方法を使用します。
次のコマンドは、インスタンスのアクセス スコープも設定します。権限管理を簡素化するには、インスタンスのアクセス スコープをcloud-platform アクセスに設定し、IAM ロールを使用してインスタンスがアクセスできるサービスを定義することをおすすめします。詳細については、スコープのベスト プラクティスをご覧ください。gcloud
A3 High または A3 Mega VM を作成するには、gcloud compute instances bulk create コマンドを使用します。
A3 Mega
a3h インスタンスまたは a3m インスタンスを一括で作成するには、
gcloud compute instances bulk create コマンドを使用します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。消費オプションのプロビジョニング モデルに対応するタブを選択します。
予約で制限
コマンドを実行する前に、必要に応じてコンパクト プレースメント ポリシーのフラグを追加します。
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 \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
次の手順を行います。
-
次のように置き換えます。
NAME_PATTERN: a3h または a3m インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の a3h または a3m インスタンスが--countで指定された a3h または a3m インスタンスの数まで生成されます。COUNT: 作成する a3h または a3m インスタンスの数。MACHINE_TYPE: a3h または a3m インスタンスに使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。A3 Mega マシンシリーズでは、cos-121-lts以降の Container-Optimized OS イメージを使用して自動更新を無効にするか、rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux イメージを使用することを強くおすすめします。サポートされているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。たとえば、cos-121-lts以降の Container-Optimized OS イメージにはcos-cloudを使用し、rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux イメージにはrocky-linux-accelerator-cloudを使用します。REGION: 使用するマシンタイプが使用可能なリージョンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。hyperdisk-balancedの使用をおすすめします。DISK_SIZE: ブートディスクのサイズ(GB)。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。-
RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
また、単一のブロックの場合は、ブロック コロケーション(
maxDistance=2)を指定するコンパクト プレースメント ポリシーを適用します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。特定のブロックにインスタンスを作成するには:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: 予約期間の終了時に Compute Engine によって a3h または a3m インスタンスを停止(STOP)するか削除(DELETE)するか。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
- コマンドを実行します。
スポット
コマンドを実行する前に、必要に応じてコンパクト プレースメント ポリシーのフラグを追加します。
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 \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
次の手順を行います。
-
次のように置き換えます。
NAME_PATTERN: a3h または a3m インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の a3h または a3m インスタンスが--countで指定された a3h または a3m インスタンスの数まで生成されます。COUNT: 作成する a3h または a3m インスタンスの数。MACHINE_TYPE: a3h または a3m インスタンスに使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。A3 Mega マシンシリーズでは、cos-121-lts以降の Container-Optimized OS イメージを使用して自動更新を無効にするか、rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux イメージを使用することを強くおすすめします。サポートされているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。たとえば、cos-121-lts以降の Container-Optimized OS イメージにはcos-cloudを使用し、rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux イメージにはrocky-linux-accelerator-cloudを使用します。REGION: 使用するマシンタイプが使用可能なリージョンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。hyperdisk-balancedの使用をおすすめします。DISK_SIZE: ブートディスクのサイズ(GB)。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
- コマンドを実行します。
A3 High
a3h インスタンスまたは a3m インスタンスを一括で作成するには、
gcloud compute instances bulk create コマンドを使用します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。消費オプションのプロビジョニング モデルに対応するタブを選択します。
予約で制限
コマンドを実行する前に、必要に応じてコンパクト プレースメント ポリシーのフラグを追加します。
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 \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
次の手順を行います。
-
次のように置き換えます。
NAME_PATTERN: a3h または a3m インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の a3h または a3m インスタンスが--countで指定された a3h または a3m インスタンスの数まで生成されます。COUNT: 作成する a3h または a3m インスタンスの数。MACHINE_TYPE: a3h または a3m インスタンスに使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。A3 High マシンシリーズでは、cos-121-lts以降の Container-Optimized OS イメージを使用し、自動更新を無効にすることを強くおすすめします。サポートされているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。たとえば、cos-121-lts以降の Container-Optimized OS イメージにはcos-cloudを使用します。REGION: 使用するマシンタイプが使用可能なリージョンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。hyperdisk-balancedの使用をおすすめします。DISK_SIZE: ブートディスクのサイズ(GB)。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。-
RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
また、単一のブロックの場合は、ブロック コロケーション(
maxDistance=2)を指定するコンパクト プレースメント ポリシーを適用します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。特定のブロックにインスタンスを作成するには:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: 予約期間の終了時に Compute Engine によって a3h または a3m インスタンスを停止(STOP)するか削除(DELETE)するか。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
- コマンドを実行します。
スポット
コマンドを実行する前に、必要に応じてコンパクト プレースメント ポリシーのフラグを追加します。
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 \
--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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
次の手順を行います。
-
次のように置き換えます。
NAME_PATTERN: a3h または a3m インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の a3h または a3m インスタンスが--countで指定された a3h または a3m インスタンスの数まで生成されます。COUNT: 作成する a3h または a3m インスタンスの数。MACHINE_TYPE: a3h または a3m インスタンスに使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。A3 High マシンシリーズでは、cos-121-lts以降の Container-Optimized OS イメージを使用し、自動更新を無効にすることを強くおすすめします。サポートされているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。たとえば、cos-121-lts以降の Container-Optimized OS イメージにはcos-cloudを使用します。REGION: 使用するマシンタイプが使用可能なリージョンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。hyperdisk-balancedの使用をおすすめします。DISK_SIZE: ブートディスクのサイズ(GB)。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
- コマンドを実行します。
REST
A3 High VM または A3 Mega VM を作成するには、instances.bulkInsert メソッドを使用します。
A3 Mega
a3h または a3m インスタンスを一括作成するには、
instances.bulkInsert メソッドに POST リクエストを送信します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。消費オプションのプロビジョニング モデルに対応するタブを選択します。
予約で制限
リクエストを送信する前に、必要に応じて、コンパクト プレースメント ポリシーの instanceProperties サブフィールドをリクエスト本文に追加します。
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"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
},
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
次の手順を行います。
-
次のように置き換えます。
PROJECT_ID: a3h または a3m インスタンスを作成するプロジェクトのプロジェクト ID。ZONE: 使用するマシンタイプが使用可能なゾーンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョン内のゾーンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。NAME_PATTERN: a3h または a3m インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の a3h または a3m インスタンスが--countで指定された a3h または a3m インスタンスの数まで生成されます。COUNT: 作成する a3h または a3m インスタンスの数。MACHINE_TYPE: a3h または a3m インスタンスに使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。VM_NAME: VM の名前。DISK_SIZE: ブートディスクのサイズ(GB)。DISK_TYPE: ブートディスクのタイプ。hyperdisk-balancedの使用をおすすめします。IMAGE_PROJECT: OS イメージのプロジェクト ID。たとえば、cos-121-lts以降の Container-Optimized OS イメージにはcos-cloudを使用し、rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux イメージにはrocky-linux-accelerator-cloudを使用します。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。A3 Mega マシンシリーズでは、cos-121-lts以降の Container-Optimized OS イメージを使用して自動更新を無効にするか、rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux イメージを使用することを強くおすすめします。サポートされているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。-
RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
また、単一のブロックの場合は、ブロック コロケーション(
maxDistance=2)を指定するコンパクト プレースメント ポリシーを適用します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。特定のブロックにインスタンスを作成するには:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: 予約期間の終了時に Compute Engine によって a3h または a3m インスタンスを停止(STOP)するか削除(DELETE)するか。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
- リクエストを送信します。
スポット
リクエストを送信する前に、必要に応じて、コンパクト プレースメント ポリシーの instanceProperties サブフィールドをリクエスト本文に追加します。
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"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
},
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
次の手順を行います。
-
次のように置き換えます。
PROJECT_ID: a3h または a3m インスタンスを作成するプロジェクトのプロジェクト ID。ZONE: 使用するマシンタイプが使用可能なゾーンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョン内のゾーンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。NAME_PATTERN: a3h または a3m インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の a3h または a3m インスタンスが--countで指定された a3h または a3m インスタンスの数まで生成されます。COUNT: 作成する a3h または a3m インスタンスの数。MACHINE_TYPE: a3h または a3m インスタンスに使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。VM_NAME: VM の名前。DISK_SIZE: ブートディスクのサイズ(GB)。DISK_TYPE: ブートディスクのタイプ。hyperdisk-balancedの使用をおすすめします。IMAGE_PROJECT: OS イメージのプロジェクト ID。たとえば、cos-121-lts以降の Container-Optimized OS イメージにはcos-cloudを使用し、rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux イメージにはrocky-linux-accelerator-cloudを使用します。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。A3 Mega マシンシリーズでは、cos-121-lts以降の Container-Optimized OS イメージを使用して自動更新を無効にするか、rocky-linux-8-optimized-gcp-nvidia-580Rocky Linux イメージを使用することを強くおすすめします。サポートされているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
- リクエストを送信します。
A3 High
a3h または a3m インスタンスを一括作成するには、
instances.bulkInsert メソッドに POST リクエストを送信します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。消費オプションのプロビジョニング モデルに対応するタブを選択します。
予約で制限
リクエストを送信する前に、必要に応じて、コンパクト プレースメント ポリシーの instanceProperties サブフィールドをリクエスト本文に追加します。
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"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
次の手順を行います。
-
次のように置き換えます。
PROJECT_ID: a3h または a3m インスタンスを作成するプロジェクトのプロジェクト ID。ZONE: 使用するマシンタイプが使用可能なゾーンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョン内のゾーンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。NAME_PATTERN: a3h または a3m インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の a3h または a3m インスタンスが--countで指定された a3h または a3m インスタンスの数まで生成されます。COUNT: 作成する a3h または a3m インスタンスの数。MACHINE_TYPE: a3h または a3m インスタンスに使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。VM_NAME: VM の名前。DISK_SIZE: ブートディスクのサイズ(GB)。DISK_TYPE: ブートディスクのタイプ。hyperdisk-balancedの使用をおすすめします。IMAGE_PROJECT: OS イメージのプロジェクト ID。たとえば、cos-121-lts以降の Container-Optimized OS イメージにはcos-cloudを使用します。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。A3 High マシンシリーズでは、cos-121-lts以降の Container-Optimized OS イメージを使用し、自動更新を無効にすることを強くおすすめします。サポートされているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。-
RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
また、単一のブロックの場合は、ブロック コロケーション(
maxDistance=2)を指定するコンパクト プレースメント ポリシーを適用します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。特定のブロックにインスタンスを作成するには:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: 予約期間の終了時に Compute Engine によって a3h または a3m インスタンスを停止(STOP)するか削除(DELETE)するか。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
- リクエストを送信します。
スポット
リクエストを送信する前に、必要に応じて、コンパクト プレースメント ポリシーの instanceProperties サブフィールドをリクエスト本文に追加します。
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"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
次の手順を行います。
-
次のように置き換えます。
PROJECT_ID: a3h または a3m インスタンスを作成するプロジェクトのプロジェクト ID。ZONE: 使用するマシンタイプが使用可能なゾーンを指定します。コンパクト プレースメント ポリシーを指定する場合は、コンパクト プレースメント ポリシーと同じリージョン内のゾーンを使用する必要があります。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。NAME_PATTERN: a3h または a3m インスタンスに使用する名前パターン。たとえば、名前パターンにinstance-#を使用すると、instance-1やinstance-2といった名前の a3h または a3m インスタンスが--countで指定された a3h または a3m インスタンスの数まで生成されます。COUNT: 作成する a3h または a3m インスタンスの数。MACHINE_TYPE: a3h または a3m インスタンスに使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。VM_NAME: VM の名前。DISK_SIZE: ブートディスクのサイズ(GB)。DISK_TYPE: ブートディスクのタイプ。hyperdisk-balancedの使用をおすすめします。IMAGE_PROJECT: OS イメージのプロジェクト ID。たとえば、cos-121-lts以降の Container-Optimized OS イメージにはcos-cloudを使用します。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。A3 High マシンシリーズでは、cos-121-lts以降の Container-Optimized OS イメージを使用し、自動更新を無効にすることを強くおすすめします。サポートされているオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
- リクエストを送信します。
VM を一括作成する場合の構成オプションの詳細については、Compute Engine ドキュメントの VM を一括作成するをご覧ください。