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


このドキュメントでは、GPU が関連付けられている仮想マシン(VM)インスタンスのマネージド インスタンス グループ(MIG)でサイズ変更リクエストを作成する方法について説明します。サイズ変更リクエストの詳細については、MIG のサイズ変更リクエストについてをご覧ください。

MIG サイズ変更リクエストを作成すると、GPU などの需要の高いリソースを取得し、正確な数の VM を一度に作成して費用を最適化できます。Cluster Director で利用可能な機能とサービスを使用できる MIG サイズ変更リクエストを作成するには、AI Hypercomputer のドキュメントで MIG とサイズ変更リクエストを作成するをご覧ください。

始める前に

  • MIG サイズ変更リクエストを使用して、最大 7 日間実行されるワークロードのリソースが使用可能になったらすぐに VM を作成するには、リクエストされたリソースに対して十分な標準割り当てまたはプリエンプティブル割り当てがあることを確認します。詳細については、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

      1. 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.

      2. Set a default region and zone.
      3. 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 サイズ変更リクエストを作成するには、次の権限が必要です。

  • インスタンス テンプレートを作成する: プロジェクトに対する compute.instanceTemplates.create
  • ゾーン MIG を作成する: プロジェクトに対する compute.instanceGroupManagers.create
  • MIG のサイズ変更リクエストを作成する: プロジェクトに対する compute.instanceGroupManagers.update

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

サイズ変更リクエスト用に MIG を準備する

MIG のサイズ変更リクエストを作成するには、次のセクションで説明するように、インスタンス テンプレートと MIG を構成する必要があります。

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

MIG サイズ変更リクエストのユースケースに基づいて、次のいずれかの方法でインスタンス テンプレートを作成します。

Flex Start プロビジョニング モデルを使用する

MIG サイズ変更リクエスト用に構成され、リソースが使用可能になるとすぐに VM を作成するように構成されたインスタンス テンプレートを作成するには、テンプレートで次の項目を指定する必要があります。

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

コンソール

  1. Google Cloud コンソールで、[インスタンス テンプレート] ページに移動します。

    [インスタンス テンプレート] に移動

  2. [インスタンス テンプレートを作成] をクリックします。[インスタンス テンプレートの作成] ページが開きます。

  3. [名前] フィールドに、インスタンス テンプレートの名前を入力します。

  4. [ロケーション] セクションで、次のいずれかのオプションを選択します。

    • リージョン インスタンス テンプレートを作成するには、[リージョン(推奨)] を選択し、テンプレートを作成するリージョンを選択します。

    • グローバル インスタンス テンプレートを作成するには、[グローバル] を選択します。

  5. [マシンの構成] セクションで、次の操作を行います。

    1. [GPU] タブをクリックします。

    2. [GPU のタイプ] リストで、GPU のタイプを選択します。

    3. [GPU の数] リストで、GPU の数を選択します。

    4. 省略可: 選択した GPU タイプがグラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートし、グラフィックを多用するワークロードを実行する予定がある場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] を選択します。

    5. [マシンタイプ] セクションでマシンタイプを選択します。

  6. [プロビジョニング モデル] セクションで、次の操作を行います。

    1. [VM プロビジョニング モデル] フィールドで、[Flex Start] を選択します。

    2. [VM プロビジョニング モデルの詳細設定] を開きます。

    3. [VM の制限時間を設定する] チェックボックスをオンにします。

    4. インスタンス テンプレートによって作成される VM の実行時間を設定するには、[時間を入力] フィールドに時間数を入力します。値は 36 秒(0.01)から 7 日間(168)の範囲で指定する必要があります。

  7. 省略可: デフォルト値のブートディスクのタイプまたはイメージを変更するには、[ブートディスク] セクションで [変更] をクリックします。プロンプトに従ってブートディスクを変更します。

  8. [作成] をクリックします。

gcloud

インスタンス テンプレートを作成するには、次のフラグを指定して beta instance-templates create コマンドを使用します。

  • --instance-termination-action フラグ。DELETE に設定します。

  • --maintenance-policy フラグ。TERMINATE に設定します。

  • --max-run-duration フラグ。

  • --provisioning-model フラグ。FLEX_START に設定します。

  • --reservation-affinity フラグ。none に設定します。

たとえば、リージョン インスタンス テンプレートを作成するには、次のコマンドを実行します。グローバル インスタンス テンプレートを作成する場合は、--instance-template-region フラグを使用せずに同じコマンドを使用します。

gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-template-region=REGION \
    --instance-termination-action=DELETE \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --max-run-duration=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: VM に使用する GPU マシンタイプ。N1 マシンタイプを指定する場合は、--accelerator フラグを設定して、VM にアタッチする GPU の数とタイプを定義する必要があります。

  • RUN_DURATION: リクエストされた VM を実行する期間。値は、日数、時間、分、秒として指定し、その後にそれぞれ dhms を続ける必要があります。たとえば、30 分の場合は 30m を指定し、1 日と 2 時間 3 分 4 秒の場合は 1d2h3m4s を指定します。値は 10 分~7 日の範囲で指定してください。

REST

インスタンス テンプレートを作成するには、次のいずれかのメソッドに POST リクエストを送信します。

リクエスト本文で、次のフィールドを指定します。

  • NO_RESERVATION に設定した reservationAffinity.consumeReservationType フィールド。

  • DELETE に設定した scheduling.instanceTerminationAction フィールド。

  • scheduling.maxRunDuration フィールド。

  • TERMINATE に設定した scheduling.onHostMaintenance フィールド。

  • FLEX_START に設定した scheduling.provisioningModel フィールド。

たとえば、リージョン インスタンス テンプレートを作成するには、次のようにリクエストを送信します。

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"
    }
  }
}

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

  • 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: VM に使用する GPU マシンタイプ。N1 マシンタイプを指定する場合は、guestAccelerators フィールドを含めて、VM にアタッチする GPU の数とタイプを定義する必要があります。

  • RUN_DURATION: リクエストされた VM の実行時間(秒単位)。値は 600(600 秒、10 分)から 604800(604,800 秒、7 日間)の範囲で指定する必要があります。

インスタンス テンプレートの作成の詳細については、インスタンス テンプレートを作成するをご覧ください。

予約にバインドされたプロビジョニング モデルを使用する

MIG のサイズ変更リクエストと予約リソースの消費に対応したインスタンス テンプレートを作成するには、テンプレートで次の項目を指定する必要があります。

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

コンソール

  1. Google Cloud コンソールで、[インスタンス テンプレート] ページに移動します。

    [インスタンス テンプレート] に移動

  2. [インスタンス テンプレートを作成] をクリックします。[インスタンス テンプレートの作成] ページが開きます。

  3. [名前] フィールドに、インスタンス テンプレートの名前を入力します。

  4. [ロケーション] セクションで、次のいずれかのオプションを選択します。

    • リージョン インスタンス テンプレートを作成するには、[リージョン(推奨)] を選択し、テンプレートを作成するリージョンを選択します。

    • グローバル インスタンス テンプレートを作成するには、[グローバル] を選択します。

  5. [マシンの構成] セクションで、次の操作を行います。

    1. [GPU] タブをクリックします。

    2. [GPU のタイプ] リストで、使用する予約で指定されている次のいずれかのオプションを選択します。

      • A4 VM を使用するには: NVIDIA B200 180 GB

      • A3 Ultra VM を使用するには: NVIDIA H200 141 GB

      このアクションにより、インスタンス テンプレートのプロビジョニング モデルが自動的に [予約で制限] に設定されます。

    3. [GPU の数] リストで、GPU の数を選択します。

    4. 省略可: 選択した GPU タイプがグラフィック ワークロード用の NVIDIA RTX 仮想ワークステーション(vWS)をサポートし、グラフィックを多用するワークロードを実行する予定がある場合は、[仮想ワークステーション(NVIDIA GRID)を有効にする] を選択します。

    5. [マシンタイプ] セクションでマシンタイプを選択します。

  6. [プロビジョニング モデル] セクションで、次の操作を行います。

    1. [VM プロビジョニング モデルの詳細設定] を開きます。

    2. [VM の終了時] リストで、[削除] を選択します。

  7. 省略可: デフォルト値のブートディスクのタイプまたはイメージを変更するには、[ブートディスク] セクションで [変更] をクリックします。プロンプトに従ってブートディスクを変更します。

  8. [詳細オプション] セクションを開き、次の操作を行います。

    1. [管理] セクションを開きます。

    2. [予約] セクションで [予約を選択] を選択し、[予約を選択] をクリックします。 表示されたペインで、プロンプトに沿って使用する予約を選択します。

  9. [作成] をクリックします。

gcloud

