A4 または A3 Ultra マシンタイプを使用して AI 最適化 MIG を作成する

このドキュメントでは、A4 または A3 Ultra マシンタイプを使用するマネージド インスタンス グループ(MIG)を作成する方法について説明します。これらのアクセラレータ最適化マシンタイプの詳細については、A4 または A3 Ultra をご覧ください。

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

VM またはクラスタを作成する他の方法については、VM とクラスタの作成の概要をご覧ください。

制限事項

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

A4 VM または A3 Ultra VM の制限事項

MIG の VM で使用されるマシンシリーズに応じて、次の制限が適用されます。

A4

  • A4 マシンタイプを使用するインスタンスは、継続利用割引フレキシブル確約利用割引の対象外となります。
  • A4 マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
  • Persistent Disk(リージョンまたはゾーン)は使用できません。Google Cloud Hyperdisk のみを使用できます。
  • A4 マシンタイプは、Emerald Rapids CPU プラットフォームでのみ使用できます。
  • インスタンスのマシンタイプを A4 マシンタイプに変更することはできません。このマシンタイプで新しいインスタンスを作成する必要があります。
  • A4 マシンタイプは、単一テナンシーをサポートしません。
  • A4 マシンタイプでは Windows オペレーティング システムを実行できません。
  • A4 インスタンスで ethtool -S を使用して GPU ネットワーキングをモニタリングすると、_phy で終わる物理ポート カウンタが更新されません。これは、MRDMA 仮想関数(VF)アーキテクチャを使用するインスタンスの想定される動作です。詳細については、MRDMA 関数とネットワーク モニタリング ツールをご覧ください。
  • 2026 年 2 月 4 日より前に作成された Hyperdisk ML ディスクを A4 マシンタイプにアタッチすることはできません。

A3 Ultra

  • A3 Ultra マシンタイプを使用するインスタンスは、継続利用割引フレキシブル確約利用割引の対象外となります。
  • A3 Ultra マシンタイプは、特定のリージョンとゾーンでのみ使用できます。
  • Persistent Disk(リージョンまたはゾーン)は使用できません。Google Cloud Hyperdisk のみを使用できます。
  • A3 Ultra マシンタイプは、Emerald Rapids CPU プラットフォームでのみ使用できます。
  • A3 Ultra マシンタイプでは、マシンタイプの変更はサポートされていません。このマシンタイプに切り替えるには、新しいインスタンスを作成する必要があります。
  • A3 Ultra マシンタイプでは Windows オペレーティング システムを実行できません。
  • A3 Ultra マシンタイプは、単一テナンシーをサポートしません。
  • A3 Ultra インスタンスで ethtool -S を使用して GPU ネットワーキングをモニタリングすると、_phy で終わる物理ポート カウンタが更新されません。これは、MRDMA 仮想関数(VF)アーキテクチャを使用するインスタンスの想定される動作です。詳細については、MRDMA 関数とネットワーク モニタリング ツールをご覧ください。

MIG の制限事項

A4 または A3 Ultra VM を使用して MIG を作成する場合、次の制限が適用されます。

  • MIG に使用するインスタンス テンプレートで Flex Start プロビジョニング モデルが指定されている場合、次の制限が適用されます。

    • VM を MIG に追加できるのは、サイズ変更リクエストを使用する場合のみです。

    • ワークロード ポリシーを MIG に適用することはできません。

    • MIG で修復をオフにする必要があります。

  • リージョン MIG を作成すると、MIG は VPC ネットワークのプロファイルを含むゾーンにのみ VM を作成できます。

  • MIG でインスタンスの柔軟性を構成することはできません。

  • ワークロード ポリシーを MIG に適用すると、グループに VM が含まれている場合、MIG でポリシーを変更できません。VM がある MIG のポリシーを変更するには、まず MIG のサイズを 0 に変更する必要があります。

  • プレースメント ポリシーを指定するインスタンス テンプレートを使用して、ワークロード ポリシーを使用する MIG を作成することはできません。

  • MIG サイズ変更リクエストを作成する際には、次の制限が適用されます。

    • リージョン MIG では、ANY_SINGLE_ZONE ターゲット分配形態プレビュー)のみを使用できます。他の分配形態はサポートされていません。

    • MIG のスタンバイ プールモードmanual(デフォルト)にのみ設定できます。

    • 自動スケーリングを設定することはできません。

    • MIG に承認済みのサイズ変更リクエストが含まれている場合、次のことはできません。

    • MIG がサイズ変更リクエスト用に作成した CREATING ステータスのマネージド インスタンスは削除または破棄できません。これらのマネージド インスタンスを削除するには、サイズ変更リクエストをキャンセルする必要があります。

