このドキュメントでは、A2 Ultra マシンタイプと A2 標準マシンタイプを含む A2 シリーズを使用するマネージド インスタンス グループ(MIG)を作成する方法について説明します。これらのアクセラレータ最適化マシンタイプの詳細については、A2 シリーズをご覧ください。
MIG を作成すると、複数の仮想マシン(VM)を単一のエンティティとして管理できます。MIG 内の各 VM はインスタンス テンプレートに基づいています。MIG はグループ内の VM を自動的に管理することで、高可用性とスケーラビリティを実現します。MIG の詳細については、Compute Engine ドキュメントのマネージド インスタンス グループをご覧ください。
VM またはクラスタを作成するその他の方法については、デプロイ オプションの概要をご覧ください。
制限事項
A2 VM ���使用して MIG を作成する場合は、マシンタイプと MIG の両方の制限事項を考慮してください。
A2 VM の制限事項
A2 Ultra VM または A2 Standard VM を一括で作成する場合、次の制限が適用されます。
A2 Ultra
- A2 Ultra マシンタイプを使用するインスタンスは、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A2 Ultra マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
- A2 Ultra マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
- インスタンスが A2 Ultra マシンタイプを使用している場合、マシンタイプを変更することはできません。別の A2 Ultra マシンタイプやその他のマシンタイプを使用するには、新しいインスタンスを作成する必要があります。
- 他のマシンタイプを A2 Ultra マシンタイプに変更することはできません。A2 Ultra マシンタイプを使用するインスタンスが必要な場合は、新しいインスタンスを作成する必要があります。
- A2 Ultra マシンタイプを使用する Windows インスタンスでは、アタッチされたローカル SSD のクイック フォーマットを行うことができません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、
format fs=ntfs label=tmpfsを指定して完全フォーマットを行う必要があります。
A2 標準
- A2 標準マシンタイプを使用するインスタンスは、継続利用割引とフレキシブル確約利用割引の対象外となります。
- A2 標準マシンタイプは、��定のリージョンとゾーンでのみ使用できます。
- A2 標準マシンタイプは、Cascade Lake プラットフォームでのみ使用できます。
- インスタンスが A2 標準マシンタイプを使用している場合は、一つの A2 標準マシンタイプから別の A2 標準マシンタイプにのみ切り替えることができます。他のマシンタイプには変更できません。詳細については、アクセラレータ最適化インスタンスを変更するをご覧ください。
a2-megagpu-16gマシンタイプでは Windows オペレーティング システムを使用できません。Windows オペレーティング システムを使用する場合は、別の A2 標準マシンタイプを選択します。- A2 標準マシンタイプを使用する Windows インスタンスでは、アタッチされたローカル SSD のクイック フォーマットを行うことができません。これらのローカル SSD をフォーマットするには、diskpart ユーティリティを使用し、
format fs=ntfs label=tmpfsを指定して完全フォーマットを行う必要があります。
MIG の制限事項
プレースメント ポリシーとサイズ変更リクエストを同時に使用することはできません。各 MIG で、次の機能のいずれかまたは両方を使用するかどうかを選択します。
- VM をコロケーションしてレイテンシを短縮する場合は、インスタンス テンプレートでコンパクト プレースメント ポリシーを使用します。
- VM を一度に作成し、取得可能性を��め、サポートされている消費オプションを選択した場合は、MIG のサイズ変更リクエストを使用します。
- コンパクト プレースメント ポリシーを使用する場合は、プレースメント ポリシーの制限事項を確認してください。
- サイズ変更リクエストを使用する場合は、サイズ変更リクエストの制限事項を確認してください。
始める前に
MIG を作成する前に、次の手順を完了します(まだ完了していない場合)。
- 使用オプションを選択する: 選択した使用オプションによって、GPU リソースの取得方法と使用方法が決まります。詳細については、使用オプションを選択するをご覧ください。
- 容量を取得する: 容量を取得するプロセスは、使用オプションごとに異なります。選択した使用オプションの容量を取得するプロセスについては、容量の概要をご覧ください。
必要なロール
MIG の作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1) (roles/compute.instanceAdmin.v1)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、MIG の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
MIG を作成するには、次の権限が必要です。
-
MIG を作成する: プロジェクトに対する
compute.instanceGroupManagers.create
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
概要
A2 マシンタイプを使用して MIG を作成する手順は次のとおりです。
- 省略可: コンパクト プレースメント ポリシーを作成する
- インスタンス テンプレートの作成
- MIG を作成する
- GPU ドライバをインストールする
- 省略可: NVIDIA マルチインスタンス GPU モードを有効にする
MIG ごとに、コンパクト プレースメント ポリシーを使用するか、サイズ変更リクエストを使用するか、どちらも使用しないかを選択する必要があります。各オプションを使用するタイミングの詳細については、このドキュメントの MIG の制限事項をご覧ください。
省略可: コンパクト プレースメント ポリシーを作成する
コンパクト プレースメント ポリシーを作成して、VM の配置を指定できます。VM にコンパクト プレースメント ポリシーを適用すると、Compute Engine は可能な限り互いに近接した VM をベスト エフォートで作成しようとします。アプリケーションがレイテンシの影響を受けやすく、最大近接性が必要な場合は、コンパクト プレースメント ポリシーを作成するときに maxDistance フィールド(プレビュー)を指定します。maxDistance の値を小さくすると、VM が近接した位置に配置されますが、一部の VM が作成されない可能性も高くなります。
gcloud
コンパクト プレースメント ポリシーを作成するには、gcloud beta compute resource-policies create group-placement コマンドを使用します。
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。MAX_DISTANCE: VM 間の最大距離構成。指定(プレビュー、推奨)または未指定(--max-distanceフラグを削除)のいずれかになります。マシンタイプでサポートされている内容に基づいて、次のいずれかの値を指定できます。- VM を同じサブブロックに配置するには:
1 - VM を同じブロックに配置するには:
2 - VM を隣接するブロックに配置するには:
3
- VM を同じサブブロックに配置するには:
REGION: コンパクト プレースメント ポリシーを作成するリージョン。インスタンスを作成するゾーンを含むリージョンを指定し、使用するマシンタイプがそのリージョンで使用可能であることを確認します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
REST
コンパクト プレースメント ポリシーを作成するには、ベータ版の resourcePolicies.insert メソッドに POST リクエストを送信します。リクエストの本文に、COLLOCATED に設定された collocation フィールドと、maxDistance フィールドを配置します。
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": MAX_DISTANCE
}
}
次のように置き換えます。
PROJECT_ID: プロジェクト ID。POLICY_NAME: コンパクト プレースメント ポリシーの名前。MAX_DISTANCE: VM 間の最大距離構成。指定(プレビュー、推奨)または未指定(maxDistanceフィールドを削除)のいずれかになります。マシンタイプでサポートされている内容に基づいて、次のいずれかの値を指定できます。- VM を同じサブブロックに配置するには:
1 - VM を同じブロックに配置するには:
2 - VM を隣接するブロックに配置するには:
3
- VM を同じサブブロックに配置するには:
REGION: コンパクト プレースメント ポリシーを作成するリージョン。インスタンスを作成するゾーンを含むリージョンを指定し、使用するマシンタイプがそのリージョンで使用可能であることを確認します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
インスタンス テンプレートの作成
インスタンス テンプレートを作成して、MIG の VM プロパティを指定します。
インスタンス テンプレートを作成するには、次のいずれかのオプションを選択します。
次のコマンドは、インスタンスのアク��ス スコープも設定します。権限管理を簡素化するには、インスタンスのアクセス スコープをcloud-platform アクセスに設定し、IAM ロールを使用してインスタンスがアクセスできるサービスを定義することをおすすめします。詳細については、スコープのベスト プラクティスをご覧ください。gcloud
リージョン インスタンス テンプレートを作成するには、gcloud compute instance-templates create コマンドを使用します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
A2 インスタンスは、次の予約タイプをサポートしています。
- オンデマンド予約
- 標準の将来の予約
これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
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=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY \
--reservation=RESERVATION
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。any(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。specific(予約容量が必要): 明示的に対象となっている予約の容量をインスタンスで使用するように要求します。インスタンスにオンデマンド容量の使用が許可されていない。予約容量が使用できない場合、インスタンスの作成は失敗します。
RESERVATION: 使用する予約。RESERVATION_AFFINITYに指定した値に基づいて、次のいずれかを指定します。anyを指定した場合は、RESERVATIONを空の文字列("")に置き換えます。または、--reservationフラグを完全に削除することもできます。specificを指定した場合は、RESERVATIONを次のように置き換えます。projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
次のように置き換えます。
RESERVATION_OWNER_PROJECT_ID: 予約が作成されたプロジェクトのプロジェクト ID。RESERVATION_NAME: 予約の名前。
デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。
--no-restart-on-failure
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
オンデマンド
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
gcloud compute 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=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--provisioning-model=STANDARD \
--maintenance-policy=TERMINATE \
--reservation-affinity=RESERVATION_AFFINITY
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。any(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。none(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。
--no-restart-on-failure
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
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=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレート���名前。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。RUN_DURATION: リクエストされた VM を実行する期間。値は、日数、時間、分、秒として指定し、その後にそれぞれd、h、m、sを続ける必要があります。たとえば、30 分の場合は30mを指定し、1 日と 2 時間 3 分 4 秒の場合は1d2h3m4sを指定します。値は 10 分~ 7 日の範囲で指定してください。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
スポット
コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。
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=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次のフラグをコマンドに追加します。
--resource-policies=POLICY_NAME
次のように置き換えます。
POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクに次の
--local-ssdフラグを追加します。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
--local-ssd interface=INTERFACE_TYPE
次のように置き換えます。
INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- コマンドを実行します。
REST
リージョン インスタンス テンプレートを作成するには、regionInstanceTemplates.insert メソッドに POST リクエストを送信します。
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。
予約
A2 インスタンスは、次の予約タイプをサポートしています。
- オンデマンド予約
- 標準の将来の予約
これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。
リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY",
"key": "compute.googleapis.com/reservation-name",
"values": [
"RESERVATION"
]
}
}
}
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。AUTOMATIC_RESTART: インスタンスがクラッシュした場合、またはメンテナンス イベントなどのプログラムによる停止のために Compute Engine がインスタンスを停止した場合に、インスタンスが自動的に再起動するかどうか。自動再起動を有効にする場合はtrue(デフォルト)、無効にする場合はfalseを指定します。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。ANY_RESERVATION(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。SPECIFIC_RESERVATION(予約容量が必要): 明示的に対象となっている予約の容量をインスタンスで使用するように要求します。インスタンスにオンデマンド容量の使用が許可されていない。予約容量が使用できない場合、インスタンスの作成は失敗します。
RESERVATION: 使用する予約。RESERVATION_AFFINITYに指定した値に基づいて、次のいずれかを指定します。ANY_RESERVATIONを指定した場合は、RESERVATIONを削除して、値が空の文字列("")になるようにします。または、keyフィールドとvaluesフィールドを完全に削除することもできます。SPECIFIC_RESERVATIONを指定した場合は、RESERVATIONを次のように置き換えます。projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
次のように置き換えます。
RESERVATION_OWNER_PROJECT_ID: 予約が作成されたプロジェクトのプロジェクト ID。RESERVATION_NAME: 予約の名前。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクの
disks[]フィールドに次のフィールドを追加します。各disks[]サブフィールド(ブートディスクを含む)をカンマで区切ります。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }次のように置き換えます。
ZONE: 指定したゾーン。INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
オンデマンド
リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"scheduling": {
"provisioningModel": "STANDARD",
"onHostMaintenance": "TERMINATE",
"automaticRestart": AUTOMATIC_RESTART
},
"reservationAffinity": {
"consumeReservationType": "RESERVATION_AFFINITY"
}
}
}
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン���使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。AUTOMATIC_RESTART: インスタンスがクラッシュした場合、またはメンテナンス イベントなどのプログラムによる停止のために Compute Engine がインスタンスを停止した場合に、インスタンスが自動的に再起動するかどうか。自動再起動を有効にする場合はtrue(デフォルト)、無効にする場合はfalseを指定します。RESERVATION_AFFINITY: インスタンスが使用できる予約(可能な場合)。次のいずれかを指定します。ANY_RESERVATION(予約容量は省略可): デフォルトのオプションです。インスタンスは、自動的に使用される予約の容量を使用しようとします。これは、一致する予約容量が使用可能な場合にのみ発生します。それ以外の場合、インスタンスはオンデマンド容量を使用します。NO_RESERVATION(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクの
disks[]フィールドに次のフィールドを追加します。各disks[]サブフィールド(ブートディスクを含む)をカンマで区切ります。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }次のように置き換えます。
ZONE: 指定したゾーン。INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
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": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)。詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。RUN_DURATION: リクエストされた VM の実行時間(秒単位)。値は600(600 秒、10 分)から604800(604,800 秒、7 日間)の範囲で指定する必要があります。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクの
disks[]フィールドに次のフィールドを追加します。各disks[]サブフィールド(ブートディスクを含む)をカンマで区切ります。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }次のように置き換えます。
ZONE: 指定したゾーン。INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
スポット
リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"diskSizeGb": "DISK_SIZE",
"diskType": "DISK_TYPE",
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode": "READ_WRITE",
"type": "PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
次の手順を行います。
-
次のように置き換えます。
INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。MACHINE_TYPE: A2 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポートされているすべてのオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。IMAGE_PROJECT: OS イメージのプロジェクト ID。REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。DISK_SIZE: ブートディスクのサイズ(GB)���詳細については、ディスクのタイプに応じて、Google Cloud Hyperdisk のサイズ上限または Persistent Disk のサイズ上限をご覧ください。DISK_TYPE: ブートディスクのタイプ。マシンタイプでサポートされているディスクタイプの詳細については、Compute Engine ドキュメントのアクセラレータ最適化マシン ファミリーの GPU マシンをご覧ください。TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)またはDELETEのいずれかです。
-
省略可: コンパクト プレースメント ポリシーを使用することを選択した場合は、次の
instancePropertiesサブフィールドをリクエスト本文に追加します。"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]次のように置き換えます。
PROJECT_ID: コンパクト プレースメント ポリシーのプロジェクト ID。REGION: コンパクト プレースメント ポリシーのリージョン。POLICY_NAME: コンパクト プレースメント ポリシーの名前。
-
省略可: A2 標準マシンタイプを指定し、ローカル SSD ディスクをアタッチする場合は、各ローカル SSD ディスクの
disks[]フィールドに次のフィールドを追加します。各disks[]サブフィールド(ブートディスクを含む)をカンマで区切ります。アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。
{ "type": "SCRATCH", "initializeParams": { "diskType": "zones/ZONE/diskTypes/local-ssd" }, "autoDelete": true, "interface": "INTERFACE_TYPE" }次のように置き換えます。
ZONE: 指定したゾーン。INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVMEを指定します。他のイメージの場合はSCSIを指定します。
ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。
- リクエストを送信します。
インスタンス テンプレートを作成したら、表示して 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 またはリージョン MIG を次のように作成します。
- ゾーン MIG を作成するには、次のコマンドを使用します。
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --zone=ZONE
- リージョン MIG を作成するには、次のコマンドを使用します。
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --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 に含めるインスタンスの数。ZONE: MIG を作成するゾーン。REGION: MIG を作成するリージョン。リージョン MIG の場合は、リージョンの代わりに、--zonesフラグを使用してそのリージョンのゾーンを指定できます。
REST
指定したターゲット サイズで MIG を作成するには、POST リクエストを送信します。
ゾーン 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 } - リージョン 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 }
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 に含めるインスタンスの数。
MIG とサイズ変更リクエストを作成する
ジョブの開始に複数の VM が一度に必要な場合は、MIG を作成し、このセクションで説明するように MIG でサイズ変更リクエストを作成します。
MIG でサイズ変更リクエストを作成するには、次のいずれかのオプションを選択します。
gcloud
指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションのプロビジョニング モデルに対応するタブを選択します。
予約
次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。
-
ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してゾーン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --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 \ --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 またはリージョン MIG とサイズ変更リクエストを作成します。
-
ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してゾーン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --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 \ --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 \ --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 \ --region=REGION \ --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 またはリージョン MIG とサイズ変更リクエストを作成します。
-
ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
-
次のように、
instance-groups managed createコマンドを使用してゾーン MIG を作成します。gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --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 \ --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
- リージョン インスタンス テンプレートの場合:
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 またはリージョン 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 } - 次のように、
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" } } - 次のように、
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 またはリージョン 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 } - 次のように、
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" } } - 次のように、
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" } } - 次のように、
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" } } - 次のように、
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 またはリージョン 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 } - 次のように、
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" } } - 次のように、
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 の名前。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 ドライバをインストールするをご覧ください。