MIG에서 크기 조절 요청 만들기

이 문서에서는 가상 머신(VM) 인스턴스의 관리형 인스턴스 그룹(MIG)에서 크기 조절 요청을 만드는 방법을 설명합니다. MIG 크기 조절 요청에 대한 자세한 내용은 MIG의 크기 조절 요청 정보를 참조하세요.

MIG 크기 조절 요청을 만들면 GPU와 같이 수요가 많은 리소스를 가져오고 VM을 한 번에 정확한 수만큼 만들어 비용을 최적화할 수 있습니다. AI 하이퍼컴퓨터에서 제공하는 기능과 서비스를 사용할 수 있는 MIG 크기 조절 요청을 만들려면 AI 하이퍼컴퓨터 문서의 MIG 및 크기 조절 요청 만들기를 참조하세요.

시작하기 전에

  • MIG 크기 조절 요청을 사용하여 최대 7일 동안 실행되는 워크로드에 대해 Flex-start 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. Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.

      gcloud init

      외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

    2. Set a default region and zone.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.

      gcloud init

      외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

    자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.

필요한 역할

MIG 크기 조절 요청을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자(v1)(roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 MIG 크기 조절 요청을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

MIG 크기 조절 요청을 만들려면 다음 권한이 필요합니다.

  • 인스턴스 템플릿을 만들려면 프로젝트에 대해 compute.instanceTemplates.create 권한이 필요합니다.
  • 영역 MIG를 만들려면 프로젝트에 대해 compute.instanceGroupManagers.create 권한이 필요합니다.
  • MIG 크기 조절 요청을 만들려면 프로젝트에 대한 compute.instanceGroupManagers.update 권한이 필요합니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

크기 조절 요청을 위한 MIG 준비

MIG 크기 조절 요청을 만들려면 다음 섹션의 설명대로 인스턴스 템플릿과 MIG를 구성해야 합니다.

인스턴스 템플릿 만들기

MIG 크기 조절 요청의 사용 사례에 따라 다음 방법 중 하나를 사용하여 인스턴스 템플릿을 만듭니다.

flex-start(유연한 시작) 프로비저닝 모델 사용

MIG 크기 조절 요청과 Flex-start VM을 만들도록 구성된 인스턴스 템플릿을 만들려면 템플릿에서 다음 설정을 지정해야 합니다.

참고: 데이터 과학 또는 머신러닝 워크로드를 실행하려면 인스턴스 템플릿을 만들 때 Deep Learning VM Image 이미지를 사용하는 것이 좋습니다. Deep Learning VM은 머신러닝 프레임워크 및 필수 도구와 함께 제공되는 사전 패키징된 VM 이미지 세트입니다. 이러한 이미지에 대한 자세한 내용은 Deep Learning VM 문서의 이미지 선택을 참고하세요.

인스턴스 템플릿을 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 템플릿 페이지로 이동합니다.

    인스턴스 템플릿으로 이동

  2. 인스턴스 템플릿 만들기를 클릭합니다. 인스턴스 템플릿 만들기 페이지가 열립니다.

  3. 이름 필드에 인스턴스 템플릿의 이름을 입력합니다.

  4. 위치 섹션에서 다음 옵션 중 하나를 선택합니다.

    • 리전 인스턴스 템플릿을 만들려면 리전(권장)을 선택한 후 템플릿을 만들 리전을 선택합니다.

    • 전역 인스턴스 템플릿을 만들려면 전역을 선택합니다.

  5. 머신 구성 섹션에서 GPU 머신 유형 또는 H4D 머신 유형을 지정합니다.

  6. 프로비저닝 모델 섹션에서 다음 단계를 완료합니다.

    1. VM 프로비저닝 모델 필드에서 유연한 시작을 선택합니다.

    2. VM 프로비저닝 모델 고급 설정을 펼칩니다.

    3. VM 시간 제한 설정 체크박스를 선택합니다.

    4. 인스턴스 템플릿을 통해 생성된 VM의 실행 기간을 설정하려면 시간 입력 필드에 시간을 입력합니다. 값은 36초(0.01)에서 7일(168) 사이여야 합니다.

  7. (선택사항) 부팅 디스크 유형 또는 이미지를 변경하려면 부팅 디스크 섹션에서 변경을 클릭합니다. 그런 다음 안내에 따라 부팅 디스크를 변경합니다.

  8. 만들기를 클릭합니다.

gcloud

인스턴스 템플릿을 만들려면 다음 플래그와 함께 instance-templates create 명령어를 사용합니다.

  • DELETE로 설정된 --instance-termination-action 플래그

  • TERMINATE로 설정된 --maintenance-policy 플래그

  • --max-run-duration 플래그

  • FLEX_START로 설정된 --provisioning-model 플래그

  • none로 설정된 --reservation-affinity 플래그

예를 들어 리전 인스턴스 템플릿을 만들려면 다음 명령어를 실행합니다. 전역 인스턴스 템플릿을 만들려면 --instance-template-region 플래그 없이 같은 명령어를 사용합니다.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-template-region=REGION \
    --instance-termination-action=DELETE \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --max-run-duration=RUN_DURATION \
    --provisioning-model=FLEX_START \
    --reservation-affinity=none

다음을 바꿉니다.

  • INSTANCE_TEMPLATE_NAME: 만들려는 인스턴스 템플릿의 이름입니다.

  • IMAGE_PROJECT: 이미지가 포함된 이미지 프로젝트입니다(예: debian-cloud). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.

  • IMAGE_FAMILY: 이미지 계열입니다. 지원 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어 debian-12를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.

  • REGION: 인스턴스 템플릿을 만들 리전입니다.

  • MACHINE_TYPE: Flex-start VM에 사용할 GPU 머신 유형 또는 H4D 머신 유형입니다. N1 머신 유형을 지정하는 경우 VM에 연결할 GPU 수와 유형을 정의하는 --accelerator 플래그를 포함해야 합니다.

  • RUN_DURATION: 요청된 VM을 실행할 기간입니다. 각각 d, h, m, s를 사용하여 일, 시, 분 또는 초 순서로 값 형식을 지정해야 합니다. 예를 들어 30분의 경우 30m을, 1일 2시간 3분 4초의 경우 1d2h3m4s를 지정합니다. 값은 10분~7일 사이여야 합니다.

REST

인스턴스 템플릿을 만들려면 POST 요청을 다음 메서드 중 하나에 보냅니다.

요청 본문에 다음 필드를 포함합니다.

  • NO_RESERVATION으로 설정된 reservationAffinity.consumeReservationType 필드

  • DELETE로 설정된 scheduling.instanceTerminationAction 필드

  • scheduling.maxRunDuration 필드

  • TERMINATE로 설정된 scheduling.onHostMaintenance 필드

  • FLEX_START로 설정된 scheduling.provisioningModel 필드

예를 들어 리전 인스턴스 템플릿을 만들려면 다음과 같이 요청합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "NO_RESERVATION"
    },
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": RUN_DURATION
      },
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START"
    }
  }
}

