インスタンスの柔軟性構成を変更または削除する


このドキュメントでは、インスタンスの柔軟性ポリシーを編集して、マネージド インスタンス グループ(MIG)でインスタンスの柔軟性を変更または削除する方法について説明します。

インスタンスの柔軟性構成を変更する

MIG でインスタンスの柔軟性構成を編集すると、次の変更を加えることができます。

  • インスタンス選択にマシンタイプを追加する
  • インスタンス選択から未使用のマシンタイプを削除する
  • インスタンス選択のランクを変更する
  • インスタンスの柔軟性ポリシーにインスタンス選択を追加する

MIG は、指定したインスタンス選択名に基づいて変更を適用します。指定しないインスタンス選択は変更されません。

構成を編集する際は、次のルールが適用されます。

MIG でインスタンスの柔軟性構成を変更するには、次のいずれかのオプションを選択します。

gcloud

インスタンスの柔軟性構成を編集するには、ベータ版の update コマンドを使用します。

  gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
      --region REGION \
      --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \
      --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"

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

  • INSTANCE_GROUP_NAME: インスタンスの柔軟性構成を確認する MIG の名前。
  • REGION: MIG が配置されているリージョン。
  • INSTANCE_SELECTION: 変更するインスタンス選択の名前。MACHINE_TYPERANK の両方を指定する必要があります。これらの値を変更しない場合は、既存の値を指定して保持する必要があります。

REST

インスタンスの柔軟性構成を編集するには、ベータ版の regionInstanceGroupManagers.patch メソッドPATCH リクエストを送信します。

  PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

  {
    "instanceFlexibilityPolicy": {
      "instanceSelections": {
        "INSTANCE_SELECTION": {
          "machineTypes": [
            "MACHINE_TYPE_1",
            "MACHINE_TYPE_2"
          ],
          "rank": RANK
        }
      }
    }
  }

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

  • PROJECT_ID: 実際のプロジェクト ID
  • REGION: MIG が配置されているリージョン。
  • INSTANCE_GROUP_NAME: インスタンスの柔軟性構成を確認する MIG の名前。
  • INSTANCE_SELECTION: 変更するインスタンス選択の名前。MACHINE_TYPERANK の両方を指定する必要があります。これらの値を変更しない場合は、既存の値を指定して保持する必要があります。

インスタンスの柔軟性構成を削除する

MIG 内のすべてのインスタンスまたは特定のインスタンスを選択して削除できます。

  • MIG のインスタンスの柔軟性構成を削除するには、すべてのインスタンス選択を削除するをご覧ください。これにより、MIG からすべての VM が削除され、MIG はインスタンス テンプレートで定義された単一のマシンタイプを使用します。

  • 名前で個々のインスタンス選択を削除するには、特定のインスタンス選択を削除するをご覧ください。これにより、特定のインスタンス選択のみが削除され、MIG は他のインスタンスを保持します。

インスタンス選択をすべて削除する

MIG からすべてのインスタンス選択を削除する場合は、ターゲット サイズを 0 に設定して、グループ内のすべての VM を削除する必要があります。インスタンス選択をすべて削除したら、ターゲット サイズをグループに必要な VM 数に戻すことができます。MIG は、インスタンス テンプレートで定義された単一のマシンタイプを使用して VM を作成します。

gcloud

MIG でインスタンスの柔軟性ポリシーを削除するには、ベータ版の instance-groups managed update コマンドを使用します。

  gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
      --region REGION \
      --size 0 \
      --remove-instance-selections-all

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

  • INSTANCE_GROUP_NAME: すべてのインスタンス選択を削除する MIG の名前。
  • REGION: MIG が配置されているリージョン。

REST

MIG でインスタンスの柔軟性ポリシーを削除するには、ベータ版の regionInstanceGroupManagers.patch メソッドPATCH リクエストを送信します。

  PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

  {
    "targetSize": 0,
    "instanceFlexibilityPolicy": {
      "instanceSelections": null
    }
  }

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

  • PROJECT_ID: 実際のプロジェクト ID
  • REGION: MIG が配置されているリージョン。
  • INSTANCE_GROUP_NAME: インスタンス選択を削除する MIG の名前。

特定のインスタンス選択を削除する

インスタンス選択を削除する前に、MIG 内の VM がその選択のマシンタイプを使用していないことを確認する必要があります。各 VM で使用されているマシンタイプを確認できます。選択したマシンタイプを使用している VM がある場合は、それらの VM を先に削除します。

gcloud

MIG で特定のインスタンス選択を削除するには、ベータ版の instance-groups managed update コマンドを使用します。

  gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \
      --region REGION \
      --remove-instance-selections INSTANCE_SELECTION

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

  • INSTANCE_GROUP_NAME: インスタンス選択を削除する MIG の名前。
  • REGION: MIG が配置されているリージョン。
  • INSTANCE_SELECTION: 削除するインスタンス選択の名前。複数のインスタンス選択がある場合は、名前をカンマ区切りのリストで指定します。

REST

MIG で特定のインスタンス選択を削除するには、ベータ版の regionInstanceGroupManagers.patch メソッドを使用します。

  PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

  {
    "instanceFlexibilityPolicy": {
      "instanceSelections": {
        "INSTANCE_SELECTION": null
      }
    }
  }

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

  • PROJECT_ID: 実際のプロジェクト ID
  • REGION: MIG が配置されているリージョン。
  • INSTANCE_GROUP_NAME: インスタンス選択を削除する MIG の名前。
  • INSTANCE_SELECTION: 削除するインスタンス選択の名前。インスタンス選択が複数ある場合は、すべて指定します。例: "selection-1": null,"selection-2": null

次のステップ