MIG でサイズ変更リクエストを表示、キャンセル、削除する


このドキュメントでは、マネージド インスタンス グループ(MIG)でサイズ変更リクエストを作成した後に、次の操作を行う方法について説明します。

MIG でサイズ変更リクエストを作成したら、次のうち 1 つ以上の操作を実施できます。

  • サイズ変更リクエストを表示して、状態のモニタリングやトラブルシューティングを行う。

  • サイズ変更リクエストをキャンセルして、MIG がリクエストされた数の仮想マシン(VM)インスタンスを作成しないようにする。

  • 不要になったサイズ変更リクエストは削除します。

始める前に

  • まだ確認していない場合は、 サイズ変更リクエストの仕組みをご覧ください。
  • まだ設定していない場合は、認証を設定します。認証とは、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. 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 でサイズ変更リクエストを表示、キャンセル、削除するために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)roles/compute.instanceAdmin.v1)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

この事前定義ロールには、MIG のサイズ変更リクエストを表示、キャンセル、削除するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

MIG でサイズ変更リクエストを表示、キャンセル、削除するには、次の権限が必要です。

  • MIG でサイズ変更リクエストをキャンセルまたは削除する: compute.instanceGroupManagers.update
  • MIG 内のサイズ変更リクエストのリストを表示する: compute.instanceGroupManagers.list
  • サイズ変更リクエストの詳細を表示する: compute.instanceGroupManagers.get

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

サイズ変更リクエストを表示する

MIG のサイズ変更リクエストに関する情報を表示するには、次のいずれかの方法を使用します。

MIG 内のサイズ変更リクエストのリストを表示する

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

リージョン MIG 内のすべてのサイズ変更リクエストのリストを表示するには、gcloud CLI または REST API を使用します。それ以外の場合は、ゾーン MIG 内のすべてのサイズ変更リクエストのリストを表示するには、次のいずれかのオプションを選択します。

コンソール

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

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

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

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

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

    [サイズ変更リクエスト] ペインが表示されます。サイズ変更リクエストの [詳細] 列に [割り当て超過] または [予定日: 未定] の値が表示されている場合は、リクエストでエラーが発生しています。これらの値をクリックすると、詳細が表示されます。

    エラーのトラブルシューティングの詳細については、このドキュメントのサイズ変更リクエストの詳細を表示するをご覧ください。

gcloud

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

  • INSTANCE_GROUP_NAME: サイズ変更リクエストが承認、成功、キャンセル、または失敗した MIG の名前。

  • ZONE: MIG が配置されているゾーン。

  • REGION: MIG が配置されているリージョン。

ゾーン MIG の場合、出力は次のようになります。

NAME: rr-01
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 5
STATE: SUCCEEDED
REQUESTED_RUN_DURATION: P1D

NAME: rr-02
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 10
STATE: ACCEPTED
REQUESTED_RUN_DURATION: P3D

REST

  • ゾーン MIG 内のサイズ変更リクエストのリストを表示するには、instanceGroupManagerResizeRequests.list メソッドを使用して GET リクエストを送信します。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    
  • リージョン MIG 内のサイズ変更リクエストのリストを表示するには、beta.regionInstanceGroupManagerResizeRequests.list メソッドを使用して GET リクエストを送信します。

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    

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

  • PROJECT_ID: サイズ変更リクエストが承認、成功、キャンセル、または失敗した MIG が存在するプロジェクトの ID。

  • ZONE: MIG が配置されているゾーン。

  • REGION: MIG が配置されているリージョン。

  • INSTANCE_GROUP_NAME: サイズ変更リクエストが承認、成功、キャンセル、または失敗した既存の MIG の名前。

ゾーン MIG の出力は次のようになります。

