このドキュメントでは、A3 High または A3 Mega アクセラレータ最適化マシンタイプを使用するマネージド インスタンス グループ(MIG)を作成する方法について説明します。マシンタイプの詳細については、GPU アクセラレータについてをご覧ください。
MIG を作成すると、複数の仮想マシン(VM)を単一のエンティティとして管理できます。MIG 内の各 VM はインスタンス テンプレートに基づいています。MIG はグループ内の VM を自動的に管理することで、高可用性とスケーラビリティを実現します。MIG の詳細については、Compute Engine ドキュメントのマネージド インスタンス グループをご覧ください。
VM またはクラスタを作成するその他の方法については、デプロイ オプションの概要をご覧ください。
制限事項
A3 Mega VM または A3 High VM を使用して MIG を作成する場合は、マシンタイプと MIG の両方の制限事項を考慮してください。
A3 Mega または A3 High VM の制限事項
MIG の VM で使用されるマシンシリーズに応じて、次の制限が適用されます。
A3 Mega
- A3 Mega マシンタイプを使用するインスタンスは、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A3 Mega マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A3 Mega マシンタイプを使用するインスタンスでは、リージョン Persistent Disk を使用できません。
- A3 Mega マシンタイプは、Sapphire Rapids CPU プラットフォームでのみ使用できます。
- A3 Mega マシンタイプでは、マシンタイプの変更はサポートされていません。このマシンタイプに切り替えるには、新しいインスタンスを作成する必要があります。
- A3 Mega マシンタイプでは Windows オペレーティング システムを実行できません。
A3 High
- A3 High マシンタイプを使用するインスタンスは、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A3 High マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A3 High マシンタイプを使用するインスタンスでは、リージョン Persistent Disk を使用できません。
- A3 High マシンタイプは、Sapphire Rapids CPU プラットフォームでのみ使用できます。
- A3 High マシンタイプでは、マシンタイプの変更はサポートされていません。このマシンタイプに切り替えるには、新しいインスタンスを作成する必要があります。
- A3 High マシンタイプでは Windows オペレーティング システムを実行できません。
a3-highgpu-1g、a3-highgpu-2g、a3-highgpu-4gのマシンタイプでは、Spot VM または Flex Start VM を使用してインスタンスを作成する必要があります。これらのオプションの詳細な手順については、以下をご覧ください。- Spot VM を作成するには、アクセラレータ最適化 VM を作成するときにプロビジョニング モデルを
SPOTに設定します。 - Flex Start VM を作成するには、次のいずれかの方法を使用します。
- スタンドアロン VM を作成し、アクセラレータ最適化 VM を作成するときにプロビジョニング モデルを
FLEX_STARTに設定します。 - マネージド インスタンス グループ(MIG)でサイズ変更リクエストを作成します。手順については、GPU VM を使用して MIG を作成するをご覧ください。
- スタンドアロン VM を作成し、アクセラレータ最適化 VM を作成するときにプロビジョニング モデルを
- Spot VM を作成するには、アクセラレータ最適化 VM を作成するときにプロビジョニング モデルを
a3-highgpu-1gマシンタイプを使用する Confidential VM は、限られたリージョンとゾーンでのみ使用できます。また、A3 High マシンタイプで実行される Confidential VM のすべての制限が適用されます。
MIG の制限事項
A3 Mega VM または A3 High VM を使用して MIG を作成する場合、次の制限が適用されます。
- このドキュメントの説明に従って、MIG で修復をオフにする必要があります。
+ RDMA ネットワーキングを使用するリージョン MIG を作成する場合、MIG は RDMA のネットワーク プロファイルを構成したゾーンにのみ A3 Mega または A3 High インスタンスを作成できます。
- MIG でインスタンスの柔軟性を構成することはできません。
- MIG でワークロード ポリシーを使用する場合は、ワークロード ポリシーの制限事項を確認してください。
MIG サイズ変更リクエストの制限事項
MIG のサイズ変更リクエストには、次の制限が適用されます。
リージョン MIG では、
ANY_SINGLE_ZONEターゲット分配形態のみを使用できます。MIG のスタンバイ プールモードは
manual(デフォルト)にのみ設定できます。自動スケーリングを設定することはできません。
MIG に承認済みのサイズ変更リクエストが含まれている場合、MIG のターゲット サイズを変更することはできません。
MIG がサイズ変更リクエスト用に作成した
CREATINGステータスのマネージド インスタンスは削除または破棄できません。これらのマネージド インスタンスを削除するには、サイズ変更リクエストをキャンセルする必要があります。
詳細については、サイズ変更リクエストのすべての制限事項をご覧ください。
始める前に
MIG を作成する前に、次の手順を完了します(まだ完了していない場合)。
- 使用オプションを選択する: 選択した使用オプションによって、GPU リソースの取得方法と使用方法が決まります。詳細については、使用オプションを選択するをご覧ください。
- 容量を取得する: 容量を取得するプロセスは、使用オプションごとに異なります。選択した使用オプションの容量を取得するプロセスについては、容量の概要をご覧ください。
必要なロール
MIG の作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1) (roles/compute.instanceAdmin.v1)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、MIG の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
MIG を作成するには、次の権限が必要です。
-
MIG を作成する: プロジェクトに対する
compute.instanceGroupManagers.create
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
概要
A3 Mega または A3 High(8 個の GPU)マシンタイプを使用して MIG を作成する手順は次のとおりです。
- VPC ネットワークを作成する。
- 省略可: ワークロード ポリシーを作成する
- インスタンス テンプレートを作成する
- MIG を作成する
- GPU ドライバをインストールする
- 省略可: NVIDIA マルチインスタンス GPU モードを有効にする
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 を特定のブロックに配置する場合は、この手順をスキップして、インスタンス テンプレートの作成時に予約アフィニティでブロックの名前を指定します。
ワークロード ポリシーを作成するには、次のいずれかのオプションを選択します。
gcloud
ワークロード ポリシーを作成するには、gcloud compute resource-policies create workload-policy コマンドを使用します。
-
VM をベスト エフォートで配置するには、コマンドで
--type=high-throughputフラグを指定します。gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION -
VM の厳密なコロケーションを行うには、コマンドで
--max-topology-distanceフラグと--type=high-throughputフラグを指定します。gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --max-topology-distance=TOPOLOGY_DISTANCE \ --region=REGION
次のように置き換えます。
WORKLOAD_POLICY_NAME: ワークロード ポリシーの名前。TOPOLOGY_DISTANCE: トポロジの最大距離。次のいずれかの値を指定します。- VM を同じブロックに配置するには:
BLOCK - VM を同じクラスタに配置するには:
CLUSTER
注: 最大距離を短くすると、VM の可用性が低下する可能性があります。詳細については、 トポロジの最大距離プロパティをご覧ください。- VM を同じブロックに配置するには:
REGION: ワークロード ポリシーを作成するリージョン。使用するマシンタイプが利用可能で、MIG を作成するリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
REST
ワークロード ポリシーを作成するには、resourcePolicies.insert メソッドに POST リクエストを送信します。
-
VM をベスト エフォートで配置するには、リクエストで
typeフィールドを次のように指定します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT" } } -
VM の厳密なコロケーションを行うには、リクエストで
maxTopologyDistanceフィールドとtypeフィールドを次のように指定します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT", "maxTopologyDistance": "TOPOLOGY_DISTANCE" } }
次のように置き換えます。
PROJECT_ID: プロジェクト IDREGION: ワークロード ポリシーを作成するリージョン。使用するマシンタイプが利用可能で、MIG を作成するリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。WORKLOAD_POLICY_NAME: ワークロード ポリシーの名前。TOPOLOGY_DISTANCE: トポロジの最大距離。次のいずれかの値を指定します。- VM を同じブロックに配置するには:
BLOCK - VM を同じクラスタに配置するには:
CLUSTER
注: 最大距離を短くすると、VM の可用性が低下する可能性があります。詳細については、トポロジの最大距離プロパティをご覧ください。- VM を同じブロックに配置するには:
インスタンス テンプレートの作成
インスタンス テンプレートを作成して、MIG の VM プロパティを指定します。
インスタンス テンプレートを作成するには、次のいずれかのオプションを選択します。
次のコマンドは、インスタンスのアクセス スコープも設定します。権限管理を簡素化するには、インスタンスのアクセス スコープをcloud-platform アクセスに設定し、IAM ロールを使用してインスタンスがアクセスできるサービスを定義することをおすすめします。詳細については、スコープのベスト プラクティスをご覧ください。A3 Mega
A3 Mega VM のインスタンス テンプレートを作成するには、GPUDirect-TCPXO トラフィック用に 8 つの追加のネットワーク インターフェースを指定する必要があります。まだ作成していない場合は、VPC ネットワークを作成するの説明に沿って、8 つの VPC ネットワークを作成してください。
gcloud
リージョン インスタンス テンプレートを作成するには、gcloud compute instance-templates create コマンドを使用します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
A3 Mega または A3 High(8 個の GPU)インスタンスは、予約の複数のプロビジョニング モデルをサポートしています。使用する予約のタイプに対応するタブを選択します。
次の場合は、予約にバインドされたプロビジョニング モデルを指定する予約にバインドされたパラメータを使用します。
- AI Hypercomputer の将来の予約
- カレンダー モードの将来の予約
次のものには、標準プロビジョニング モデルを指定する標準予約パラメータを使用します。
- オンデマンド予約
- 標準の将来の予約
予約で制限
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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=DELETE \
--maintenance-policy=TERMINATE \
--restart-on-failure
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。-
RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
また、単一のブロックの場合は、ブロック コロケーション(
maxTopologyDistance=BLOCK)を指定するワークロード ポリシーを適用して MIG を作成します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。特定のブロックにインスタンスを作成するには:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
標準の純広告
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY \
--reservation=RESERVATION
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。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
- コマンドを実行します。
オンデマンド
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。any(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。none(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。
--no-restart-on-failure
- コマンドを実行します。
Flex Start
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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=none \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。RUN_DURATION: リクエストされた VM を実行する期間。値は、日数、時間、分、秒として指定し、その後にそれぞれd、h、m、sを続ける必要があります。たとえば、30 分の場合は30mを指定し、1 日と 2 時間 3 分 4 秒の場合は1d2h3m4sを指定します。値は 10 分~ 7 日の範囲で指定してください。
スポット
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
REST
リージョン インスタンス テンプレートを作成するには、regionInstanceTemplates.insert メソッドに POST リクエストを送信します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
A3 Mega または A3 High(8 個の GPU)インスタンスは、予約の複数のプロビジョニング モデルをサポートしています。使用する予約のタイプに対応するタブを選択します。
次の場合は、予約にバインドされたプロビジョニング モデルを指定する予約にバインドされたパラメータを使用します。
- AI Hypercomputer の将来の予約
- カレンダー モードの将来の予約
次のものには、標準プロビジョニング モデルを指定する標準予約パラメータを使用します。
- オンデマンド予約
- 標準の将来の予約
予約で制限
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。-
RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
また、単一のブロックの場合は、ブロック コロケーション(
maxTopologyDistance=BLOCK)を指定するワークロード ポリシーを適用して MIG を作成します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。特定のブロックにインスタンスを作成するには:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
標準の純広告
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。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: 予約の名前。
オンデマンド
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY"
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。AUTOMATIC_RESTART: インスタンスがクラッシュした場合、またはメンテナンス イベントなどのプログラムによる停止のために Compute Engine がインスタンスを停止した場合に、インスタンスが自動的に再起動するかどうか。自動再起動を有効にする場合はtrue(デフォルト)、無効にする場合はfalseを指定します。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。ANY_RESERVATION(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。NO_RESERVATION(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
Flex Start
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。RUN_DURATION: リクエストされた VM の実行時間(秒単位)。値は600(600 秒、10 分)から604800(604,800 秒、7 日間)の範囲で指定する必要があります。
スポット
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
A3 High
A3 High VM のインスタンス テンプレートを作成するには、GPUDirect-TCPX トラフィック用に 4 つの追加のネットワーク インターフェースを指定する必要があります。まだ作成していない場合は、VPC ネットワークを作成するの説明に従って、4 つの VPC ネットワークを作成してください。
gcloud
リージョン インスタンス テンプレートを作成するには、gcloud compute instance-templates create コマンドを使用します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
A3 Mega または A3 High(8 個の GPU)インスタンスは、予約の複数のプロビジョニング モデルをサポートしています。使用する予約のタイプに対応するタブを選択します。
次の場合は、予約にバインドされたプロビジョニング モデルを指定する予約にバインドされたパラメータを使用します。
- AI Hypercomputer の将来の予約
- カレンダー モードの将来の予約
次のものには、標準プロビジョニング モデルを指定する標準予約パラメータを使用します。
- オンデマンド予約
- 標準の将来の予約
予約で制限
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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=DELETE \
--maintenance-policy=TERMINATE \
--restart-on-failure
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。-
RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
また、単一のブロックの場合は、ブロック コロケーション(
maxTopologyDistance=BLOCK)を指定するワークロード ポリシーを適用して MIG を作成します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。特定のブロックにインスタンスを作成するには:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
標準の純広告
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY \
--reservation=RESERVATION
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。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
- コマンドを実行します。
オンデマンド
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。any(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。none(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。
--no-restart-on-failure
- コマンドを実行します。
Flex Start
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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=none \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。RUN_DURATION: リクエストされた VM を実行する期間。値は、日数、時間、分、秒として指定し、その後にそれぞれd、h、m、sを続ける必要があります。たとえば、30 分の場合は30mを指定し、1 日と 2 時間 3 分 4 秒の場合は1d2h3m4sを指定します。値は 10 分~ 7 日の範囲で指定してください。
スポット
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address
--network-interface=nic-type=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
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
REST
リージョン インスタンス テンプレートを作成するには、regionInstanceTemplates.insert メソッドに POST リクエストを送信します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
A3 Mega または A3 High(8 個の GPU)インスタンスは、予約の複数のプロビジョニング モデルをサポートしています。使用する予約のタイプに対応するタブを選択します。
次の場合は、予約にバインドされたプロビジョニング モデルを指定する予約にバインドされたパラメータを使用します。
- AI Hypercomputer の将来の予約
- カレンダー モードの将来の予約
次のものには、標準プロビジョニング モデルを指定する標準予約パラメータを使用します。
- オンデマンド予約
- 標準の将来の予約
予約で制限
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。-
RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
また、単一のブロックの場合は、ブロック コロケーション(
maxTopologyDistance=BLOCK)を指定するワークロード ポリシーを適用して MIG を作成します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。特定のブロックにインスタンスを作成するには:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
標準の純広告
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。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: 予約の名前。
オンデマンド
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY"
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。AUTOMATIC_RESTART: インスタンスがクラッシュした場合、またはメンテナンス イベントなどのプログラムによる停止のために Compute Engine がインスタンスを停止した場合に、インスタンスが自動的に再起動するかどうか。自動再起動を有効にする場合はtrue(デフォルト)、無効にする場合はfalseを指定します。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。ANY_RESERVATION(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。NO_RESERVATION(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
Flex Start
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。RUN_DURATION: リクエストされた VM の実行時間(秒単位)。値は600(600 秒、10 分)から604800(604,800 秒、7 日間)の範囲で指定する必要があります。
スポット
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "hyperdisk-balanced",
"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
}
}
}
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A3 Mega または A3 High(8 個の GPU)インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。REGION: サブネットワークのリージョン。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
インスタンス テンプレートを作成したら、表示して ID を確認し、インスタンス プロパティを確認できます。
MIG を作成する
上記の手順をすべて完了したら、シナリオに基づいて次のように MIG を作成します。
| シナリオ | MIG とその VM を作成する方法 | 例 |
|---|---|---|
| 任意の数の VM で開始できる複数のジョブまたは並列ジョブがある。 | MIG を作成し、ターゲット サイズを使用してグループに含める VM の数を指定します。 ターゲット サイズを指定して MIG を作成するをご覧ください。 |
ML 推論ジョブ |
| 正確な数の VM に分散する必要があるジョブがある。 | VM を含まない MIG を作成し、MIG でサイズ変更リクエストを作成します。サイズ変更リクエストを使用すると、VM を一度に取得できます。 MIG とサイズ変更リクエストを作成するをご覧ください。 |
分散 ML トレーニング ジョブとファインチューニング ジョブ |
ターゲット サイズを指定して MIG を作成する
すべての VM を一度に作成せずにジョブを開始できる場合は、ターゲット サイズを指定して MIG を作成します。ターゲット サイズによって、MIG 内の VM 数が決まります。MIG は、現在のリソースの可用性に基づいて VM の作成を開始します。リソースが一時的に利用できない場合、MIG はターゲット サイズを満たす VM の作成を継続的に試行します。
ターゲット サイズを指定して MIG を作成するには、次のいずれかのオプションを選択します。
gcloud
指定したターゲット サイズで MIG を作成するには、instance-groups managed
create コマンドを使用します。
MIG の作成に使用するコマンドで、ワークロード ポリシーを使用してインスタンスの配置を指定します。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除します。
ゾーン MIG またはリージョン MIG を次のように作成します。
- ゾーン MIG を作成するには、次のコマンドを使用します。
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE
- リージョン MIG を作成するには、次のコマンドを使用します。
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --region=REGION
MIG_NAME: MIG の名前。INSTANCE_TEMPLATE_URL: MIG でインスタンスの作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。- リージョン インスタンス テンプレートの場合:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - グローバル インスタンス テンプレートの場合:
INSTANCE_TEMPLATE_ID
- リージョン インスタンス テンプレートの場合:
TARGET_SIZE: MIG に含めるインスタンスの数。WORKLOAD_POLICY_URL: 省略可。ワークロード ポリシーの URL(例:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy)。ワークロード ポリシーを使用しない場合は、--workload-policyフラグを削除します。ZONE: MIG を作成するゾーン。 ワークロード ポリシーを使用する場合は、ポリシーのリージョン内のゾーンを指定します。REGION: MIG を作成するリージョン。ワークロード ポリシーを使用する場合は、ポリシーと同じリージョンを指定します。リージョン MIG の場合は、リージョンの代わりに、--zonesフラグを使用してそのリージョンのゾーンを指定できます。
REST
指定したターゲット サイズで MIG を作成するには、POST リクエストを送信します。
MIG の作成に使用するリクエストで、ワークロード ポリシーを使用してインスタンスの配置を指定します。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。
ゾーン MIG またはリージョン MIG を次のように作成します。
- ゾーン MIG を作成するには、
instanceGroupManagers.insertメソッドにPOSTリクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": TARGET_SIZE, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - リージョン MIG を作成するには、
regionInstanceGroupManagers.insertメソッドにPOSTリクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": TARGET_SIZE, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } }
PROJECT_ID: プロジェクト ID。ZONE: MIG を作成するゾーン。 ワークロード ポリシーを使用する場合は、ポリシーのリージョン内のゾーンを指定します。REGION: MIG を作成するリージョン。ワークロード ポリシーを使用する場合は、ポリシーと同じリージョンを指定します。INSTANCE_TEMPLATE_URL: MIG でインスタンスの作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。- リージョン インスタンス テンプレートの場合:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - グローバル インスタンス テンプレートの場合:
INSTANCE_TEMPLATE_ID
- リージョン インスタンス テンプレートの場合:
MIG_NAME: MIG の名前。TARGET_SIZE: MIG に含めるインスタンスの数。WORKLOAD_POLICY_URL: 省略可。ワークロード ポリシーの URL(例:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy)。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicyフィールドを削除します。
MIG とサイズ変更リクエストを作成する
ジョブの開始に複数の VM が一度に必要な場合は、MIG を作成し、このセクションで説明するように MIG でサイズ変更リクエストを作成します。MIG でサイズ変更リクエストを作成するには、次のいずれかのオプションを選択します。
gcloud
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションのプロビジョニング モデルに対応するタブを選択します。
予約
MIG の作成に使用するコマンドで、ワークロード ポリシーを使用してインスタンスの配置を指定します。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除します。
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
-
ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してゾーン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
次のように、
instance-groups managed resize-requests createコマンドを使用して、ゾーン MIG にサイズ変更リクエストを作成します。このコマンドは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
リージョン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してリージョン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
次のように、
instance-groups managed resize-requests createコマンドを使用して、リージョン MIG にサイズ変更リクエストを作成します。このコマンドは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
オンデマンド
MIG の作成に使用するコマンドで、ワークロード ポリシーを使用してインスタンスの配置を指定します。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除します。
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
-
ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してゾーン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
次のように、
instance-groups managed resize-requests createコマンドを使用して、ゾーン MIG にサイズ変更リクエストを作成します。このコマンドは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
リージョン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してリージョン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
次のように、
instance-groups managed resize-requests createコマンドを使用して、リージョン MIG にサイズ変更リクエストを作成します。このコマンドは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
Flex Start
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
-
ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してゾーン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
次のように、
instance-groups managed resize-requests createコマンドを使用して、ゾーン MIG にサイズ変更リクエストを作成します。このコマンドは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
リージョン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してリージョン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --workload-policy=WORKLOAD_POLICY_URL \ --region=REGION \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none \ --workload-policy=WORKLOAD_POLICY_URL -
次のように、
instance-groups managed resize-requests createコマンドを使用して、リージョン MIG にサイズ変更リクエストを作成します。このコマンドは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
スポット
MIG の作成に使用するコマンドで、ワークロード ポリシーを使用してインスタンスの配置を指定します。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除します。
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
-
ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してゾーン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
次のように、
instance-groups managed resize-requests createコマンドを使用して、ゾーン MIG にサイズ変更リクエストを作成します。このコマンドは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
リージョン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してリージョン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
次のように、
instance-groups managed resize-requests createコマンドを使用して、リージョン MIG にサイズ変更リクエストを作成します。このコマンドは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
MIG_NAME: MIG の名前。INSTANCE_TEMPLATE_URL: MIG でインスタンスの作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。- リージョン インスタンス テンプレートの場合:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - グローバル インスタンス テンプレートの場合:
INSTANCE_TEMPLATE_ID
- リージョン インスタンス テンプレートの場合:
WORKLOAD_POLICY_URL: 省略可。ワークロード ポリシーの URL(例:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy)。ワークロード ポリシーを使用しない場合は、--workload-policyフラグを削除します。ZONE: MIG を作成するゾーン。リージョン MIG の場合も、ゾーンを指定する必要があります。このゾーンは、VPC ネットワークのプロファイルを含むゾーンであり、マシンタイプを使用できるゾーンである必要があります。詳細については、制限事項をご覧ください。RESIZE_REQUEST_NAME: サイズ変更リクエストの名前。指定された MIG 内で一意である必要があります。それ以外の場合、サイズ変更リクエストは作成されません。COUNT: MIG に一度に追加するインスタンスの数。REGION: MIG を作成するリージョン。
VM 名のリストを指定してサイズ変更リクエストを作成する
ワークロードに特定の VM 名が必要な場合は、VM を作成する名前のリストを指定します。指定した名前の数によって、MIG が一度に作成する VM の数が決まります。
MIG で特定の VM 名を使用してサイズ変更リクエストを作成するには、--instances フラグを指定してベータ版の gcloud compute instance-groups managed resize-requests create コマンドを使用します。
-
ゾーン MIG で、次のコマンドを実行します。
gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --instances=INSTANCE_NAMES \ --zone=ZONE -
リージョン MIG で、次のコマンドを実行します。
gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --instances=INSTANCE_NAMES \ --region=REGION
INSTANCE_NAMES は、VM の名前のカンマ区切りリストに置き換えます。例: instance-1,instance-2,instance-3REST
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションのプロビジョニング モデルに対応するタブを選択します。
予約
MIG の作成に使用するリクエストで、ワークロード ポリシーを使用してインスタンスの配置を指定します。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
- ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
- 次のように、
instanceGroupManagers.insertメソッドにPOSTリクエストを送信して、ゾーン MIG を作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 次のように、
instanceGroupManagerResizeRequests.insertメソッドにPOSTリクエストを送信して、ゾーン MIG でサイズ変更リクエストを作成します。このリクエストでは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 次のように、
- リージョン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
- 次のように、
regionInstanceGroupManagers.insertメソッドにPOSTリクエストを送信して、リージョン MIG を作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 次のように、
regionInstanceGroupManagerResizeRequests.insertメソッドにPOSTリクエストを送信して、リージョン MIG にサイズ変更リクエストを作成します。このリクエストでは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 次のように、
オンデマンド
MIG の作成に使用するリクエストで、ワークロード ポリシーを使用してインスタンスの配置を指定します。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
- ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
- 次のように、
instanceGroupManagers.insertメソッドにPOSTリクエストを送信して、ゾーン MIG を作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 次のように、
instanceGroupManagerResizeRequests.insertメソッドにPOSTリクエストを送信して、ゾーン MIG でサイズ変更リクエストを作成します。このリクエストでは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 次のように、
- リージョン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
- 次のように、
regionInstanceGroupManagers.insertメソッドにPOSTリクエストを送信して、リージョン MIG を作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 次のように、
regionInstanceGroupManagerResizeRequests.insertメソッドにPOSTリクエストを送信して、リージョン MIG にサイズ変更リクエストを作成します。このリクエストでは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 次のように、
Flex Start
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
- ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
- 次のように、
instanceGroupManagers.insertメソッドにPOSTリクエストを送信して、ゾーン MIG を作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 次のように、
instanceGroupManagerResizeRequests.insertメソッドにPOSTリクエストを送信して、ゾーン MIG でサイズ変更リクエストを作成します。このリクエストでは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 次のように、
- リージョン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
- 次のように、
regionInstanceGroupManagers.insertメソッドにPOSTリクエストを送信して、リージョン MIG を作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 次のように、
regionInstanceGroupManagerResizeRequests.insertメソッドにPOSTリクエストを送信して、リージョン MIG にサイズ変更リクエストを作成します。このリクエストでは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 次のように、
スポット
MIG の作成に使用するリクエストで、ワークロード ポリシーを使用してインスタンスの配置を指定します。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
- ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
- 次のように、
instanceGroupManagers.insertメソッドにPOSTリクエストを送信して、ゾーン MIG を作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 次のように、
instanceGroupManagerResizeRequests.insertメソッドにPOSTリクエストを送信して、ゾーン MIG でサイズ変更リクエストを作成します。このリクエストでは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 次のように、
- リージョン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
- 次のように、
regionInstanceGroupManagers.insertメソッドにPOSTリクエストを送信して、リージョン MIG を作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": "WORKLOAD_POLICY_URL" } } - 次のように、
regionInstanceGroupManagerResizeRequests.insertメソッドにPOSTリクエストを送信して、リージョン MIG にサイズ変更リクエストを作成します。このリクエストでは、作成する VM の数を指定します。ワークロードで特定の VM 名が必要な場合は、VM 名のリストを指定してサイズ変更リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 次のように、
PROJECT_ID: プロジェクト ID。ZONE: MIG を作成するゾーン。このゾーンは、VPC ネットワークのプロファイルを含むゾーンと同じである必要があり、選択したマシンタイプを使用できるゾーンである必要があります。詳細については、制限事項をご覧ください。REGION: MIG を作成するリージョン。このリージョンは、VPC ネットワークのプロファイルを含むリージョンと同じである必要があり、選択したマシンタイプを使用できるゾーンが含まれている必要があります。詳細については、制限事項をご覧ください。INSTANCE_TEMPLATE_URL: MIG でインスタンスの作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。- リージョン インスタンス テンプレートの場合:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - グローバル インスタンス テンプレートの場合:
INSTANCE_TEMPLATE_ID
- リージョン インスタンス テンプレートの場合:
MIG_NAME: MIG の名前。WORKLOAD_POLICY_URL: 省略可。ワークロード ポリシーの URL(例:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy)。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicyフィールドを削除します。RESIZE_REQUEST_NAME: サイズ変更リクエストの名前。指定された MIG 内で一意である必要があります。それ以外の場合、サイズ変更リクエストは作成されません。COUNT: MIG に一度に追加するインスタンスの数
VM 名のリストを指定してサイズ変更リクエストを作成する
ワークロードに特定の VM 名が必要な場合は、VM を作成する名前のリストを指定します。指定した名前の数によって、MIG が一度に作成する VM の数が決まります。
MIG で特定の VM 名を使用してサイズ変更リクエストを作成するには、次のいずれかの方法を使用します。
-
ゾーン MIG で、
beta.instanceGroupManagerResizeRequests.insertメソッドを使用してPOSTリクエストを送信します。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
-
リージョン MIG で、
beta.regionInstanceGroupManagerResizeRequests.insertメソッドを使用してPOSTリクエストを送信します。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
たとえば、2 つの VM 名を指定するには、リクエスト本文に次の内容を含めます。
{
"name": "RESIZE_REQUEST_NAME",
"instances": [
{
"name": "INSTANCE_NAME_1"
},
{
"name": "INSTANCE_NAME_2"
}
]
}
INSTANCE_NAME_1, INSTANCE_NAME_2 は、VM の名前に置き換えます。GPU ドライバをインストールする
インスタンスを作成した後、適切な GPU ドライバがすでにインストールされていない限り、インスタンスで GPU を使用することはできません。GPU ドライバを含む OS イメージを指定していない場合は、Compute Engine ドキュメントの GPU ドライバをインストールするをご覧ください。
省略可: NVIDIA マルチインスタンス GPU モードを有効にする
マルチインスタンス GPU(MIG)モードは、サポートされている NVIDIA GPU で有効にできる機能です。インスタンスを作成したら、マシンに割り当てられている単一の GPU で MIG モードを有効にできます。MIG モードを有効にすると、単一の GPU が最大 7 つの独立した GPU インスタンスに分割されます。各インスタンスは、それぞれ独自のメモリ、キャッシュ、ストリーミング マルチプロセッサを備え、同時に実行されます。これらの GPU インスタンスでさまざまなワークロードを並行して実行できます。MIG モードの使用について詳しくは、NVIDIA のドキュメントの マルチインスタンス GPU(MIG)ユーザーガイドをご覧ください。次のステップ
- 予約の消費を確認する
- コンピューティング インスタンスのトポロジを表示する
- VM をモニタリングする
- ホストの不具合を報告する
- サイズ変更リクエストの表示、キャンセル、削除
- 予約の消費のトラブルシューティング