다음을 바꿉니다.

  • PROJECT_ID: 인스턴스 템플릿을 만들 프로젝트의 ID

  • REGION: 인스턴스 템플릿을 만들 리전입니다.

  • INSTANCE_TEMPLATE_NAME: 만들려는 인스턴스 템플릿의 이름입니다.

  • IMAGE_PROJECT: 이미지가 포함된 이미지 프로젝트입니다(예: debian-cloud). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.

  • IMAGE: 다음 중 하나를 지정합니다.

    • OS 이미지의 특정 버전입니다(예: debian-12-bookworm-v20240617).

    • 이미지 계열이며 형식은 family/IMAGE_FAMILY여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어 family/debian-12를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.

  • MACHINE_TYPE: VM에 사용할 GPU 머신 유형입니다. N1 머신 유형을 지정하는 경우 VM에 연결할 GPU 수와 유형을 정의하는 guestAccelerators 필드를 포함해야 합니다.

  • RUN_DURATION: 요청된 VM을 실행할 기간(초)입니다. 값은 600(600초(10분))~604800(604,800초(7일)) 사이여야 합니다.

인스턴스 템플릿 만들기에 대한 자세한 내용은 인스턴스 템플릿 만들기를 참조하세요.

예약에 따름 프로비저닝 모델 사용

