일괄 생성된 VM의 인스턴스 유연성 정보

Compute Engine을 사용하여 리전에서 가상 머신 (VM)을 일괄로 만들 때 애플리케이션이 단일 머신 유형으로 제한되지 않는 경우 인스턴스 유연성 을 구성하여 필요한 VM 수를 프로비저닝할 수 있는 성공률을 높일 수 있습니다. 인스턴스 유연성을 사용하면 워크로드에 적합한 머신 유형을 하나 이상 지정할 수 있습니다. 그러면 Compute Engine은 용량 및 할당량 가용성을 기반으로 이러한 머신 유형을 하나 이상 사용하여 VM을 프로비저닝합니다. 단일 일괄 삽입 요청으로 여러 가지 머신 유형의 VM을 만들 수 있습니다.

인스턴스 유연성을 사용하면 수요 급증 시 리소스 가용성을 극대화하고, 가격 대비 성능을 개선하며, 최신 하드웨어를 안전하게 도입할 수 있습니다. 자세한 내용은 컴퓨팅 프로비저닝 최적화를 참조하세요.

이 문서에서는 최소 CPU 플랫폼 및 디스크의 인스턴스 속성 재정의와 제한사항을 비롯하여 일괄로 생성된 VM의 인스턴스 유연성 작동 방식을 설명합니다. 인스턴스 유연성 구성에 대한 자세한 내용은 인스턴스 유연성을 사용하여 VM 일괄 생성을 참조하세요.

인스턴스 유연성 사용

인스턴스 유연성을 구성하려면 리전 일괄 삽입 요청에서 인스턴스 선택 항목을 하나 이상 정의하여 적합한 머신 유형을 나열합니다. 예를 들어 REST 요청에서 instanceFlexibilityPolicy 객체를 포함합니다. 이 객체 내에서 머신 유형 목록이 포함된 instanceSelections 객체를 하나 이상 정의합니다.

또한 다른 CPU 플랫폼에서 실행되거나, 다른 아키텍처 (예: x86 및 Arm)를 사용하거나, 다른 디스크 요구사항이 있는 머신 유형을 지정할 수도 있습니다. 하드웨어 요구사항이 다른 머신 유형을 사용하려면 인스턴스 선택 항목을 사용하여 요청의 인스턴스 속성 (instanceProperties)에서 상응하는 속성을 재정의합니다. 자세한 내용은 인스턴스 선택 항목의 인스턴스 속성 재정의를 참조하세요.

Compute Engine은 요청을 수신하면 먼저 잘못된 항목을 제외하고 머신 유형과 영역 호환성을 검증합니다. 유효한 구성이 하나 이상 있으면 작업이 진행됩니다.

그런 다음 Compute Engine은 사용 가능한 하드웨어, 할당량, 예약을 기반으로 VM을 프로비저닝하려고 시도합니다. 인스턴스 선택 항목에 순위를 구성하면 순위가 낮은 선택 항목의 우선순위가 지정됩니다. 각 순위 내에서 Compute Engine은 사용되지 않는 예약 및 스팟 VM 안내를 고려하여 선점 가능성이 낮은 머신 유형을 선택합니다.

인스턴스 선택 항목의 인스턴스 속성 재정의

인스턴스 선택 항목을 만들 때 최소 CPU 플랫폼 (minCpuPlatform) 및 디스크 (disks)와 같은 추가 인스턴스 속성을 지정하여 요청의 인스턴스 속성 (instanceProperties)에 정의된 속성을 재정의하거나 추가할 수 있습니다. Compute Engine은 인스턴스 선택 항목에서 머신 유형을 선택하여 VM을 만들 때 해당 선택 항목에 지정한 인스턴스 속성을 사용합니다. 인스턴스 선택 항목에 재정의를 지정하지 않으면 Compute Engine은 해당 선택 항목에서 만드는 VM에 대해 instanceProperties의 상응하는 속성을 사용합니다.

인스턴스 선택 항목 수준에서 인스턴스 속성을 재정의하면 단일 일괄 삽입 요청에서 여러 하드웨어 구성을 사용할 때 더 많은 제어 및 유연성을 제공할 수 있습니다.

최소 CPU 플랫폼 재정의