インスタンス テンプレートを作成するには、次のフラグを指定して instance-templates create コマンドを使用します。

  • --instance-termination-action フラグ。DELETE に設定します。

  • --maintenance-policy フラグ。TERMINATE に設定します。

  • --provisioning-model フラグ。RESERVATION_BOUND に設定します。

  • --reservation-affinity フラグ。specific に設定します。

  • --reservation フラグ。

たとえば、リージョン インスタンス テンプレートを作成するには、次のコマンドを実行します。グローバル インスタンス テンプレートを作成する場合は、--instance-template-region フラグを使用せずに同じコマンドを使用します。

gcloud 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 \
    --provisioning-model=RESERVATION_BOUND \
    --reservation-affinity=specific \
    --reservation=RESERVATION_URL

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

  • INSTANCE_TEMPLATE_NAME: 作成するインスタンス テンプレートの名前。

  • IMAGE_PROJECT: イメージを含むイメージ プロジェクト。例: debian-cloud サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。

  • IMAGE_FAMILY: イメージ ファミリー。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、debian-12 を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。

  • REGION: インスタンス テンプレートを作成するリージョン。

  • MACHINE_TYPE: 使用する予約で指定された A4 または A3 Ultra マシンタイプ。

  • RESERVATION_URL: 使用するカレンダー モードの将来の予約用に自動作成された予約の URL。次のいずれかの値を指定します。

    • 自動作成された予約がこのプロジェクトに存在する場合: RESERVATION_NAME

    • 自動作成された予約が別のプロジェクトに存在する場合: projects/PROJECT_ID/reservations/RESERVATION_NAME

REST

インスタンス テンプレートを作成するには、次のいずれかのメソッドに POST リクエストを送信します。

リクエスト本文で、次のフィールドを指定します。

  • SPECIFIC_RESERVATION に設定した reservationAffinity.consumeReservationType フィールド。

  • compute.googleapis.com/reservation-name に設定した reservationAffinity.key フィールド。

  • reservationAffinity.values フィールドは、自動作成された予約の URL に設定されます。

  • DELETE に設定した scheduling.instanceTerminationAction フィールド。

  • TERMINATE に設定した scheduling.onHostMaintenance フィールド。

  • RESERVATION_BOUND に設定した scheduling.provisioningModel フィールド。

たとえば、リージョン インスタンス テンプレートを作成するには、次のようにリクエストを送信します。

POST https://compute.googleapis.com/compute/v1/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": "SPECIFIC_RESERVATION",
      "key": "compute.googleapis.com/reservation-name",
      "values": [
        "RESERVATION_URL"
      ]
    },
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "RESERVATION_BOUND"
    }
  }
}

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

  • 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: 使用する予約で指定された A4 または A3 Ultra マシンタイプ。

  • RESERVATION_URL: 使用するカレンダー モードの将来の予約用に自動作成された予約の URL。次のいずれかの値を指定します。

    • 自動作成された予約がこのプロジェクトに存在する場合: RESERVATION_NAME

    • 自動作成された予約が別のプロジェクトに存在する場合: projects/PROJECT_ID/reservations/RESERVATION_NAME

インスタンス テンプレートの作成の詳細については、インスタンス テンプレートを作成するをご覧ください。

MIG を作成または更新する

前のセクションの説明に従ってインスタンス テンプレートを作成したら、そのインスタンス テンプレートを使用して次のように MIG を作成するか、MIG を更新します。また、サイズ変更リクエスト用に MIG を準備するには、次のことを行う必要があります。

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