{
  "kind": "compute#instanceGroupManagerResizeRequestList",
  "id": "projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests",
  "items": [
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "4247139565532196982",
      "creationTimestamp": "2024-01-08T07:51:53.034-08:00",
      "name": "rr-01",
      "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
      "count": 5,
      "resizeBy": 5,
      "requestedRunDuration": {
        "seconds": "86400",
        "nanos": 0
      },
      "state": "SUCCEEDED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
      "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
    },
    {
      "kind": "compute#instanceGroupManagerResizeRequest",
      "id": "8095866098849525652",
      "creationTimestamp": "2024-01-11T08:04:11.851-08:00",
      "name": "rr-02",
      "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
      "count": 10,
      "resizeBy": 10,
      "requestedRunDuration": {
        "seconds": "259200",
        "nanos": 0
      },
      "state": "ACCEPTED",
      "status": {},
      "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
      "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}

サイズ変更リクエストの詳細を表示する

サイズ変更リクエストの詳細を表示して構成を確認できます。リクエストがまだ成功していない場合は、必要に応じてトラブルシューティングを行います。

承認されたサイズ変更リクエストが成功しない場合は、リクエストの詳細の status.lastAttempt.error.errors.code フィールドを確認してトラブルシューティングできます。発生する可能性のあるエラーコードは次のとおりです。

  • QUOTA_EXCEEDED: プロジェクトはリクエストされたリソースの割り当てが不足しています。プロジェクトの割り当てを増やすには、割り当ての増加をリクエストするをご覧ください。

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: リクエストされたリソースが一時的に利用できません。Compute Engine は、リクエストされたリソースの作成をスケジュールし、利用可能になったら作成する予定です。message フィールドに Expected time is indefinite が含まれている場合は、リクエストをキャンセルし、次のいずれか 1 つ以上を試すことをおすすめします。

    • リクエストされる VM の数を減らして、新しいサイズ変更リクエストを作成します。

    • MIG で別のマシンタイプを使用して、新しいサイズ変更リクエストを作成します。別のマシンタイプを使用するには、新しいインスタンス テンプレートを作成し、そのテンプレートを使用して MIG を作成または更新します。

    • 別のリージョンまたはゾーンにある MIG でサイズ変更リクエストを作成します。

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

gcloud

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

  • INSTANCE_GROUP_NAME: MIG の名前。

  • RESIZE_REQUEST_NAME: 詳細を表示するサイズ変更リクエストの名前。

  • ZONE: MIG が配置されているゾーン。

  • REGION: MIG が配置されているリージョン。

ゾーン MIG の場合、出力は次のようになります。

creationTimestamp: '2024-09-23T02:27:09.575-07:00'
id: '6386622402379156098'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
  nanos: 0
  seconds: '86400'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098
state: ACCEPTED
status:
  lastAttempt:
    error:
      errors:
      - code: QUOTA_EXCEEDED
        message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
      - code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
        message: There are currently not enough resources available to fulfill the request. Expected time is indefinite.
        - errorDetails:
          - errorInfo:
            - metadatas:
              - estimatedAvailabilityTime: '9999-12-31T23:59:59.999999999Z'
zone: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a

REST

  • ゾーン MIG のサイズ変更リクエストの詳細を表示するには、instanceGroupManagerResizeRequests.get メソッドを使用して GET リクエストを送信します。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    
  • リージョン MIG のサイズ変更リクエストの詳細を表示するには、beta.regionInstanceGroupManagerResizeRequests.get メソッドを使用して GET リクエストを送信します。

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    

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

  • PROJECT_ID: ゾーン MIG が配置されているプロジェクトの ID。

  • ZONE: MIG が配置されているゾーン。

  • REGION: MIG が配置されているリージョン。

  • INSTANCE_GROUP_NAME: サイズ変更リクエストが存在する MIG の名前。

  • RESIZE_REQUEST_NAME: 詳細を表示する既存のサイズ変更リクエストの名前。

出力は次のようになります。

{
  "kind": "compute#instanceGroupManagerResizeRequest",
  "id": "6386622402379156098",
  "creationTimestamp": "2024-09-23T02:27:09.575-07:00",
  "name": "example-request",
  "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
  "resizeBy": 10,
  "requestedRunDuration": {
    "seconds": "86400",
    "nanos": 0
  },
  "state": "SUCCEEDED",
  "status": {
    "lastAttempt": {
      "error": {
        "errors": [
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          },
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "There are currently not enough resources available to fulfill the request. Expected time is indefinite.",
            "errorDetails": [
              {
                "errorInfo":{
                  "metadatas":{
                    "estimatedAvailabilityTime": "9999-12-31T23:59:59.999999999Z"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  },
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
  "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098"
}

MIG でサイズ変更リクエストをキャンセルする

MIG でサイズ変更リクエストをキャンセルして、MIG がリクエストされた数の VM の作成を試行しないようにできます。キャンセルできるのは、承諾済み(ACCEPTED)のサイズ変更リクエストのみです。キャンセルしたサイズ変更リクエストは削除するか、または Compute Engine によって 14 日後に自動的に削除されます。

複数のサイズ変更リクエストを同時にキャンセルするには、Google Cloud コンソールまたは Google Cloud CLI を使用します。1 件のサイズ変更リクエストをキャンセルするには、次のいずれかのオプションを選択します。

コンソール

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

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

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

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

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

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

  4. キャンセルするサイズ変更リクエストを選択します。

  5. [ キャンセル] をクリックしてから、[確認] をクリックします。

gcloud

  • ゾーン MIG でサイズ変更リクエストをキャンセルするには、instance-groups managed resize-requests cancel コマンドを使用します。

    gcloud compute instance-groups managed resize-requests cancel INSTANCE_GROUP_NAME \
        --resize-requests=RESIZE_REQUEST_NAMES \
        --zone=ZONE
    
  • リージョン MIG でサイズ変更リクエストをキャンセルするには、beta instance-groups managed resize-requests cancel コマンドを使用します。

    gcloud beta compute instance-groups managed resize-requests cancel INSTANCE_GROUP_NAME \
        --resize-requests=RESIZE_REQUEST_NAMES \
        --region=REGION
    

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

  • INSTANCE_GROUP_NAME: 承認されたサイズ変更リクエストがある MIG の名前。

  • RESIZE_REQUEST_NAMES: 指定されたゾーン MIG で許可されたサイズ変更リクエストの名前のカンマ区切りリスト。たとえば、request-1,request-2 を指定します。

  • ZONE: MIG が配置されているゾーン。

  • REGION: MIG が配置されているリージョン。

REST

  • ゾーン MIG でサイズ変更リクエストをキャンセルするには、instanceGroupManagerResizeRequests.cancel メソッドを使用して POST リクエストを送信します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
    
  • リージョン MIG でサイズ変更リクエストをキャンセルするには、beta.regionInstanceGroupManagerResizeRequests.cancel メソッドを使用して POST リクエストを送信します。

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
    

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

  • PROJECT_ID: サイズ変更リクエストが受け入れられた既存のゾーン MIG が存在するプロジェクトの ID。

  • ZONE: MIG が配置されているゾーン。

  • REGION: MIG が配置されているリージョン。

  • INSTANCE_GROUP_NAME: MIG の名前。

  • RESIZE_REQUEST_NAME: キャンセルするサイズ変更リクエストの名前。

MIG でサイズ変更リクエストを削除する

デフォルトでは、Compute Engine は、リクエストの状態を次のいずれかに設定してから 14 日後に、サイズ変更リクエストを自動的に削除します。

  • 成功(SUCCEEDED

  • 失敗(FAILED

  • キャンセル済み(CANCELLED

ただし、このセクションで説明するように、その前に直ちにサイズ変更リクエストを削除できます。

成功したサイズ変更リクエストを削除しても、そのリクエストで作成された VM は削除されません。MIG は、リクエストされた実行期間の終了時にこれらの VM を自動的に削除します。ただし、ジョブの実行が終了して VM が不要になった場合は、VM を削除します。

複数のサイズ変更リクエストを同時に削除するには、Google Cloud コンソールまたは gcloud CLI を使用します。1 件のサイズ変更リクエストを削除するには、次のいずれかのオプションを選択します。

コンソール

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

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

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

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

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

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

  4. 削除するサイズ変更リクエストを選択します。

  5. [削除] をクリックして、[確認] をクリックします。

gcloud

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

  • INSTANCE_GROUP_NAME: サイズ変更リクエストが成功、失敗、またはキャンセルされた MIG の名前。

  • RESIZE_REQUEST_NAMES: MIG で削除するサイズ変更リクエストの名前のカンマ区切りリスト。たとえば、request-1,request-2 を指定します。

  • ZONE: MIG が配置されているゾーン。

  • REGION: MIG が配置されているリージョン。

REST

  • ゾーン MIG でサイズ変更リクエストを削除するには、instanceGroupManagerResizeRequests.delete メソッドを使用して DELETE リクエストを送信します。

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    
  • リージョン MIG でサイズ変更リクエストを削除するには、beta.regionInstanceGroupManagerResizeRequests.delete メソッドを使用して DELETE リクエストを送信します。

    DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    

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

  • PROJECT_ID: サイズ変更リクエストが成功、失敗、またはキャンセルされた既存のゾーン MIG が存在するプロジェクトの ID。

  • ZONE: MIG が配置されているゾーン。

  • REGION: MIG が配置されているリージョン。

  • INSTANCE_GROUP_NAME: MIG の名前。

  • RESIZE_REQUEST_NAME: 削除するサイズ変更リクエストの名前。

次のステップ