MIG 크기 조절 요청과 예약을 사용하도록 구성된 인스턴스 템플릿을 만들려면 템플릿에서 다음을 지정해야 합니다.

참고: 데이터 과학 또는 머신러닝 워크로드를 실행하려면 인스턴스 템플릿을 만들 때 Deep Learning VM Image 이미지를 사용하는 것이 좋습니다. Deep Learning VM은 머신러닝 프레임워크 및 필수 도구와 함께 제공되는 사전 패키징된 VM 이미지 세트입니다. 이러한 이미지에 대한 자세한 내용은 Deep Learning VM 문서의 이미지 선택을 참고하세요.

인스턴스 템플릿을 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 템플릿 페이지로 이동합니다.

    인스턴스 템플릿으로 이동

  2. 인스턴스 템플릿 만들기를 클릭합니다. 인스턴스 템플릿 만들기 페이지가 열립니다.

  3. 이름 필드에 인스턴스 템플릿의 이름을 입력합니다.

  4. 위치 섹션에서 다음 옵션 중 하나를 선택합니다.

    • 리전 인스턴스 템플릿을 만들려면 리전(권장)을 선택한 후 템플릿을 만들 리전을 선택합니다.

    • 전역 인스턴스 템플릿을 만들려면 전역을 선택합니다.

  5. 머신 구성 섹션에서 A4, A3 Ultra 또는 H4D 머신 유형을 지정합니다.

  6. 프로비저닝 모델 섹션에서 다음 단계를 완료합니다.

    1. VM 프로비저닝 모델 고급 설정을 펼칩니다.

    2. VM 종료 시 목록에서 삭제를 선택합니다.

  7. (선택사항) 부팅 디스크 유형 또는 이미지를 변경하려면 부팅 디스크 섹션에서 변경을 클릭합니다. 그런 다음 안내에 따라 부팅 디스크를 변경합니다.

  8. 고급 옵션 섹션을 펼친 후 다음을 수행합니다.

    1. 관리 섹션을 펼칩니다.

    2. 예약 섹션에서 예약 선택을 선택한 다음 예약 선택을 클릭합니다. 표시되는 창에서 메시지에 따라 사용할 예약을 선택합니다.

  9. 만들기를 클릭합니다.

gcloud

인스턴스 템플릿을 만들려면 다음 플래그와 함께 instance-templates create 명령어를 사용합니다.

  • DELETE로 설정된 --instance-termination-action 플래그

  • TERMINATE로 설정된 --maintenance-policy 플래그

  • RESERVATION_BOUND로 설정된 --provisioning-model 플래그

  • specific로 설정된 --reservation-affinity 플래그

  • --reservation 플래그

예를 들어 리전 인스턴스 템플릿을 만들려면 다음 명령어를 실행합니다. 전역 인스턴스 템플릿을 만들려면 --instance-template-region 플래그 없이 같은 명령어를 사용합니다.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-termination-action=DELETE \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --provisioning-model=RESERVATION_BOUND \
    --reservation-affinity=specific \
    --reservation=RESERVATION_URL

다음을 바꿉니다.

  • INSTANCE_TEMPLATE_NAME: 만들려는 인스턴스 템플릿의 이름입니다.

  • IMAGE_PROJECT: 이미지가 포함된 이미지 프로젝트입니다(예: debian-cloud). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.

  • IMAGE_FAMILY: 이미지 계열입니다. 지원 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어 debian-12를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.

  • REGION: 인스턴스 템플릿을 만들 리전입니다.

  • MACHINE_TYPE: 사용할 예약에 지정된 A4 또는 A3 Ultra 머신 유형

  • RESERVATION_URL: 사용할 캘린더 모드의 미래용 예약에 대해 자동 생성된 예약의 URL 다음 값 중 하나를 지정합니다.

    • 자동 생성된 예약이 프로젝트에 있는 경우: RESERVATION_NAME

    • 자동 생성된 예약이 다른 프로젝트에 있는 경우: projects/PROJECT_ID/reservations/RESERVATION_NAME