Compute Engine이 인스턴스 선택 항목의 머신 유형에서 만드는 VM에 대해 최소 CPU 플랫폼 (minCpuPlatform)을 지정할 수 있습니다. 이 재정의를 사용하면 여러 머신 유형을 혼합하고 최소 CPU 플랫폼을 선택적으로 적용할 수 있습니다. 인스턴스 선택 항목의 각 머신 유형은 선택 항목에 지정되었는지 또는 instanceProperties에서 상속되었는지에 관계없이 유효한 최소 CPU 플랫폼을 지원해야 합니다.

또는 minCpuPlatform 필드를 AUTOMATIC으로 설정할 수 있습니다. 이 설정은 instanceProperties의 minCpuPlatform 값을 재정의하고 Compute Engine이 인스턴스 선택 항목의 머신 유형에 호환되는 CPU 플랫폼을 사용할 수 있도록 합니다.

하나의 시리즈만 특정 CPU 플랫폼을 지원하는 머신 유형을 혼합하려면 별도의 인스턴스 선택 항목에 배치합니다. 예를 들어 N4 머신 유형은 Intel Emerald Rapids 플랫폼을 지원하는 반면 vCPU가 96개 미만인 N2 머신 유형은 Intel Ice Lake 및 Intel Cascade Lake를 지원합니다. 일괄 삽입 요청에서 N4와 N2를 혼합하고 N2가 Intel Ice Lake에서 실행되도록 하려면 다음과 같이 두 개의 인스턴스 선택 항목을 구성합니다.

  • N2 선택 항목: minCpuPlatform 필드를 Intel Ice Lake로 설정합니다.
  • N4 선택 항목: minCpuPlatform 필드를 설정하지 않은 상태로 두거나 AUTOMATIC으로 설정합니다.

두 인스턴스 선택 항목에 동일한 순위를 할당하여 두 머신 유형에 동일한 선호도를 설정할 수 있습니다.

디스크 재정의

인스턴스 선택 항목에서 커스텀 디스크 구성을 지정하여 instanceProperties에 지정된 부팅 디스크 또는 추가 디스크를 재정의하거나 추가 디스크를 연결할 수 있습니다. 이 재정의를 사용하면 아키텍처가 다르거나 다른 디스크 유형을 지원하는 머신 유형을 혼합할 수 있습니다. 또한 각 머신 유형에 필요한 부팅 이미지 또는 디스크를 지정할 수 있습니다.

예를 들어 별도의 인스턴스 선택 항목을 사용하여 요구사항이 다른 디스크를 재정의할 수 있습니다.

  • 다른 아키텍처: C4 (x86 아키텍처) 및 C4A (Arm 아키텍처) 머신 유형을 혼합할 수 있습니다. x86 및 Arm 머신 유형에는 다른 부팅 이미지가 필요하므로 부팅 디스크를 재정의하여 각 아키텍처에 호환되는 이미지를 지정할 수 있습니다.
  • 다른 디스크 유형: N2 및 N4 머신 유형을 혼합할 수 있습니다. N2는 부팅 디스크에 영구 디스크만 지원하고 N4는 Google Cloud Hyperdisk만 지원하므로 디스크 구성을 재정의하여 각 머신 시리즈에 지원되는 디스크 유형을 지정할 수 있습니다.

어느 시나리오에서든 인스턴스 선택 항목에 동일한 순위를 할당하여 두 머신 유형에 동일한 선호도를 설정할 수 있습니다.

인스턴스 선택 항목의 디스크에 instanceProperties의 디스크와 일치하는 deviceName이 있으면 Compute Engine은 해당 디스크의 구성을 재정의합니다. deviceName이 instanceProperties의 디스크와 일치하지 않으면 Compute Engine은 이를 추가 디스크로 연결합니다. 유효한 디스크 구성이 인스턴스 선택 항목의 모든 머신 유형과 호환되는지 확인해야 합니다.

다음 다이어그램은 Compute Engine이 instanceProperties 및 인스턴스 선택 항목의 디스크 구성을 병합하는 방법을 보여줍니다.

인스턴스 선택의 디스크가 인스턴스 속성에서 일치하는 기기 이름이 있는 디스크를 재정의하고 기기 이름이 일치하지 않을 때 추가 디스크로 연결되는 것을 보여주는 다이어그램

