このドキュメントでは、GPU が関連付けられている仮想マシン(VM)インスタンスのマネージド インスタンス グループ(MIG)でサイズ変更リクエストを作成する方法について説明します。サイズ変更リクエストの詳細については、MIG のサイズ変更リクエストについてをご覧ください。
MIG サイズ変更リクエストを作成すると、GPU などの需要の高いリソースを取得し、正確な数の VM を一度に作成して費用を最適化できます。Cluster Director で利用可能な機能とサービスを使用できる MIG サイズ変更リクエストを作成するには、AI Hypercomputer のドキュメントで MIG とサイズ変更リクエストを作成するをご覧ください。
始める前に
- リクエストするリソースに十分な GPU 割り当てがあることを確認するには、GPU 割り当てを確認するをご覧ください。
-
まだ設定していない場合は、認証を設定します。認証とは、 Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
インスタンス テンプレートを作成する: プロジェクトに対する
compute.instanceTemplates.create
-
ゾーン MIG を作成する: プロジェクトに対する
compute.instanceGroupManagers.create
-
MIG のサイズ変更リクエストを作成する: プロジェクトに対する
compute.instanceGroupManagers.update
ホスト メンテナンス イベント中に VM を停止します。
実行期間の終了時に VM を削除します。
予約は使用しないでください。
Flex Start プロビジョニング モデルを使用します。
Google Cloud コンソールで、[インスタンス テンプレート] ページに移動します。
[インスタンス テンプレートを作成] をクリックします。[インスタンス テンプレートの作成] ページが開きます。
[名前] フィールドに、インスタンス テンプレートの名前を入力します。
[ロケーション] セクションで、次のいずれかのオプションを選択します。
リージョン インスタンス テンプレートを作成するには、[リージョン(推奨)] を選択し、テンプレートを作成するリージョンを選択します。
グローバル インスタンス テンプレートを作成するには、[グローバル] を選択します。
[マシンの構成] セクションで、次の操作を行います。
[GPU] タブをクリックします。
[GPU のタイプ] リストで、GPU のタイプを選択します。
[GPU の数] リストで、GPU の数を選択します。
省略可: GPU モデルがグラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)グラフィックを多用するワークロードを実行する場合は、仮想ワークステーション(NVIDIA GRID)を有効にするをご覧ください。
[マシンタイプ] セクションでマシンタイプを選択します。
[プロビジョニング モデル] セクションで、次の操作を行います。
[VM プロビジョニング モデル] リストで、[Flex Start] を選択します。
インスタンス テンプレートによって作成される VM の実行時間を設定するには、[時間を入力] フィールドに時間数を入力します。値は 1 時間(
1
)~7 日間(168
)の範囲で指定してください。
省略可: デフォルト値のブートディスクのタイプまたはイメージを変更するには、[ブートディスク] セクションで [変更] をクリックします。プロンプトに従ってブートディスクを変更します。
[作成] をクリックします。
--maintenance-policy
フラグ。TERMINATE
に設定します。--instance-termination-action
フラグ。DELETE
に設定します。--max-run-duration
フラグ。--provisioning-model
フラグ。FLEX_START
に設定します。--reservation-affinity
フラグ。none
に設定します。INSTANCE_TEMPLATE_NAME
: 作成するインスタンス テンプレートの名前。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト。例:debian-cloud
サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE_FAMILY
: イメージ ファミリー。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、debian-12
を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。REGION
: インスタンス テンプレートを作成するリージョン。MACHINE_TYPE
: GPU マシンタイプ。N1 マシンタイプを指定する場合は、--accelerator
フラグを設定して、VM にアタッチする GPU の数とタイプを定義します。RUN_DURATION
: リクエストされた VM を実行する期間。値は、日数、時間、分、秒として指定し、その後にそれぞれd
、h
、m
、s
を続ける必要があります。たとえば、30 分の場合は30m
を指定し、1 日と 2 時間 3 分 4 秒の場合は1d2h3m4s
を指定します。値は 10 分~7 日の範囲で指定してください。リージョン インスタンス テンプレートを作成する:
beta.regionInstanceTemplates.insert
メソッドグローバル インスタンス テンプレートを作成する:
beta.instanceTemplates.insert
メソッドscheduling.onHostMaintenance
フィールド。TERMINATE
に設定します。scheduling.instanceTerminationAction
フィールド。DELETE
に設定します。scheduling.maxRunDuration
フィールド。scheduling.provisioningModel
フィールド。FLEX_START
に設定します。reservationAffinity.consumeReservationType
フィールド。NO_RESERVATION
に設定します。PROJECT_ID
: インスタンス テンプレートを作成するプロジェクトの ID。REGION
: インスタンス テンプレートを作成するリージョン。INSTANCE_TEMPLATE_NAME
: 作成するインスタンス テンプレートの名前。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト。例:debian-cloud
サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE
: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617
。イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12
を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
MACHINE_TYPE
: GPU マシンタイプ。N1 マシンタイプを指定する場合は、リクエスト本文にguestAccelerators
フィールドを含めて、VM に関連付けられる GPU の数とタイプを定義します。RUN_DURATION
: リクエストされた VM の実行時間(秒単位)。値は600
(600 秒、10 分)から604800
(604,800 秒、7 日間)の範囲で指定する必要があります。MIG の更新タイプを追従型に設定する(デフォルト)。
MIG で自動スケーリングを構成している場合は、自動スケーリングの構成を削除します。
リージョン MIG を使用している場合は、ターゲット分配形態を設定して
ANY_SINGLE_ZONE
にします。Google Cloud コンソールで、[インスタンス グループ] ページに移動します。
[インスタンス グループを作成] をクリックします。[インスタンス グループの作成] ページが開きます。
[名前] フィールドに、MIG の名前を入力します。
インスタンス テンプレートを選択する前に、自動スケーリングの構成を削除し、次のように修復を無効にする必要があります。
自動スケーリング構成を削除するには、次の操作を行います。
[自動スケーリング] セクションで、[自動スケーリング モード] リストをクリックし、[自動スケーリングの構成を削除] をクリックします。
確認ダイアログで [削除] をクリックします。
修復を無効にするには、[VM インスタンスのライフサイクル] セクションで、[障害発生時のデフォルトのアクション] リストをクリックして、[アクションなし] を選択します。
[インスタンス テンプレート] フィールドに戻ります。[インスタンス テンプレート] リストで、前のセクションで作成したインスタンス テンプレートを選択します。リージョン インスタンス テンプレートを選択すると、[リージョン] リストはテンプレートのリージョンに設定されます。
次のいずれかを行います。
MIG の作成時にサイズ変更リクエストを作成するには、次の操作を行います。
[インスタンス数] フィールドに、一度に作成する VM の数を入力します。
[サイズ変更リクエストを使用して VM を一度に作成する] チェックボックスを選択します。
省略可: インスタンス テンプレートで設定された実行時間とは異なる実行時間を VM に指定するには、[リクエストされた実行時間] フィールドと [単位] リストで期間を指定します。期間は 1 時間~7 日の範囲で指定してください。
MIG の作成後にサイズ変更リクエストを作成するには、[インスタンス数] フィールドに「
0
」と入力します。
[ロケーション] セクションで、ゾーン MIG またはリージョン MIG を作成するかどうかを次のように指定します。
ゾーン MIG を作成するには、[単一ゾーン] を選択します。リージョン MIG を作成する場合は、[マルチゾーン] を選択します。
MIG のリージョンとゾーンを選択します。
リージョン MIG を作成する場合は、次の操作を行います。
[ターゲット分配形態] フィールドで、[任意のシングルゾーン] を選択します。
表示されたダイアログで、[インスタンスの再分配を無効化] をクリックします。
[作成] をクリックします。
ゾーン MIG を作成するには、次のコマンドを実行します。
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
リージョン MIG を作成するには、次のコマンドを実行します。
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --region=REGION \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none \ --default-action-on-vm-failure=do_nothing
INSTANCE_GROUP_NAME
: 作成する MIG の名前。INSTANCE_TEMPLATE_URL
: 前のセクションで作成したインスタンス テンプレートの部分的な URL。リージョン インスタンス テンプレートを使用して MIG を作成する場合は、テンプレートのリージョン内にのみ MIG を作成できます。次のいずれかの値を指定します。リージョン インスタンス テンプレートの場合:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
グローバル インスタンス テンプレートの場合:
INSTANCE_TEMPLATE_NAME
ZONE
: MIG を作成するゾーン。REGION
: MIG を作成するリージョン。ゾーン MIG を作成するには、次のように
instanceGroupManagers.insert
メソッドを使用してPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
リージョン MIG を作成するには、次のように
regionInstanceGroupManagers.insert
メソッドを使用してPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
PROJECT_ID
: 前のセクションで作成したインスタンス テンプレートが存在するプロジェクトの ID。INSTANCE_TEMPLATE_URL
: 前のセクションで作成したインスタンス テンプレートの部分的な URL。リージョン インスタンス テンプレートを使用して MIG を作成する場合は、テンプレートのリージョン内にのみ MIG を作成できます。次のいずれかの値を指定します。リージョン インスタンス テンプレートの場合:
regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
グローバル インスタンス テンプレートの場合:
global/instanceTemplates/INSTANCE_TEMPLATE_NAME
ZONE
: MIG を作成するゾーン。REGION
: MIG を作成するリージョン。INSTANCE_GROUP_NAME
: 作成する MIG の名前。Google Cloud コンソールで、[インスタンス グループ] ページに移動します。
[名前] 列で、サイズ変更リクエストを作成する MIG の名前をクリックします。
MIG の概要ページが開きます。
[サイズ変更リクエスト] 行で、
[サイズ変更リクエストを編集] をクリックします。[
サイズ変更の新規リクエスト] をクリックします。[サイズ変更の新規リクエスト] ペインが表示されます。
[名前] フィールドに、サイズ変更リクエストの名前を入力します。
[必要な追加インスタンス数] フィールドに、一度に MIG に追加する VM の数を入力します。
省略可: インスタンス テンプレートで設定された実行時間とは異なる実行時間を VM に指定するには、[リクエストされた実行時間] フィールドと [単位] フィールドで期間を指定します。期間は 1 時間~7 日の範囲で指定してください。
[作成] をクリックします。
ゾーン MIG にサイズ変更リクエストを作成するには、
instance-groups managed resize-requests create
コマンドを使用します。gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
リージョン MIG にサイズ変更リクエストを作成するには、
beta instance-groups managed resize-requests create
コマンドを使用します。gcloud beta compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
INSTANCE_GROUP_NAME
: サイズ変更リクエストを作成するために構成された MIG の名前。RESIZE_REQUEST_NAME
: サイズ変更リクエストの名前。指定された MIG 内で一意である必要があります。それ以外の場合、サイズ変更リクエストは作成されません。COUNT
: MIG に一度に追加する VM の数。ZONE
: MIG が存在するゾーン。REGION
: MIG が存在するリージョン。MIG のインスタンス テンプレートで設定された実行期間と異なる実行期間を VM に指定する場合は、
--requested-run-duration
フラグを使用します。ワークロードで特定の VM 名が必要な場合は、
beta instance-groups managed resize-requests create
コマンドを使用して、作成する VM の名前のリストを指定できます。コマンドの--resize-request
フラグを--instances
フラグに置き換えます。ゾーン MIG でサイズ変更リクエストを作成するには、
instanceGroupManagerResizeRequests.insert
メソッドを使用してPOST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
リージョン MIG でサイズ変更リクエストを作成するには、
beta.regionInstanceGroupManagerResizeRequests.insert
メソッドを使用してPOST
リクエストを送信します。PROJECT_ID
: 指定した MIG が存在するプロジェクトの ID。ZONE
: MIG が存在するゾーン。REGION
: MIG が存在するリージョン。INSTANCE_GROUP_NAME
: サイズ変更リクエストを作成するために構成された MIG の名前。RESIZE_REQUEST_NAME
: サイズ変更リクエストの名前。指定された MIG 内で一意である必要があります。それ以外の場合、サイズ変更リクエストは作成されません。COUNT
: MIG に一度に追加する VM の数。MIG のインスタンス テンプレートで設定された実行時間と異なる実行時間を VM に指定する場合は、リクエスト本文に
requestedRunDuration
フィールドを含めます。ワークロードに特定の VM 名が必要な場合は、作成する VM の名前のリストを指定できます。これを行うには、リージョン MIG の場合は
beta.regionInstanceGroupManagerResizeRequests.insert
メソッド、ゾーン MIG の場合はbeta.instanceGroupManagerResizeRequests.insert
メソッドにPOST
リクエストを送信します。リクエスト本文で、resizeBy
フィールドをinstanceNames
フィールドに置き換えます。MIG でサイズ変更リクエストを表示、キャンセル、削除する方法を確認する。
MIG とマネージド VM に関する情報を表示する方法を確認する。
- VM と GPU の実際の使用量と予測される使用量を表示する方法を確認する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
MIG サイズ変更リクエストの作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、MIG サイズ変更リクエストの作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
MIG サイズ変更リクエストを作成するには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
サイズ変更リクエスト用に MIG を準備する
MIG のサイズ変更リクエストを作成するには、次のセクションで説明するように、インスタンス テンプレートと MIG を構成する必要があります。
インスタンス テンプレートを作成する
MIG サイズ変更リクエストを作成するように構成されたインスタンス テンプレートを作成するには、テンプレートで次の項目を指定します。
MIG サイズ変更リクエストを作成するように構成されたインスタンス テンプレートを作成するには、次のいずれかのオプションを選択します。
コンソール
gcloud
MIG サイズ変更リクエストを作成するように構成されたインスタンス テンプレートを作成するには、次のフラグを指定して
beta instance-templates create
コマンドを使用します。次のコマンドは、リージョン インスタンス テンプレートを作成します。グローバル インスタンス テンプレートを作成するには、
--instance-template-region
フラグを使用せずに同じコマンドを使用します。gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --instance-termination-action=DELETE \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --max-run-duration=RUN_DURATION \ --provisioning-model=FLEX_START \ --reservation-affinity=none
次のように置き換えます。
REST
MIG でサイズ変更リクエストを作成するように構成されたインスタンス テンプレートを作成するには、次のいずれかのメソッドに
POST
リクエストを送信します。リクエスト本文で、次のフィールドを指定します。
たとえば、リージョン インスタンス テンプレートを作成するには、次のように
POST
リクエストを送信します。POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "scheduling": { "instanceTerminationAction": "DELETE", "maxRunDuration": { "seconds": RUN_DURATION }, "onHostMaintenance": "TERMINATE", "provisioningModel": "FLEX_START" } } }
次のように置き換えます。
インスタンス テンプレートの作成の詳細については、インスタンス テンプレートを作成するをご覧ください。
MIG を作成または更新する
前のセクションの説明に従ってインスタンス テンプレートを作成したら、そのインスタンス テンプレートを使用して次のように MIG を作成するか、MIG を更新します。また、サイズ変更リクエスト用に MIG を準備するには、次のことを行う必要があります。
サイズ変更リクエストと互換性のある MIG を作成するには、次のいずれかのオプションを選択します。
コンソール
gcloud
--default-action-on-vm-failure
フラグをdo_nothing
に設定してinstance-groups managed create
コマンドを使用します。リージョン MIG を作成する場合は、--target-distribution-shape
フラグをany-single-zone
に設定し、--instance-redistribution-type
フラグをnone
に設定することも必要です。次のように置き換えます。
REST
次のように置き換えます。
MIG でサイズ変更リクエストを作成する
MIG サイズ変更リクエストを作成する前に、前のセクションの説明に従って MIG を準備してください。
サイズ変更リクエストを作成し、リクエストされたすべてのリソースが使用可能になると、MIG はリクエストされた数の VM を一度に作成します。VM は、指定された実行期間の終了後に MIG によって削除されるまで、またはユーザーがそれらを削除するまで実行されます。
MIG でサイズ変更リクエストを作成するには、次のいずれかのオプションを選択します。サイズ変更リクエストで特定の名前の VM を MIG に追加するには、gcloud CLI または REST API を使用します。
コンソール
gcloud
次のように置き換えます。
必要に応じて、次の設定を行います。
REST
リクエスト本文に、次のものを含めます。
{ "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
次のように置き換えます。
必要に応じて、次の設定を行います。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-10 UTC。
-