始める前に

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

  1. 使用オプションを選択する: 選択した使用オプションによって、GPU リソースの取得方法と使用方法が決まります。

    詳細については、使用オプションを選択するをご覧ください。

  2. 容量を取得する: 容量を取得するプロセスは、使用オプションごとに異なります。

    選択した使用オプションの容量を取得するプロセスについては、容量の概要をご覧ください。

必要なロール

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

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

必要な権限

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

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

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

概要

A4 マシンタイプまたは A3 Ultra マシンタイプを使用して MIG を作成する手順は次のとおりです。

  1. VPC ネットワークを作成する
  2. 省略可: ワークロード ポリシーを作成する
  3. インスタンス テンプレートを作成する
  4. MIG を作成する

VPC ネットワークを作成する

A4 マシンタイプまたは A3 Ultra マシンタイプのネットワークを設定するには、次のネットワーク インターフェース用に 3 つの VPC ネットワークを作成します。

  • gVNIC ネットワーク インターフェース(NIC)用の 2 つの標準 VPC ネットワーク。ホスト間通信に使用されます。
  • CX-7 NIC には、RoCE ネットワーク プロファイルを持つ 1 つの VPC ネットワークが必要です。RoCE VPC ネットワークには、8 個のサブネット(CX-7 NIC ごとに 1 個のサブネット)が必要です。これらの NIC は RDMA over Converged Ethernet(RoCE)を使用し、GPU 間通信に不可欠な高帯域幅で低レイテンシの通信を提供します。

NIC の配置の詳細については、ネットワーク帯域幅と NIC の配置を確認するをご覧ください。

手順ガイドに沿って、手動または自動(提供されたスクリプト)でネットワークを作成します。

手順ガイド

ネットワークを作成するには、次の操作を行います。

これらの VPC ネットワークでは、最大伝送単位(MTU)をより大きい値に設定することをおすすめします。A4 マシンタイプまたは A3 Ultra マシンタイプの場合、推奨される MTU は 8896 バイトです。他の GPU マシンタイプの推奨 MTU 設定を確認するには、GPU マシンタイプの MTU 設定をご覧ください。

スクリプト

ネットワークを作成する手順は次のとおりです。

これらの VPC ネットワークでは、最大伝送単位(MTU)をより大きい値に設定することをおすすめします。A4 マシンタイプまたは A3 Ultra マシンタイプの場合、推奨される MTU は 8896 バイトです。他の GPU マシンタイプの推奨 MTU 設定を確認するには、GPU マシンタイプの MTU 設定をご覧ください。

  1. 次のスクリプトを使用して、gVNIC と CX-7 NIC の VPC ネットワークを作成します。

      
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=10.0.0.0/8
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for CX-7
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 7); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
        done
    
      

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

    • GVNIC_NAME_PREFIX: gVNIC の標準 VPC ネットワークとサブネットに使用するカスタム名の接頭辞。
    • RDMA_NAME_PREFIX: CX-7 NIC の RoCE VPC ネットワークとサブネットに使用するカスタム名の接頭辞。
    • ZONE: 使用するマシンタイプが使用可能なゾーン(us-central1-a など)を指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
    • REGION: サブネットを作成するリージョン。このリージョンは、指定したゾーンに対応している必要があります。たとえば、ゾーンが us-central1-a の場合、リージョンは us-central1 です。
    • IP_RANGE: SSH ファイアウォール ルールに使用する IP 範囲。
  2. 省略可: VPC ネットワーク リソースが正常に作成されたことを確認するには、 Google Cloud コンソールでネットワーク設定を確認します。
    1. Google Cloud コンソールで、[VPC ネットワーク] ページに移動します。

      [VPC ネットワーク] に移動

    2. リストで、前の手順で作成したネットワークを検索します。
    3. サブネット、ファイアウォール ルール、その他のネットワーク設定を表示するには、ネットワークの名前をクリックします。

省略可: ワークロード ポリシーを作成する

Flex Start 消費オプションの場合は、このセクションをスキップして、インスタンス テンプレートの作成に進みます。制限事項により、Flex Start プロビジョニング モデルではワークロード ポリシーはサポートされていません。

