MIG에서 크기 조절 요청 보기, 취소, 삭제


이 문서에서는 관리형 인스턴스 그룹(MIG)에서 크기 조절 요청 만들기를 수행한 후 다음을 수행하는 방법을 설명합니다.

  • MIG에서 크기 조절 요청을 보고 상태를 모니터링하거나 문제 해결을 수행합니다.

  • 크기 조절 요청을 취소하여 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의 모든 크기 조절 요청의 목록과 상태, 요청된 VM 수, VM 실행 기간과 같은 세부정보를 볼 수 있습니다.

콘솔

MIG에서 모든 크기 조절 요청의 목록을 보려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.

    인스턴스 그룹으로 이동

  2. 이름 열에서 크기 조절 요청이 포함된 MIG의 이름을 클릭합니다.

    MIG의 개요 페이지가 열립니다.

  3. 크기 조절 요청 행에서 크기 조절 요청 수정을 클릭합니다.

    크기 조절 요청 창이 나타납니다.

gcloud

MIG의 모든 크기 조절 요청 목록을 보려면 instance-groups managed resize-requests list 명령어를 사용합니다.

gcloud compute instance-groups managed resize-requests list INSTANCE_GROUP_NAME \
    --zone=ZONE

다음을 바꿉니다.

  • INSTANCE_GROUP_NAME: 수락, 성공, 취소, 실패 상태의 크기 조절 요청이 있는 기존 영역 MIG의 이름입니다.

  • ZONE: 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

다음을 바꿉니다.

  • PROJECT_ID: 수락, 성공, 취소, 실패 상태의 크기 조절 요청이 포함된 기존 영역 MIG가 있는 프로젝트의 ID입니다.

  • ZONE: MIG가 있는 영역입니다.

  • INSTANCE_GROUP_NAME: 수락, 성공, 취소, 실패 상태의 크기 조절 요청이 있는 기존 영역 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/beta/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/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
      "selfLinkWithId": "https://www.googleapis.com/compute/beta/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/beta/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/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
      "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}

크기 조절 요청의 세부정보 보기

크기 조절 요청의 세부정보를 보고 구성을 검토하고, 선택적으로 요청이 아직 성공하지 않았으면 문제 해결을 수행할 수 있습니다.

(ACCEPTED) 크기 조절 요청이 성공하지 않는 이유를 확인하려면 세부정보에서 lastAttempt.error.errors.code 필드를 확인합니다. 가능한 오류 코드는 다음과 같습니다.

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: 요청된 리소스를 일시적으로 사용할 수 없습니다.

  • QUOTA_EXCEEDED: 프로젝트에 요청된 리소스에 대한 할당량이 부족합니다. 프로젝트 할당량을 늘리려면 더 높은 할당량 요청을 참조하세요.

gcloud

영역 MIG에서 크기 조절 요청의 세부정보를 보려면 instance-groups managed resize-requests describe 명령어를 사용합니다.

gcloud compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \
    --resize-request=RESIZE_REQUEST_NAME \
    --zone=ZONE

다음을 바꿉니다.

  • INSTANCE_GROUP_NAME: 크기 조절 요청이 있는 기존 영역 MIG의 이름입니다.

  • RESIZE_REQUEST_NAME: 세부정보를 보려는 기존 크기 조절 요청의 이름입니다.

  • ZONE: MIG가 있는 영역입니다.

출력은 다음과 비슷합니다.

creationTimestamp: '2024-01-10T07:51:53.034-08:00'
id: '4247139565532196982'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
  nanos: 0
  seconds: '6000'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982
state: ACCEPTED
status:
  lastAttempt:
    error:
      errors:
      - code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
        message: There are currently not enough resources available to fulfill the request.
      - code: QUOTA_EXCEEDED
        message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
zone: https://www.googleapis.com/compute/beta/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

다음을 바꿉니다.

  • PROJECT_ID: 영역 MIG가 있는 프로젝트의 ID입니다.

  • ZONE: MIG가 있는 영역입니다.

  • INSTANCE_GROUP_NAME: 크기 조절 요청이 있는 기존 영역 MIG의 이름입니다.

  • RESIZE_REQUEST_NAME: 세부정보를 보려는 기존 크기 조절 요청의 이름입니다.

출력은 다음과 비슷합니다.

