このドキュメントでは、インスタンスの柔軟性ポリシーを編集して、マネージド インスタンス グループ(MIG)でインスタンスの柔軟性を変更または削除する方法について説明します。
インスタンスの柔軟性構成を変更する
MIG でインスタンスの柔軟性構成を編集すると、次の変更を加えることができます。
- インスタンス選択にマシンタイプを追加する
- インスタンス選択から未使用のマシンタイプを削除する
- インスタンス選択のランクを変更する
- インスタンスの柔軟性ポリシーにインスタンス選択を追加する
MIG は、指定したインスタンス選択名に基づいて変更を適用します。指定しないインスタンス選択は変更されません。
構成を編集する際は、次のルールが適用されます。
インスタンス選択を変更する場合は、編集時に完全な構成を指定する必要があります。完全な構成を指定しないと、MIG はインスタンス選択の未指定部分を上書きします。たとえば、ランクのみを変更する場合は、その選択で設定されたマシンタイプとともに新しいランクを指定します。既存の構成を表示するには、インスタンスの柔軟性構成を表示するをご覧ください。
インスタンス選択からマシンタイプを削除する場合は、そのマシンタイプを使用する MIG 内のすべての仮想マシン(VM)インスタンスを削除する必要があります。MIG 内の各 VM のマシンタイプを表示するには、各 VM で使用されているマシンタイプを表示するをご覧ください。
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_TYPE と RANK の両方を指定する必要があります。これらの値を変更しない場合は、既存の値を指定して保持する必要があります。
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_TYPE と RANK の両方を指定する必要があります。これらの値を変更しない場合は、既存の値を指定して保持する必要があります。
インスタンスの柔軟性構成を削除する
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