ワークロード ポリシーを作成して、VM の配置を指定できます。ワークロード ポリシーがすでに存在する場合は、再利用できます。ワークロード ポリシーを MIG に適用すると、Compute Engine は可能な限り互いに近接した VM をベスト エフォートで作成しようとします。アプリケーションがレイテンシの影響を受けやすく、VM を互いに近接した位置に配置する必要がある(最大近接性)場合は、ワークロード ポリシーの作成時に maxTopologyDistance フィールドを指定します。

ワークロード ポリシーは、作成後に更新することはできません。ワークロード ポリシーを変更するには、新しいポリシーを作成する必要があります。

ワークロード ポリシーを作成するには、次のいずれかのオプションを選択します。

gcloud

ワークロード ポリシーを作成するには、gcloud compute resource-policies create workload-policy コマンドを使用します。

  • VM をベスト エフォートで配置するには、コマンドで --type=high-throughput フラグのみを指定します。

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • VM の厳密なコロケーションを行うには、コマンドで --max-topology-distance フラグを指定します。

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --region=REGION
    

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

  • WORKLOAD_POLICY_NAME: ワークロード ポリシーの名前。
  • TOPOLOGY_DISTANCE: トポロジの最大距離。次のいずれかの値を指定します。
    • VM を同じクラスタに配置するには: CLUSTER
    • VM を同じブロックに配置するには: BLOCK
    • VM を同じサブブロックに配置するには: SUBBLOCK
    注: 最大距離を短くすると、VM の可用性が低下する可能性があります。
  • REGION: ワークロード ポリシーを作成するリージョン。使用するマシンタイプが利用可能で、MIG を作成するリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。

REST

ワークロード ポリシーを作成するには、resourcePolicies.insert メソッドPOST リクエストを送信します。

  • VM をベスト エフォートで配置するには、リクエストで type フィールドのみを次のように指定します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • VM の厳密なコロケーションを行うには、リクエストで maxTopologyDistance フィールドを次のように指定します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT",
          "maxTopologyDistance": "TOPOLOGY_DISTANCE"
        }
      }
    

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

  • PROJECT_ID: プロジェクト ID
  • REGION: ワークロード ポリシーを作成するリージョン。使用するマシンタイプが利用可能で、MIG を作成するリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。
  • WORKLOAD_POLICY_NAME: ワークロード ポリシーの名前。
  • TOPOLOGY_DISTANCE: トポロジの最大距離。次のいずれかの値を指定します。
    • VM を同じブロックに配置するには: BLOCK
    • VM を同じクラスタに配置するには: CLUSTER
    注: 最大距離を短くすると、VM の可用性が低下する可能性があります。

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

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

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

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

gcloud

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

Flex Start

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

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

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
  • MACHINE_TYPE: VM に使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。
  • IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポート対象のオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。
  • IMAGE_PROJECT: OS イメージのプロジェクト ID。
  • REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
  • DISK_SIZE: ブートディスクのサイズ(GB)。
  • GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • RDMA_NAME_PREFIX: RDMA NIC を使用する VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • RUN_DURATION: リクエストされた VM を実行する期間。値は、日数、時間、分、秒として指定し、その後にそれぞれ dhms を続ける必要があります。たとえば、30 分の場合は 30m を指定し、1 日と 2 時間 3 分 4 秒の場合は 1d2h3m4s を指定します。値は 10 分~7 日の範囲で指定してください。

予約で制限

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

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

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
  • MACHINE_TYPE: VM に使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。
  • IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポート対象のオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。
  • IMAGE_PROJECT: OS イメージのプロジェクト ID。
  • REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
  • DISK_SIZE: ブートディスクのサイズ(GB)。
  • GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • RDMA_NAME_PREFIX: RDMA NIC を使用する VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。
    • 複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      また、単一のブロックの場合は、ブロック コロケーション(maxTopologyDistance=BLOCK)を指定するワークロード ポリシーを適用して MIG を作成します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。

    • 特定のブロックにインスタンスを作成するには:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

スポット

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

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

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
  • MACHINE_TYPE: VM に使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。
  • IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポート対象のオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。
  • IMAGE_PROJECT: OS イメージのプロジェクト ID。
  • REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性をご覧ください。
  • DISK_SIZE: ブートディスクのサイズ(GB)。
  • GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • RDMA_NAME_PREFIX: RDMA NIC を使用する VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)または DELETE のいずれかです。

