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


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

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

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

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

次のステップ