GPU を使用して AI 最適化 N1 MIG を作成する

このドキュメントでは、GPU が接続された N1 シリーズを使用するマネージド インスタンス グループ(MIG)を作成する方法について説明します。これらのマシンタイプの詳細については、N1 シリーズをご覧ください。

MIG を作成すると、複数の仮想マシン(VM)を単一のエンティティとして管理できます。MIG 内の各 VM はインスタンス テンプレートに基づいています。MIG はグループ内の VM を自動的に管理することで、高可用性とスケーラビリティを実現します。MIG の詳細については、Compute Engine ドキュメントのマネージド インスタンス グループをご覧ください。

VM またはクラスタを作成するその他の方法については、デプロイ オプションの概要をご覧ください。

制限事項

GPU を使用する N1 VM を使用して MIG を作成する場合は、マシンタイプと MIG の両方の制限事項を考慮してください。

GPU を使用する N1 VM の制限事項

GPU を使用する N1 マシンタイプに適用される制限事項については、次のすべてをご覧ください。

MIG の制限事項

始める前に

MIG を作成する前に、次の手順を完了します(まだ完了していない場合)。

  1. 使用オプションを選択する: 選択した使用オプションによって、GPU リソースの取得方法と使用方法が決まります。詳細については、使用オプションを選択するをご覧ください。
  2. 容量を取得する: 容量を取得するプロセスは、使用オプションごとに異なります。選択した使用オプションの容量を取得するプロセスについては、容量の概要をご覧ください。

必要なロール

MIG の作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1) roles/compute.instanceAdmin.v1)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、MIG の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

MIG を作成するには、次の権限が必要です。

  • MIG を作成する: プロジェクトに対する compute.instanceGroupManagers.create

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

概要

T4 または V100 GPU を使用する N1 マシンタイプで MIG を作成する手順は次のとおりです。

  1. インスタンス テンプレートの作成
  2. MIG を作成する
  3. GPU ドライバをインストールする

インスタンス テンプレートの作成

インスタンス テンプレートを作成して、MIG の VM プロパティを指定します。

インスタンス テンプレートを作成するには、次のいずれかのオプションを選択します。

次のコマンドは、インスタンスのアクセス スコープも設定します。権限管理を簡素化するには、インスタンスのアクセス スコープを cloud-platform アクセスに設定し、IAM ロールを使用してインスタンスがアクセスできるサービスを定義することをおすすめします。詳細については、スコープのベスト プラクティスをご覧ください。

gcloud

リージョン インスタンス テンプレートを作成するには、gcloud compute instance-templates create コマンドを使用します。

指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。

予約

T4 または V100 GPU を搭載した N1 インスタンスは、次の予約タイプをサポートしています。

  • オンデマンド予約
  • 標準の将来の予約

これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。

コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --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

次の手順を行います。

  1. 次のように置き換えます。

    • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
    • MACHINE_TYPE: T4 または V100 GPU を使用する N1 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。
    • ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。
    • ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 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: 予約の名前。
  2. デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。

    --no-restart-on-failure
  3. 省略可: ローカル SSD ディスクをアタッチするには、ローカル SSD ディスクに次の --local-ssd フラグを追加します。

    アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。

    --local-ssd interface=INTERFACE_TYPE
    

    次のように置き換えます。

    • INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVME を指定します。他のイメージの場合は SCSI を指定します。

    ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。

  4. コマンドを実行します。

オンデマンド

コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --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

次の手順を行います。

  1. 次のように置き換えます。

    • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
    • MACHINE_TYPE: T4 または V100 GPU を使用する N1 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。
    • ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。
    • ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 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(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。

  2. デフォルトでは、インスタンスがクラッシュした場合、または Compute Engine がメンテナンス イベントなどのプログラムによる停止のためにインスタンスを停止した場合、インスタンスは自動的に再起動します。自動再起動を無効にする場合は、次のフラグを追加します。

    --no-restart-on-failure
  3. 省略可: ローカル SSD ディスクをアタッチするには、ローカル SSD ディスクに次の --local-ssd フラグを追加します。

    アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。

    --local-ssd interface=INTERFACE_TYPE
    

    次のように置き換えます。

    • INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVME を指定します。他のイメージの場合は SCSI を指定します。

    ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。

  4. コマンドを実行します。

Flex Start

コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --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 \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

次の手順を行います。

  1. 次のように置き換えます。

    • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
    • MACHINE_TYPE: T4 または V100 GPU を使用する N1 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。
    • ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。
    • ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 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 を実行する期間。値は、日数、時間、分、秒として指定し、その後にそれぞれ dhms を続ける必要があります。たとえば、30 分の場合は 30m を指定し、1 日と 2 時間 3 分 4 秒の場合は 1d2h3m4s を指定します。値は 10 分~ 7 日の範囲で指定してください。
  2. 省略可: ローカル SSD ディスクをアタッチするには、ローカル SSD ディスクに次の --local-ssd フラグを追加します。

    アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。

    --local-ssd interface=INTERFACE_TYPE
    

    次のように置き換えます。

    • INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVME を指定します。他のイメージの場合は SCSI を指定します。

    ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。

  3. コマンドを実行します。

スポット

コマンドを実行する前に、次のすべての手順を確認して、追加のフラグを含めるかどうかを判断します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --accelerator=type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --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

次の手順を行います。

  1. 次のように置き換えます。

    • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
    • MACHINE_TYPE: T4 または V100 GPU を使用する N1 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。
    • ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。
    • ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 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 のいずれかです。

  2. 省略可: ローカル SSD ディスクをアタッチするには、ローカル SSD ディスクに次の --local-ssd フラグを追加します。

    アタッチするローカル SSD ディスクの数がマシンタイプで許可されていることを確認します。詳細については、Compute Engine ドキュメントのローカル SSD ディスクについてをご覧ください。

    --local-ssd interface=INTERFACE_TYPE
    

    次のように置き換えます。

    • INTERFACE_TYPE: ローカル SSD ディスクに使用するディスク インターフェースのタイプ。ブートディスク イメージに最適化された NVMe ドライバがある場合は、NVME を指定します。他のイメージの場合は SCSI を指定します。

    ローカル SSD ディスクを使用して VM を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。

  3. コマンドを実行します。

REST

リージョン インスタンス テンプレートを作成するには、regionInstanceTemplates.insert メソッドPOST リクエストを送信します。

指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションに対応するタブを選択します。

予約

T4 または V100 GPU を搭載した N1 インスタンスは、次の予約タイプをサポートしています。

  • オンデマンド予約
  • 標準の将来の予約

これらのタイプの予約を使用するには、インスタンスが標準プロビジョニング モデルを使用する必要があります。たとえば、次の作成パラメータを使用します。

リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators": [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_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"
    ]
  }
  }
}