REST

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

Flex Start

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

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

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
  • MACHINE_TYPE: VM に使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。
  • IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポート対象のオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。
  • IMAGE_PROJECT: OS イメージのプロジェクト ID。
  • REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。
  • DISK_SIZE: ブートディスクのサイズ(GB)。
  • NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。
  • GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • REGION: サブネットワークのリージョン。
  • RDMA_NAME_PREFIX: RDMA NIC を使用する VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • RUN_DURATION: リクエストされた VM の実行時間(秒単位)。値は 600(600 秒、10 分)から 604800(604,800 秒、7 日間)の範囲で指定する必要があります。

予約で制限

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

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

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
  • MACHINE_TYPE: VM に使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。
  • IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポート対象のオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。
  • IMAGE_PROJECT: OS イメージのプロジェクト ID。
  • REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。
  • DISK_SIZE: ブートディスクのサイズ(GB)。
  • NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。
  • GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • REGION: サブネットワークのリージョン。
  • RDMA_NAME_PREFIX: RDMA NIC を使用する VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • RESERVATION: 予約名または予約内の特定のブロック。予約名または使用可能なブロックを取得するには、予約容量を表示するをご覧ください。インスタンスの配置の要件に基づいて、次のいずれかを選択します。
    • 複数のブロックにまたがってインスタンスを作成する場合、または単一のブロックにインスタンスを作成する場合:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

      また、単一のブロックの場合は、ブロック コロケーション(maxTopologyDistance=BLOCK)を指定するワークロード ポリシーを適用して MIG を作成します。これにより、ポリシーが予約に適用され、Compute Engine によって同じブロックにインスタンスが作成されます。

    • 特定のブロックにインスタンスを作成するには:

      projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME

スポット

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

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

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。
  • MACHINE_TYPE: VM に使用するマシンタイプ。A4 マシンタイプまたは A3 Ultra マシンタイプを指定します。詳細については、GPU マシンタイプをご覧ください。
  • IMAGE_FAMILY: 使用する OS イメージのイメージ ファミリー。サポート対象のオペレーティング システムの一覧については、サポートされているオペレーティング システムをご覧ください。
  • IMAGE_PROJECT: OS イメージのプロジェクト ID。
  • REGION: インスタンス テンプレートを作成するリージョン。使用するマシンタイプが利用可能なリージョンを指定します。リージョンの詳細については、リージョンおよびゾーン別の GPU の可用性 をご覧ください。
  • DISK_SIZE: ブートディスクのサイズ(GB)。
  • NETWORK_PROJECT_ID: ネットワークのプロジェクト ID。
  • GVNIC_NAME_PREFIX: gVNIC NIC を使用する標準の VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • REGION: サブネットワークのリージョン。
  • RDMA_NAME_PREFIX: RDMA NIC を使用する VPC ネットワークとサブネットの作成時に指定した名前の接頭辞。
  • TERMINATION_ACTION: Compute Engine がインスタンスをプリエンプトするときに実行するアクション。STOP(デフォルト)または DELETE のいずれかです。

インスタンス テンプレートを作成したら、表示して ID を確認し、インスタンス プロパティを確認できます。

MIG を作成する

上記の手順をすべて完了したら、シナリオに基づいて次のように MIG を作成します。

シナリオ MIG とその VM を作成する方法
任意の数の VM で開始できる複数のジョブまたは並列ジョブがある。 MIG を作成し、ターゲット サイズを使用してグループに含める VM の数を指定します。

ターゲット サイズを指定して MIG を作成するをご覧ください。

ML 推論ジョブ
正確な数の VM に分散する必要があるジョブがある。 VM を含まない MIG を作成し、MIG でサイズ変更リクエストを作成します。サイズ変更リクエストを使用すると、VM を一度に取得できます。

MIG とサイズ変更リクエストを作成するをご覧ください。

分散 ML トレーニング ジョブとファインチューニング ジョブ

ターゲット サイズを指定して MIG を作成する

すべての VM を一度に作成せずにジョブを開始できる場合は、ターゲット サイズを指定して MIG を作成します。ターゲット サイズによって、MIG 内の VM 数が決まります。MIG は、現在のリソースの可用性に基づいて VM の作成を開始します。リソースが一時的に利用できない場合、MIG はターゲット サイズを満たす VM の作成を継続的に試行します。