コンソール

  1. Google Cloud コンソールで、[インスタンス グループ] ページに移動します。

    [インスタンス グループ] に移動

  2. [インスタンス グループを作成] をクリックします。[インスタンス グループの作成] ページが開きます。

  3. [名前] フィールドに、MIG の名前を入力します。

  4. インスタンス テンプレートを選択する前に、自動スケーリングの構成を削除し、次のように修復を無効にする必要があります。

    1. 自動スケーリング構成を削除するには、次の操作を行います。

      1. [自動スケーリング] セクションで、[自動スケーリング モード] リストをクリックし、[自動スケーリングの構成を削除] をクリックします。

      2. 確認ダイアログで [削除] をクリックします。

    2. 修復を無効にするには、[VM インスタンスのライフサイクル] セクションで、[障害発生時のデフォルトのアクション] リストをクリックして、[アクションなし] を選択します。

  5. [インスタンス テンプレート] フィールドに戻ります。[インスタンス テンプレート] リストで、前のセクションで作成したインスタンス テンプレートを選択します。リージョン インスタンス テンプレートを選択すると、[リージョン] リストはテンプレートのリージョンに設定されます。

  6. 次のいずれかを行います。

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

      1. [インスタンス数] フィールドに、一度に作成する VM の数を入力します。

      2. [サイズ変更リクエストを使用して VM を一度に作成する] チェックボックスを選択します。

      3. 省略可: MIG のインスタンス テンプレートで実行期間が指定されている場合は、別の実行期間を指定できます。これを行うには、[リクエストされた実行時間] フィールドと [単位] リストで、実行時間を指定します。期間は 1 時間から 7 日の間で指定する必要があります。

    • MIG の作成後にサイズ変更リクエストを作成するには、[インスタンス数] フィールドに「0」と入力します。

  7. [ロケーション] セクションで、ゾーン MIG またはリージョン MIG を作成するかどうかを次のように指定します。

    1. ゾーン MIG を作成するには、[単一ゾーン] を選択します。リージョン MIG を作成する場合は、[マルチゾーン] を選択します。

    2. MIG のリージョンゾーンを選択します。

    3. リージョン MIG を作成する場合は、次の操作を行います。

      1. [ターゲット分配形態] フィールドで、[任意のシングルゾーン] を選択します。

      2. 表示されたダイアログで、[インスタンスの再分配を無効化] をクリックします。

  8. [作成] をクリックします。

gcloud

--default-action-on-vm-failure フラグを do_nothing に設定して instance-groups managed create コマンドを使用します。リージョン MIG を作成する場合は、--target-distribution-shape フラグを any-single-zone に設定し、--instance-redistribution-type フラグを none に設定することも必要です。

  • ゾーン 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 を作成するリージョン。

REST

  • ゾーン 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 の名前。

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

MIG サイズ変更リクエストを作成する前に、前のセクションの説明に従って MIG を準備してください。

サイズ変更リクエストを作成し、リクエストされたすべてのリソースが使用可能になると、MIG はリクエストされた数の VM を一度に作成します。VM は、指定された実行期間の終了後に MIG によって削除されるまで、またはユーザーがそれらを削除するまで実行されます。

MIG でサイズ変更リクエストを作成するには、次のいずれかのオプションを選択します。サイズ変更リクエストで特定の名前の VM を MIG に追加するには、gcloud CLI または REST API を使用します。

コンソール

  1. Google Cloud コンソールで、[インスタンス グループ] ページに移動します。

    [インスタンス グループ] に移動

  2. [名前] 列で、サイズ変更リクエストを作成する MIG の名前をクリックします。

    MIG の概要ページが開きます。

  3. [サイズ変更リクエスト] 行で、 [サイズ変更リクエストを編集] をクリックします。

  4. [ サイズ変更の新規リクエスト] をクリックします。

    [サイズ変更の新規リクエスト] ペインが表示されます。

  5. [名前] フィールドに、サイズ変更リクエストの名前を入力します。

  6. [必要な追加インスタンス数] フィールドに、一度に MIG に追加する VM の数を入力します。

  7. 省略可: MIG のインスタンス テンプレートで実行期間が指定されている場合は、別の実行期間を指定できます。これを行うには、[リクエストされた実行時間] フィールドと [単位] リストで、実行時間を指定します。期間は 1 時間から 7 日の間で指定する必要があります。

  8. [作成] をクリックします。

gcloud

  • ゾーン 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 のインスタンス テンプレートで実行期間が指定されている場合は、別の実行期間を指定できます。これを行うには、コマンドに --requested-run-duration フラグを含めます。期間は 10 分~7 日の範囲で指定する必要があります。

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

REST

リクエスト本文に、次のものを含めます。

{
  "name": "RESIZE_REQUEST_NAME",
  "resizeBy": COUNT
}

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

  • PROJECT_ID: 指定した MIG が存在するプロジェクトの ID。

  • ZONE: MIG が存在するゾーン。

  • REGION: MIG が存在するリージョン。

  • INSTANCE_GROUP_NAME: サイズ変更リクエストを作成するために構成された MIG の名前。

  • RESIZE_REQUEST_NAME: サイズ変更リクエストの名前。指定された MIG 内で一意である必要があります。それ以外の場合、サイズ変更リクエストは作成されません。

  • COUNT: MIG に一度に追加する VM の数。

必要に応じて、次の設定を行います。

次のステップ