REST

인스턴스 템플릿을 만들려면 POST 요청을 다음 메서드 중 하나에 보냅니다.

요청 본문에 다음 필드를 포함합니다.

  • SPECIFIC_RESERVATION으로 설정된 reservationAffinity.consumeReservationType 필드

  • compute.googleapis.com/reservation-name으로 설정된 reservationAffinity.key 필드

  • 자동 생성된 예약의 URL로 설정된 reservationAffinity.values 필드

  • DELETE로 설정된 scheduling.instanceTerminationAction 필드

  • TERMINATE로 설정된 scheduling.onHostMaintenance 필드

  • RESERVATION_BOUND로 설정된 scheduling.provisioningModel 필드

예를 들어 리전 인스턴스 템플릿을 만들려면 다음과 같이 요청합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "SPECIFIC_RESERVATION",
      "key": "compute.googleapis.com/reservation-name",
      "values": [
        "RESERVATION_URL"
      ]
    },
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "RESERVATION_BOUND"
    }
  }
}

다음을 바꿉니다.

  • PROJECT_ID: 인스턴스 템플릿을 만들 프로젝트의 ID

  • REGION: 인스턴스 템플릿을 만들 리전입니다.

  • INSTANCE_TEMPLATE_NAME: 만들려는 인스턴스 템플릿의 이름입니다.

  • IMAGE_PROJECT: 이미지가 포함된 이미지 프로젝트입니다(예: debian-cloud). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.

  • IMAGE: 다음 중 하나를 지정합니다.

    • OS 이미지의 특정 버전입니다(예: debian-12-bookworm-v20240617).

    • 이미지 계열이며 형식은 family/IMAGE_FAMILY여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어 family/debian-12를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.

  • MACHINE_TYPE: 사용할 예약에 지정된 A4 또는 A3 Ultra 머신 유형

  • RESERVATION_URL: 사용할 캘린더 모드의 미래용 예약에 대해 자동 생성된 예약의 URL 다음 값 중 하나를 지정합니다.

    • 자동 생성된 예약이 프로젝트에 있는 경우: RESERVATION_NAME

    • 자동 생성된 예약이 다른 프로젝트에 있는 경우: projects/PROJECT_ID/reservations/RESERVATION_NAME

인스턴스 템플릿 만들기에 대한 자세한 내용은 인스턴스 템플릿 만들기를 참조하세요.

MIG 만들기 또는 업데이트

이전 섹션에 설명된 대로 인스턴스 템플릿을 만든 후 이 인스턴스 템플릿을 사용하여 다음과 같이 MIG를 만들거나 MIG를 업데이트합니다. 또한 크기 조절 요청에 맞게 MIG를 준비하기 위해 다음을 수행해야 합니다.

크기 조절 요청과 호환되는 MIG를 만들려면 다음 옵션 중 하나를 선택합니다.