ターゲット サイズを指定して MIG を作成するには、次のいずれかのオプションを選択します。

gcloud

指定したターゲット サイズで MIG を作成するには、instance-groups managed create コマンドを使用します。

MIG を作成するコマンドでワークロード ポリシーを使用して VM の配置を指定します。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除します。

ゾーン MIG またはリージョン MIG を次のように作成します。

  • ゾーン MIG を作成するには、次のコマンドを使用します。
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • リージョン MIG を作成するには、次のコマンドを使用します。
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
次のように置き換えます。
  • MIG_NAME: MIG の名前。
  • INSTANCE_TEMPLATE_URL: MIG で VM の作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。
    • リージョン インスタンス テンプレートの場合: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • グローバル インスタンス テンプレートの場合: INSTANCE_TEMPLATE_ID
  • TARGET_SIZE: MIG に含める VM の数。
  • WORKLOAD_POLICY_URL: 省略可。ワークロード ポリシーの URL。例: projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除できます。
  • ZONE: MIG を作成するゾーン。 ワークロード ポリシーを使用する場合は、ポリシーのリージョン内のゾーンを指定します。
  • REGION: MIG を作成するリージョン。ワークロード ポリシーを使用する場合は、ポリシーと同じリージョンを指定します。リージョン MIG の場合は、リージョンの代わりに、--zones フラグを使用してそのリージョンのゾーンを指定できます。

REST

指定したターゲット サイズで MIG を作成するには、POST リクエストを送信します。

MIG を作成するリクエストでワークロード ポリシーを使用して VM の配置を指定します。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。

ゾーン MIG またはリージョン MIG を次のように作成します。

  • ゾーン MIG を作成するには、instanceGroupManagers.insert メソッドPOST リクエストを送信します。
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": "TARGET_SIZE",
      "resourcePolicies": {
        "workloadPolicy": WORKLOAD_POLICY_URL
      }
    }
    
  • リージョン MIG を作成するには、regionInstanceGroupManagers.insert メソッドPOST リクエストを送信します。
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": "TARGET_SIZE",
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
    
次のように置き換えます。
  • PROJECT_ID: プロジェクト ID。
  • ZONE: MIG を作成するゾーン。 ワークロード ポリシーを使用する場合は、ポリシーのリージョン内のゾーンを指定します。
  • REGION: MIG を作成するリージョン。ワークロード ポリシーを使用する場合は、ポリシーと同じリージョンを指定します。
  • INSTANCE_TEMPLATE_URL: MIG で VM の作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。
    • リージョン インスタンス テンプレートの場合: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • グローバル インスタンス テンプレートの場合: INSTANCE_TEMPLATE_ID
  • MIG_NAME: MIG の名前。
  • TARGET_SIZE: MIG に含める VM の数。
  • WORKLOAD_POLICY_URL: 省略可。ワークロード ポリシーの URL。例: projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。

MIG とサイズ変更リクエストを作成する

ジョブの開始に複数の VM が一度に必要な場合は、MIG を作成し、このセクションで説明するように MIG でサイズ変更リクエストを作成します。

MIG でサイズ変更リクエストを作成するには、次のいずれかのオプションを選択します。

gcloud

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

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 にサイズ変更リクエストを作成します。

      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 \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 次のように、ベータ版の instance-groups managed resize-requests create コマンドを使用して、リージョン MIG にサイズ変更リクエストを作成します。

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

予約で制限

MIG を作成するコマンドでワークロード ポリシーを使用して VM の配置を指定します。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除します。

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

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

    1. 次のように、instance-groups managed create コマンドを使用してゾーン MIG を作成します。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. 次のように、instance-groups managed resize-requests create コマンドを使用して、ゾーン MIG にサイズ変更リクエストを作成します。

      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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 次のように、ベータ版の instance-groups managed resize-requests create コマンドを使用して、リージョン MIG にサイズ変更リクエストを作成します。

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

スポット