VM을 일괄로 만들 때 최소 CPU 플랫폼 및 디스크 재정의를 지정하는 방법에 대한 안내는 여러 머신 유형, 최소 CPU 플랫폼, 디스크 재정의로 VM 만들기를 참조하세요.

인스턴스 선택 재정의를 사용할 때의 제한사항에 대한 자세한 내용은 이 문서의 제한사항 섹션을 참조하세요.

예: 최소 CPU 플랫폼 및 디스크 재정의

인스턴스 유연성 정책에서 재정의를 사용하여 다른 CPU 플랫폼, 부팅 이미지 또는 디스크 유형이 필요한 머신 시리즈 전반에 VM을 프로비저닝할 수 있습니다.

기본 pd-balanced 부팅 디스크를 정의하는 다음 기본 instanceProperties 구성이 포함된 일괄 삽입 요청을 고려해 보세요.

"instanceProperties": {
  "disks": [
    {
      "autoDelete": true,
      "deviceName": "boot-disk",
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
        "diskSizeGb": "10",
        "diskType": "pd-balanced"
      }
    }
  ],
  "networkInterfaces": [{}]
}

동일한 요청의 다음 instanceFlexibilityPolicy 구성은 세 개의 인스턴스 선택 항목에서 최소 CPU 플랫폼 및 디스크 구성을 지정하여 기본 instanceProperties 구성을 재정의합니다.

"instanceFlexibilityPolicy": {
  "instanceSelections": {
    "first-preference": {
      "rank": 1,
      "machineTypes": ["n4-standard-4"],
      "disks": [
        {
          "autoDelete": true,
          "deviceName": "boot-disk",
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
            "diskSizeGb": "10",
            "diskType": "hyperdisk-balanced"
          }
        }
      ]
    },
    "second-preference": {
      "rank": 2,
      "machineTypes": ["c4a-standard-4"],
      "disks": [
        {
          "autoDelete": true,
          "deviceName": "boot-disk",
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-12-arm64",
            "diskSizeGb": "10",
            "diskType": "hyperdisk-balanced"
          }
        },
        {
          "autoDelete": true,
          "deviceName": "data-disk",
          "boot": false,
          "initializeParams": {
            "diskSizeGb": "100",
            "diskType": "hyperdisk-balanced"
          }
        }
      ]
    },
    "third-preference": {
      "rank": 3,
      "machineTypes": ["n2-standard-4"],
      "minCpuPlatform": "Intel Ice Lake",
      "disks": [
        {
          "autoDelete": true,
          "deviceName": "boot-disk",
          "boot": true,
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-12",
            "diskSizeGb": "10",
            "diskType": "pd-ssd"
          }
        }
      ]
    }
  }
}

이 예시에서 Compute Engine은 VM을 만드는 데 사용하는 인스턴스 선택 항목에 따라 다음 재정의를 적용합니다.

  • 첫 번째 선호도 (first-preference): n4-standard-4 VM의 경우 선택 항목은 기본 pd-balanced 디스크 대신 hyperdisk-balanced 디스크를 사용하도록 boot-disk를 재정의합니다.
  • 두 번째 선호도 (second-preference): c4a-standard-4 (Arm) VM의 경우 선택 항목은 hyperdisk-balanced 디스크에서 Arm 호환 부팅 이미지(debian-12-arm64)를 사용하도록 boot-disk를 재정의하고 data-disk라는 추가 100GB hyperdisk-balanced 디스크를 연결합니다.
  • 세 번째 선호도 (third-preference): n2-standard-4 VM의 경우 선택 항목은 minCpuPlatform을 Intel Ice Lake로 설정하고 pd-ssd 디스크를 사용하도록 boot-disk를 재정의합니다.

목표 분산 형태가 정의된 경우 영역 선택

리전 bulkInsert 요청과 함께 인스턴스 유연성을 사용하는 경우 목표 분산 형태를 지정하여 VM이 리전의 영역에 분산되는 방식을 제어할 수 있습니다. Compute Engine은 이 형태를 기반으로 VM 프로비저닝을 위한 영역을 다음과 같이 선택합니다.

  • ANY_SINGLE_ZONE: Compute Engine은 선호도가 높은 머신 유형에 가장 많은 용량이 있는 단일 영역을 선택합니다.
  • BALANCED: Compute Engine은 사용 가능한 리소스가 있는 영역에 VM을 최대한 균등하게 분산합니다. 각 영역 내에서 Compute Engine은 선호도가 높은 머신 유형의 우선순위를 지정합니다.
  • ANY: Compute Engine은 사용 가능한 리소스가 있는 영역을 선택합니다. 순위가 구성된 경우 Compute Engine은 선호도가 높은 머신 유형으로 VM을 프로비저닝할 영역의 우선순위를 지정합니다.