콘솔

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

    인스턴스 그룹으로 이동

  2. 인스턴스 그룹 만들기를 클릭합니다. 인스턴스 그룹 만들기 페이지가 열립니다.

  3. 이름 필드에 MIG 이름을 입력합니다.

  4. 인스턴스 템플릿을 선택하기 전에 다음과 같이 자동 확장 구성을 삭제하고 복구를 사용 중지해야 합니다.

    1. 자동 확장 구성을 삭제하려면 다음 단계를 따르세요.

      1. 자동 확장 섹션에서 자동 확장 모드 목록을 클릭한 후 자동 확장 구성 삭제를 클릭합니다.

      2. 확인 대화상자에서 삭제를 클릭합니다.

    2. 복구를 사용 중지하려면 VM 인스턴스 수명 주기 섹션에서 실패 시 기본 작업 목록을 클릭한 후 적용할 작업 없음을 선택합니다.

  5. 인스턴스 템플릿 필드로 돌아갑니다. 인스턴스 템플릿 목록에서 이전 섹션에서 만든 인스턴스 템플릿을 선택합니다. 리전 인스턴스 템플릿을 선택하면 리전 목록이 템플릿 리전으로 설정됩니다.

  6. 다음 중 하나를 수행합니다.

    • MIG를 만들 때 크기 조절 요청을 만들려면 다음을 수행합니다.

      1. 인스턴스 수 필드에 한 번에 만들려는 VM 수를 입력합니다.

      2. 크기 조절 요청을 사용하여 한 번에 모든 VM 만들기 체크박스를 선택합니다.

      3. 선택사항: MIG의 인스턴스 템플릿에 실행 기간이 지정된 경우 다른 실행 기간을 지정할 수 있습니다. 이렇게 하려면 요청된 실행 기간 필드와 단위 목록에서 실행 기간을 지정합니다. 기간은 1시간~7일 사이로 지정해야 합니다.

    • MIG를 만든 후 크기 조절 요청을 만들려면 인스턴스 수 필드에 0을 입력합니다.

  7. 위치 섹션에서 다음과 같이 영역 또는 리전 MIG를 만들지 여부를 지정합니다.

    1. 영역 MIG를 만들려면 단일 영역을 선택합니다. 또는 리전 MIG를 만들려면 여러 영역을 선택합니다.

    2. MIG의 리전영역을 선택합니다.

    3. 리전 MIG를 만드는 경우 다음을 수행합니다.

      1. 목표 분산 형태 필드에서 모든 단일 영역을 선택합니다.

      2. 대화상자가 열리면 인스턴스 재분산 사용 중지를 클릭합니다.

  8. 만들기를 클릭합니다.

gcloud

--default-action-on-vm-failure 플래그를 do_nothing으로 설정하여 instance-groups managed create 명령어를 사용합니다. 리전 MIG를 만드는 경우 --target-distribution-shape 플래그를 any-single-zone으로 설정하고 --instance-redistribution-type 플래그를 none으로 설정해야 합니다.

  • 영역 MIG를 만들려면 다음 명령어를 실행합니다.

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=0 \
        --zone=ZONE \
        --default-action-on-vm-failure=do_nothing
    
  • 리전 MIG를 만들려면 다음 명령어를 실행합니다.

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=0 \
        --region=REGION \
        --target-distribution-shape=any-single-zone \
        --instance-redistribution-type=none \
        --default-action-on-vm-failure=do_nothing
    

다음을 바꿉니다.

  • INSTANCE_GROUP_NAME: 만들려는 MIG의 이름입니다.

  • INSTANCE_TEMPLATE_URL: 이전 섹션에서 만든 인스턴스 템플릿의 부분 URL입니다. 리전 인스턴스 템플릿을 사용하여 MIG를 만들려면 템플릿의 리전 내에서만 MIG를 만들 수 있습니다. 다음 값 중 하나를 지정합니다.

    • 리전 인스턴스 템플릿의 경우: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME

    • 전역 인스턴스 템플릿의 경우: INSTANCE_TEMPLATE_NAME

  • ZONE: MIG를 만들 영역으로 바꿉니다.

  • REGION: MIG를 만들 리전으로 바꿉니다.

REST

  • 영역 MIG를 만들려면 다음과 같이 instanceGroupManagers.insert 메서드를 사용하여 POST 요청을 전송합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "INSTANCE_GROUP_NAME",
      "targetSize": 0,
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "DO_NOTHING"
      }
    }
    
  • 리전 MIG를 만들려면 다음과 같이 regionInstanceGroupManagers.insert 메서드를 사용하여 POST 요청을 전송합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
    
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "INSTANCE_GROUP_NAME",
      "targetSize": 0,
      "distributionPolicy": {
        "targetShape": "ANY_SINGLE_ZONE"
      },
      "updatePolicy": {
        "instanceRedistributionType": "NONE"
      },
      "instanceLifecyclePolicy": {
        "defaultActionOnFailure": "DO_NOTHING"
      }
    }
    