MIG を作成するコマンドでワークロード ポリシーを使用して VM の配置を指定します。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除します。

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

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

    1. 次のように、instance-groups managed create コマンドを使用してゾーン MIG を作成します。

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. 次のように、instance-groups managed resize-requests create コマンドを使用して、ゾーン MIG にサイズ変更リクエストを作成します。

      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 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. 次のように、ベータ版の instance-groups managed resize-requests create コマンドを使用して、リージョン MIG にサイズ変更リクエストを作成します。

      gcloud beta 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 で VM の作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。
    • リージョン インスタンス テンプレートの場合: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • グローバル インスタンス テンプレートの場合: INSTANCE_TEMPLATE_ID
  • WORKLOAD_POLICY_URL: 省略可。ワークロード ポリシーの URL。 例: projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。ワークロード ポリシーを使用しない場合は、--workload-policy フラグを削除します。
  • ZONE: MIG を作成するゾーン。リージョン MIG の場合も、ゾーンを指定する必要があります。このゾーンは、VPC ネットワークのプロファイルを含むゾーンであり、マシンタイプを使用できるゾーンである必要があります。詳細については、制限事項をご覧ください。
  • RESIZE_REQUEST_NAME: サイズ変更リクエストの名前。指定された MIG 内で一意である必要があります。それ以外の場合、サイズ変更リクエストは作成されません。
  • COUNT: MIG に一度に追加する VM の数。
  • REGION: MIG が配置されているリージョン。

ワークロードで特定の VM 名が必要な場合は、beta instance-groups managed resize-requests create コマンドを使用して、作成する VM の名前のリストを指定できます。コマンドの --resize-request フラグを --instances フラグに置き換えます。

REST

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

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 でサイズ変更リクエストを作成します。
      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. 次のように、beta.regionInstanceGroupManagerResizeRequests.insert メソッドPOST リクエストを送信して、リージョン MIG にサイズ変更リクエストを作成します。
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

予約で制限

MIG を作成するリクエストでワークロード ポリシーを使用して VM の配置を指定します。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。

次のように、ゾーン 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,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. 次のように、instanceGroupManagerResizeRequests.insert メソッドPOST リクエストを送信して、ゾーン MIG でサイズ変更リクエストを作成します。
      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"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. 次のように、beta.regionInstanceGroupManagerResizeRequests.insert メソッドPOST リクエストを送信して、リージョン MIG にサイズ変更リクエストを作成します。
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

スポット

MIG を作成するリクエストでワークロード ポリシーを使用して VM の配置を指定します。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。

次のように、ゾーン 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,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. 次のように、instanceGroupManagerResizeRequests.insert メソッドPOST リクエストを送信して、ゾーン MIG でサイズ変更リクエストを作成します。
      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"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. 次のように、beta.regionInstanceGroupManagerResizeRequests.insert メソッドPOST リクエストを送信して、リージョン MIG にサイズ変更リクエストを作成します。
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
次のように置き換えます。
  • PROJECT_ID: プロジェクト ID。
  • ZONE: MIG を作成するゾーン。リージョン MIG の場合も、ゾーンを指定する必要があります。このゾーンは、VPC ネットワークのプロファイルを含むゾーンであり、マシンタイプを使用できるゾーンである必要があります。詳細については、制限事項をご覧ください。
  • REGION: MIG を作成するリージョン。
  • INSTANCE_TEMPLATE_URL: MIG で VM の作成に使用するインスタンス テンプレートの URL。この URL には、インスタンス テンプレートの ID または名前を含めることができます。次のいずれかの値を指定します。
    • リージョン インスタンス テンプレートの場合: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • グローバル インスタンス テンプレートの場合: INSTANCE_TEMPLATE_ID
  • MIG_NAME: MIG の名前。
  • WORKLOAD_POLICY_URL: 省略可。ワークロード ポリシーの URL。 例: projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy。ワークロード ポリシーを使用しない場合は、resourcePolicies.workloadPolicy フィールドを削除します。
  • RESIZE_REQUEST_NAME: サイズ変更リクエストの名前。指定された MIG 内で一意である必要があります。それ以外の場合、サイズ変更リクエストは作成されません。
  • COUNT: MIG に一度に追加する VM の数。

ワークロードに特定の VM 名が必要な場合は、作成する VM の名前のリストを指定できます。これを行うには、リージョン MIG の場合は beta.regionInstanceGroupManagerResizeRequests.insert メソッド、ゾーン MIG の場合は beta.instanceGroupManagerResizeRequests.insert メソッドPOST リクエストを送信します。リクエスト本文で、resizeBy フィールドを instanceNames フィールドに置き換えます。

次のステップ