{
  "kind": "compute#instanceGroupManagerResizeRequest",
  "id": "4247139565532196982",
  "creationTimestamp": "2024-01-10T07:51:53.034-08:00",
  "name": "example-request",
  "zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
  "count": 10,
  "resizeBy": 10,
  "requestedRunDuration": {
    "seconds": "6000",
    "nanos": 0
  },
  "state": "ACCEPTED",
  "status": {
    "lastAttempt": {
      "error": {
        "errors": [
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "There are currently not enough resources available to fulfill the request.",
          },
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          }
        ]
      }
    }
  },
  "selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
  "selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
}

MIG에서 크기 조절 요청 취소

MIG에서 크기 조절 요청을 취소하여 MIG가 요청된 개수의 VM 만들기를 시도하지 못하도록 멈출 수 있습니다. 수락된(ACCEPTED) 크기 조절 요청만 취소할 수 있습니다. 크기 조절 요청을 취소한 후에는 이를 삭제하거나 14일 후 Compute Engine에서 자동으로 삭제되도록 할 수 있습니다.

크기 조절 요청을 한 번에 여러 개 취소하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용합니다.

콘솔

영역 MIG에서 크기 조절 요청을 취소하려면 다음을 수행합니다.

  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

다음을 바꿉니다.

  • INSTANCE_GROUP_NAME: 수락된 크기 조절 요청이 있는 기존 영역 MIG의 이름입니다.

  • RESIZE_REQUEST_NAMES: 지정된 영역 MIG에서 수락된 크기 조절 요청의 쉼표로 구분된 이름 목록입니다. 예를 들어 request-1,request-2를 지정합니다.

  • ZONE: 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

다음을 바꿉니다.

  • PROJECT_ID: 수락된 크기 조절 요청이 포함된 기존 영역 MIG가 있는 프로젝트의 ID입니다.

  • ZONE: MIG가 있는 영역입니다.

  • INSTANCE_GROUP_NAME: MIG 이름입니다.

  • RESIZE_REQUEST_NAME: 취소할 크기 조절 요청의 이름입니다.

MIG에서 크기 조절 요청 삭제

기본적으로 Compute Engine은 요청 상태를 다음 중 하나로 설정한 후 14일이 지나면 크기 조절 요청을 자동으로 삭제합니다.

  • 성공(SUCCEEDED)

  • 실패(FAILED)

  • 취소됨(CANCELLED)

하지만 이 섹션에 설명된 대로 그 전에 크기 조절 요청을 즉시 삭제할 수 있습니다.

성공한 크기 조절 요청을 삭제하면 해당 요청으로 생성된 VM이 삭제되지 않습니다. MIG는 요청된 실행 기간이 종료되었을 때 해당 VM을 자동으로 삭제합니다. 하지만 작업 실행이 완료되었고 VM이 더 이상 필요하지 않으면 VM을 삭제합니다.

크기 조절 요청을 한 번에 여러 개 삭제하려면 Google Cloud 콘솔 또는 gcloud CLI를 사용합니다.

콘솔

영역 MIG에서 크기 조절 요청을 삭제하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.

    인스턴스 그룹으로 이동

  2. 이름 열에서 크기 조절 요청이 포함된 MIG의 이름을 클릭합니다.

    MIG의 개요 페이지가 열립니다.

  3. 크기 조절 요청 행에서 크기 조절 요청 수정을 클릭합니다.

    크기 조절 요청 창이 나타납니다.

  4. 삭제할 크기 조절 요청을 선택합니다.

  5. 삭제를 클릭한 후 확인을 클릭합니다.

gcloud

영역 MIG에서 크기 조절 요청을 삭제하려면 instance-groups managed resize-requests delete 명령어를 사용합니다.

gcloud compute instance-groups managed resize-requests delete INSTANCE_GROUP_NAME \
    --resize-requests=RESIZE_REQUEST_NAMES \
    --zone=ZONE

다음을 바꿉니다.

  • INSTANCE_GROUP_NAME: 성공 실패, 취소 상태의 크기 조절 요청이 있는 기존 영역 MIG의 이름입니다.

  • RESIZE_REQUEST_NAMES: MIG에서 삭제할 크기 조절 요청의 쉼표로 구분된 이름 목록입니다. 예를 들어 request-1,request-2를 지정합니다.

  • ZONE: 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

다음을 바꿉니다.

  • PROJECT_ID: 성공, 실패 또는 취소 상태의 크기 조절 요청이 포함된 기존 영역 MIG가 있는 프로젝트의 ID입니다.

  • ZONE: MIG가 있는 영역입니다.

  • INSTANCE_GROUP_NAME: MIG 이름입니다.

  • RESIZE_REQUEST_NAME: 삭제할 크기 조절 요청의 이름입니다.

다음 단계