다음을 바꿉니다.

  • PROJECT_ID: 이전 섹션에서 만든 인스턴스 템플릿이 있는 프로젝트의 ID로 바꿉니다.

  • INSTANCE_TEMPLATE_URL: 이전 섹션에서 만든 인스턴스 템플릿의 부분 URL입니다. 리전 인스턴스 템플릿을 사용하여 MIG를 만들려면 템플릿의 리전 내에서만 MIG를 만들 수 있습니다. 다음 값 중 하나를 지정합니다.

    • 리전 인스턴스 템플릿의 경우: regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME

    • 전역 인스턴스 템플릿의 경우: global/instanceTemplates/INSTANCE_TEMPLATE_NAME

  • ZONE: MIG를 만들 영역으로 바꿉니다.

  • REGION: MIG를 만들 리전으로 바꿉니다.

  • INSTANCE_GROUP_NAME: 만들려는 MIG의 이름입니다.

MIG에서 크기 조절 요청 만들기

MIG 크기 조절 요청을 만들기 전에 이전 섹션의 설명대로 MIG가 준비되었는지 확인합니다.

크기 조절 요청을 만들고 요청된 모든 리소스를 사용할 수 있게 되면 MIG에서 VM을 한 번에 요청된 수만큼 만듭니다. VM은 지정된 실행 기간이 종료되어 MIG에서 삭제되거나 사용자가 VM을 삭제할 때까지 실행됩니다.

MIG에서 크기 조절 요청을 만들려면 다음 옵션 중 하나를 선택합니다. 크기 조절 요청을 통해 특정 이름의 VM을 MIG에 추가하려면 gcloud CLI 또는 REST API를 사용합니다.

콘솔

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

    인스턴스 그룹으로 이동

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

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

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

  4. 새 크기 조절 요청을 클릭합니다.

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

  5. 이름 필드에 크기 조절 요청의 이름을 입력합니다.

  6. 필요한 추가 인스턴스 수 필드에 MIG에 한 번에 추가할 VM 수를 입력합니다.

  7. 선택사항: MIG의 인스턴스 템플릿에 실행 기간이 지정된 경우 다른 실행 기간을 지정할 수 있습니다. 이렇게 하려면 요청된 실행 기간 필드와 단위 목록에서 실행 기간을 지정합니다. 1시간에서 7일 사이의 기간을 지정해야 합니다.

  8. 만들기를 클릭합니다.

gcloud

  • 영역 MIG에서 크기 조절 요청을 만들려면 instance-groups managed resize-requests create 명령어를 사용합니다.

    gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --resize-by=COUNT \
        --zone=ZONE
    
  • 리전 MIG에서 크기 조절 요청을 만들려면 beta instance-groups managed resize-requests create 명령어를 사용합니다.

    gcloud beta compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --resize-by=COUNT \
        --region=REGION
    

다음을 바꿉니다.

  • INSTANCE_GROUP_NAME: 크기 조절 요청을 만들 수 있도록 구성된 MIG의 이름으로 바꿉니다.

  • RESIZE_REQUEST_NAME:지정된 MIG 내에서 고유해야 하는 크기 조절 요청의 이름입니다. 그렇지 않으면 크기 조절 요청 만들기가 실패합니다.

  • COUNT: MIG에 모두 한 번에 모두 추가할 VM 수입니다.

  • ZONE: MIG가 있는 영역으로 바꿉니다.

  • REGION: MIG가 있는 리전으로 바꿉니다.

원하는 경우 다음 작업을 수행할 수 있습니다.

REST

요청 본문에 다음을 포함합니다.

{
  "name": "RESIZE_REQUEST_NAME",
  "resizeBy": COUNT
}

다음을 바꿉니다.

  • PROJECT_ID: 지정된 MIG가 있는 프로젝트의 ID로 바꿉니다.

  • ZONE: MIG가 있는 영역으로 바꿉니다.

  • REGION: MIG가 있는 리전으로 바꿉니다.

  • INSTANCE_GROUP_NAME: 크기 조절 요청을 만들 수 있도록 구성된 MIG의 이름으로 바꿉니다.

  • RESIZE_REQUEST_NAME:지정된 MIG 내에서 고유해야 하는 크기 조절 요청의 이름입니다. 그렇지 않으면 크기 조절 요청 만들기가 실패합니다.

  • COUNT: MIG에 한 번에 모두 추가할 VM 수입니다.

원하는 경우 다음 작업을 수행할 수 있습니다.

다음 단계