자세한 내용은 리전에서 VM 일괄 생성을 참조하세요.

최소 VM 프로비저닝 및 인스턴스 유연성

bulkInsert 요청에서 필요한 최소 VM 수 (minCount)의 값을 정의하면 API는 최소한 해당 수의 VM을 만들려고 시도합니다. Compute Engine에서 필요한 최소 VM 수 (minCount)를 프로비저닝할 수 없는 경우 전체 작업이 실패하고 Compute Engine은 VM을 만들지 않습니다. 인스턴스 유연성과 함께 minCount를 사용하면 Compute Engine은 다음과 같이 순위보다 확보 가능성을 기반으로 VM 프로비저닝의 우선순위를 지정합니다.

  • Compute Engine은 선호도가 낮은 머신을 사용해야 하더라도 최대 count까지 VM을 프로비저닝하는 데 우선순위를 지정합니다. 예를 들어 요청에서 필요한 최소 VM 수(minCount=1)와 최대 VM 수 (count=10)를 지정하고 Compute Engine에 선호도가 높은 VM 1개 또는 선호도가 낮은 VM 6개를 프로비저닝할 수 있는 용량이 있는 경우 Compute Engine은 선호도가 낮은 VM 6개를 프로비저닝합니다.
  • Compute Engine에서 여러 인스턴스 선택 항목을 사용하여 최대 count까지 동일한 최대 VM 수를 프로비저닝할 수 있는 경우 선호도가 높은 선택 항목의 우선순위를 지정합니다. 예를 들어 요청에서 필요한 최소 VM 수 (minCount=1)와 최대 VM 수(count=10)를 지정하고 Compute Engine에서 선호도가 높은 인스턴스 선택 항목 또는 선호도가 낮은 인스턴스 선택 항목을 사용하여 VM 6개를 프로비저닝할 수 있는 경우 Compute Engine은 선호도가 높은 선택 항목에서 VM 6개를 프로비저닝합니다.

자세한 내용은 minCount 속성을 bulkInsert에서 참조하세요.

일괄 삽입 검증 및 오류 시나리오

Compute Engine은 머신 유형과 영역 호환성에 대한 초기 검증을 수행하며 고려 대상에서 잘못된 항목을 제외합니다. 이 초기 검사 후 유효한 구성이 하나 이상 남아 있으면 Compute Engine은 VM 생성을 진행합니다.

그러나 구성의 일부 검증은 Compute Engine이 인스턴스 유연성 정책 및 사용 가능한 용량을 기반으로 프로비저닝에 사용할 영역과 머신 유형을 선택한 후에만 발생할 수 있습니다. 이 후반 검증 단계에서 프로비저닝을 위해 선택한 특정 머신 유형과 영역 조합이 잘못된 것으로 확인되면 전체 일괄 삽입 요청이 검증 오류와 함께 실패합니다. instanceFlexibilityPolicy 내의 다른 구성이 처음에는 유효했더라도 이 오류가 발생할 수 있습니다.

제한사항

일괄 VM 생성에 인스턴스 유연성을 사용할 때는 다음과 같은 제한사항이 적용됩니다.

  • 리전 bulkInsert 요청에만 인스턴스 유연성을 지정할 수 있습니다. 영역 요청에는 사용할 수 없습니다.
  • 인스턴스 유연성은 Flex-start VM 및 미래용 예약을 지원하지 않습니다.
  • AI 하이퍼컴퓨터 기능 또는 A3 Ultra, A4, 최신 GPU와 함께 인스턴스 유연성을 사용할 수 없습니다.
  • 최대 10개의 서로 다른 인스턴스 선택 항목에서 최대 10개의 서로 다른 머신 유형을 지정할 수 있습니다.
  • 인스턴스 선택 항목에서 minCpuPlatform 또는 disks를 재정의할 때는 다음과 같은 제한사항도 적용됩니다.

다음 단계