次の手順を行います。

  1. 次のように置き換えます。

    • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
    • MACHINE_TYPE: T4 または V100 GPU を使用する N1 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。
    • ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。
    • ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 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: 予約の名前。
  2. 省略可: ローカル 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 を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。

  3. リクエストを送信します。

オンデマンド

リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators": [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_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"
  }
  }
}

次の手順を行います。

  1. 次のように置き換えます。

    • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
    • MACHINE_TYPE: T4 または V100 GPU を使用する N1 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。
    • ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。
    • ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 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(オンデマンド容量が必要): インスタンスが予約容量を使用できないようにします。

  2. 省略可: ローカル 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 を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。

  3. リクエストを送信します。

Flex Start

リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators": [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_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"
        ]
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

次の手順を行います。

  1. 次のように置き換えます。

    • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
    • MACHINE_TYPE: T4 または V100 GPU を使用する N1 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。
    • ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。
    • ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 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 日間)の範囲で指定する必要があります。
  2. 省略可: ローカル 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 を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。

  3. リクエストを送信します。

スポット

リクエストを送信する前に、次のすべての手順を確認して、追加のフィールドを含めるかどうかを判断します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "machineType": "MACHINE_TYPE",
    "guestAccelerators": [
      {
        "acceleratorCount": ACCELERATOR_COUNT,
        "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/ACCELERATOR_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
    }
  }
}

次の手順を行います。

  1. 次のように置き換えます。

    • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
    • MACHINE_TYPE: T4 または V100 GPU を使用する N1 インスタンスに使用するマシンタイプ。詳細については、Compute Engine ドキュメントの GPU マシンタイプをご覧ください。
    • ACCELERATOR_COUNT: N1 VM にアタッチする GPU の数。VM のマシンタイプに基づく GPU の上限のリストについては、Compute Engine ドキュメントの N1 GPU に関する情報をご覧ください。
    • ACCELERATOR_TYPE: 使用する N1 VM のアクセラレータ タイプ。AI ワークロードには、T4 または V100 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 のいずれかです。

  2. 省略可: ローカル 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 を作成したら、使用する前に各デバイスをフォーマットしてマウントする必要があります。

  3. リクエストを送信します。

インスタンス テンプレートを作成したら、表示して 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 またはリージョン MIG とサイズ変更リクエストを作成します。

Flex Start

次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。

  • ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。

    1. 次のように、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
      
    2. 次のように、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 とそのサイズ変更リクエストを作成するには、次の操作を行います。

    1. 次のように、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
        
    2. 次のように、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_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-3

REST

指定する必要があるパラメータは、このデプロイで使用している使用オプションによって異なります。使用オプションのプロビジョニング モデルに対応するタブを選択します。

予約

次のように、ゾーン MIG またはリージョン MIG とサイズ変更リクエストを作成します。

  • ゾーン MIG とそのサイズ変更リクエストを作成するには、次の操作を行います。
    1. 次のように、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
      }
      
    2. 次のように、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 とそのサイズ変更リクエストを作成するには、次の操作を行います。
    1. 次のように、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"
        }
      }
      
    2. 次のように、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 とそのサイズ変更リクエストを作成するには、次の操作を行います。
    1. 次のように、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
      }
      
    2. 次のように、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 とそのサイズ変更リクエストを作成するには、次の操作を行います。
    1. 次のように、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"
        }
      }
      
    2. 次のように、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 とそのサイズ変更リクエストを作成するには、次の操作を行います。
    1. 次のように、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"
        }
      }
      
    2. 次のように、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 とそのサイズ変更リクエストを作成するには、次の操作を行います。
    1. 次のように、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"
        }
      }
      
    2. 次のように、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 とそのサイズ変更リクエストを作成するには、次の操作を行います。
    1. 次のように、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
      }
      
    2. 次のように、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 とそのサイズ変更リクエストを作成するには、次の操作を行います。
    1. 次のように、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"
        }
      }
      
    2. 次のように、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 名を使用してサイズ変更リクエストを作成するには、次のいずれかの方法を使用します。

たとえば、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 を使用することはできません。インストールする必要があるドライバは、インスタンスで NVIDIA RTX 仮想ワークステーション(vWS)が有効になっているかどうかによって異なります。次のいずれかのオプションを使用します。

次のステップ