커스텀 머신 유형으로 VM 인스턴스 만들기

Compute Engine에서는 인스턴스를 만들 때 사용할 수 있는 사전 정의된 머신 유형을 제공합니다. 사전 정의된 머신 유형에는 vCPU 수 및 메모리 양이 미리 설정되어 있으며 가격 페이지에 설명된 고정 가격에 따라 요금이 부과됩니다.

사전 정의된 머신 유형이 요구사항을 충족하지 못하는 경우에는 커스텀 가상화 하드웨어 설정으로 인스턴스를 만들면 됩니다. 커스텀 머신 유형을 사용하면 특히 vCPU 수와 메모리 양이 맞춤설정된 인스턴스를 만들 수 있습니다. 커스텀 머신 유형은 범용 머신 유형에서만 사용할 수 있습니다. 즉, 커스텀 머신 유형을 만들 때는 N1 또는 N2 머신 유형 계열에서 커스텀 머신 유형을 효과적으로 배포할 수 있습니다.

커스텀 머신 유형은 다음과 같은 시나리오에 적합합니다.

  • 제공되는 사전 정의된 머신 유형에 적합하지 않은 작업 부하
  • 추가 처리 능력이나 메모리가 필요하지만 다음 머신 유형 수준에서 제공되는 모든 업그레이드는 필요하지 않은 작업 부하

시작하기 전에

사양

일반

  • 커스텀 머신 유형의 총 메모리는 256MB의 배수여야 합니다. 예를 들어 6.9GB는 지원되지 않지만 6.75GB 및 7GB는 지원됩니다.

  • 1보다 큰 인스턴스 vCPU 수는 2, 4, 6, 8, 10 등과 같이 짝수여야 합니다.

  • 커스텀 머신 유형을 사용하는 인스턴스와 사전 정의된 머신 유형을 사용하는 인스턴스에는 동일한 영구 디스크 용량 제한이 적용됩니다.

  • 커스텀 머신 유형은 영구 디스크 제한이 범용 머신 유형과 동일합니다. 현재 인스턴스당 각 머신 유형의 최대 총 영구 디스크 크기는 64TB이고 최대 영구 디스크 수는 128개입니다.

N1 커스텀 머신 유형

  • 커스텀 머신 유형에 허용되는 최대 vCPU 수는 선택하는 머신 유형 계열에 따라 결정됩니다. N1 머신 유형을 선택하는 경우는 다음과 같습니다.

    • Skylake CPU 플랫폼을 지원하는 영역에 배포할 경우 커스텀 머신 유형을 만들면서 vCPU가 최대 96개까지 허용됩니다.
    • Broadwell, Haswell 또는 Ivy Bridge CPU 플랫폼을 지원하는 영역에 배포할 경우 커스텀 머신 유형을 배포하면서 vCPU가 최대 64개까지 허용됩니다.

    각 영역에서 사용할 수 있는 플랫폼은 리전 및 영역 표를 참조하세요.

  • 기본적으로 커스텀 머신 유형에서 선택할 수 있는 vCPU당 메모리는 머신 유형 계열에 따라 결정됩니다. N1 머신 유형의 경우 vCPU당 메모리를 0.9~6.5GB에서 선택합니다. 확장 메모리를 사용 설정하면 더욱 많은 양의 메모리를 사용할 수 있습니다.

잘못된 머신 유형의 예시

  • vCPU 1개, 총 메모리 0.2GB. N1 머신 유형에서 총 메모리가 최소 양인 0.65보다 작기 때문에 잘못된 선택입니다.
  • vCPU 1개, 총 메모리 0.9GB. 총 메모리가 256MB의 배수이어야 하기 때문에 잘못된 선택입니다. 따라서 vCPU가 1개일 때는 최소 1,024MB를 메모리로 사용해야 합니다.

올바른 머신 유형의 예시

  • vCPU 32개, 총 메모리 29GB. 총 vCPU 수가 짝수이고, 총 메모리가 256MB의 배수이기 때문에 올바른 선택입니다. 또한 vCPU당 메모리 양이 0.9GB이기 때문에 최소 요구 사항을 만족합니다.
  • vCPU 1개, 총 메모리 1GB. vCPU가 최솟값인 1개이고, 총 메모리가 256MB의 배수이기 때문에 올바른 선택입니다. 또한 vCPU당 메모리 양이 허용 범위인 0.9~6.5GB입니다.

N2 커스텀 머신 유형

  • 커스텀 머신 유형에 허용되는 최대 vCPU 수는 선택하는 머신 유형 계열에 따라 결정됩니다. Cascade Lake 플랫폼만 지원하는 N2 머신 유형을 선택할 경우 커스텀 머신 유형을 배포하면서 vCPU가 2~80개 허용됩니다.

  • N2 머신 유형은 다음 영역에서만 사용할 수 있습니다.

    • us-central1-aus-central1-c
    • europe-west4-beurope-west4-c
  • 기본적으로 커스텀 머신 유형에서 선택할 수 있는 vCPU당 메모리는 머신 유형 계열에 따라 결정됩니다. N2 머신 유형일 때는 vCPU당 메모리 양을 0.5~8.0GB에서 선택합니다. 확장 메모리를 사용 설정하면 더욱 많은 양의 메모리를 사용할 수 있습니다.

  • 인스턴스의 vCPU 수가 32개 이상이면 vCPU 수가 나머지 없이 4로 나누어져야 합니다. 예를 들어 vCPU 수가 32, 36, 40개 이면 모두 유효하지만 38개는 잘못된 수입니다.

잘못된 머신 유형의 예시

  • vCPU 2개, 총 메모리 0.8GB. N2 머신 유형에서 총 메모리가 최소 양인 0.5보다 작기 때문에 잘못된 선택입니다.
  • vCPU 34개, 총 메모리 34GB. 총 vCPU 수가 4로 나누어지지 않기 때문에 잘못된 선택입니다.
  • vCPU 1개, 총 메모리 1,024MB. vCPU 수가 너무 작기 때문에 잘못된 선택입니다. N2 커스텀 머신 유형은 vCPU가 최소 2개 이상이어야 합니다.

올바른 머신 유형의 예시

  • vCPU 36개, 총 메모리 18GB. 총 vCPU 수가 짝수이고, 총 메모리가 256MB의 배수이기 때문에 올바른 선택입니다. 또한 vCPU당 메모리 양이 0.5GB이기 때문에 최소 요구 사항을 만족합니다. 그 밖에 vCPU 수가 32개보다 많기 때문에 vCPU의 수는 4로 나누어져야 합니다.
  • vCPU 2개, 총 메모리 7GB. vCPU가 최솟값인 2개이고, 총 메모리가 256MB의 배수이기 때문에 올바른 선택입니다. 또한 vCPU당 메모리 양이 허용 범위인 0.5~8GB입니다.

가격 책정

Google은 인스턴스에서 사용하는 vCPU 수 및 메모리 시간을 기준으로 커스텀 머신 유형에 요금을 부과합니다. 사전 정의된 머신 유형의 가격 책정 방법과 다르기 때문에 커스텀 머신 유형을 만들기 전에 먼저 가격 책정 페이지를 살펴보는 것이 좋습니다.

커스텀 머신 유형을 실행하는 인스턴스도 다른 인스턴스와 마찬가지로 최소 청구 시간 1분이 적용되지만 커스텀 머신 유형의 지속 사용 할인을 계산하는 방식이 다릅니다. 자세한 내용은 커스텀 머신 유형의 지속 사용 할인을 참조하세요.

GB 또는 MB 단위의 메모리 표현

Google Cloud Platform 도구 및 설명서에서는 머신 유형 메모리가 GB(기가바이트) 단위로 계산됩니다. 이때 1GB는 230바이트입니다. 이 측정 단위는 GiB(기비바이트)라고도 부릅니다. 메모리를 GB에서 MB 단위로 변환할 경우 1GB는 1,024MB입니다.

API에서 메모리는 항상 MB 단위로 입력해야 합니다. gcloud 명령줄 도구를 사용하는 경우에는 인스턴스의 총 메모리를 GB 또는 MB 단위로 입력할 수 있습니다. 하지만 gcloud 도구에서는 메모리 값이 정수일 것으로 예상하므로 부동 소수점 값은 입력하면 안 됩니다. 예를 들어 5.75GB를 표현하려면 5.75GB를 MB 단위로 변환합니다. 이때 5.75GB는 5,888MB입니다.

커스텀 머신 유형으로 인스턴스 만들기

인스턴스를 만들려면 먼저 커스텀 머신 유형을 만들 때 따라야 할 사양을 읽어보고 이해해야 합니다.

Console

  1. Google Cloud Platform Console에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기 페이지로 이동

  2. 인스턴스를 호스팅할 영역을 선택합니다. 그러면 머신 유형 목록이 해당 영역에서 사용할 수 있는 유형으로 필터링됩니다.
  3. 머신 구성에서 범용을 선택합니다.
  4. 세대 드롭다운 메뉴에서 N1 커스텀 머신 유형일 때는 1세대를, 혹은 N2 커스텀 머신 유형일 때는 2세대를 선택합니다.
  5. 머신 유형 드롭다운 메뉴에서 커스텀을 선택합니다.
  6. 슬라이더를 드래그하여 인스턴스의 vCPU 수와 메모리 양을 선택합니다. vCPU 및 메모리 수량을 변경하면 콘솔에 인스턴스의 예상 비용이 표시됩니다.
  7. 변경사항을 저장하고 나머지 만들기 프로세스를 계속 진행합니다.

gcloud

커스텀 머신 유형에서는 gcloud 명령어가 머신 유형 계열에 따라 약간 다릅니다.

N1 머신 유형일 때는 gcloud compute instances create 명령을 사용하고 다음 옵션 중 하나를 추가할 수 있습니다.

  • --custom-cpu--custom-memory 플래그
  • --machine-type=custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB] 플래그

예를 들어 다음 명령은 vCPU가 4개이고, 총 메모리가 5GB인 N1 머신 유형을 실행하는 인스턴스를 만듭니다.

gcloud compute instances create example-instance --custom-cpu 4 --custom-memory 5

N2 머신 유형일 때는 gcloud beta compute instances create 명령을 사용하고 다음 옵션 중 하나를 추가할 수 있습니다.

  • --custom-cpu, --custom-memory, --custom-vm-type 플래그
  • --machine-type=n2-custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB] 플래그

--custom-memory 플래그를 사용하는 경우에는 총 메모리 양을 GB 또는 MB 단위로 지정합니다. 속성은 정수여야 하며, 메모리 증분 값을 0.25GB로 지정하려면 MB로 변환합니다.

예를 들어 2.5GB 메모리와 같은 증분 값을 지정하려면 다음과 같이 값을 MB 단위로 변환하고 값 뒤에 MB 서픽스를 붙입니다. 다음 예시는 N2 머신 유형을 실행하는 인스턴스를 만듭니다.

gcloud beta compute instances create example-instance \
    --custom-cpu 6 --custom-memory 3072MB --custom-vm-type n2

필요하다면 다음 형식을 사용하여 커스텀 머신 유형 설정을 지정해도 됩니다.

gcloud beta compute instances create example-instance \
    --machine-type n2-custom-[NUMBER_OF_CPUS]-[NUMBER_OF_MB]

각 항목의 의미는 다음과 같습니다.

  • [NUMBER_OF_CPUS]는 원하는 CPU 수입니다.
  • [NUMBER_OF_MB]는 원하는 메모리 양(MB)입니다.

예:

gcloud compute instances create example-instance --machine-type n2-custom-6-3072

API

API에서 평소처럼 인스턴스 만들기 요청을 만들되 machineType 값을 지정할 때 다음 형식 중 하나를 사용합니다. NUMBER_OF_CPUS를 CPU 수로, AMOUNT_OF_MEMORY를 원하는 메모리 양으로 대체합니다. 메모리는 MB 단위로 입력합니다.

  • N1 머신 유형일 때는 다음 형식을 사용합니다.

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY_MB]
    
  • N1 머신 유형일 때는 다음 형식을 사용합니다.

    zones/[ZONE]/machineTypes/n2-custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY_MB]
    

예를 들어 다음 URL은 vCPU 4개 및 5GB 메모리(5,120MB)를 사용하는 인스턴스를 만듭니다.

zones/us-central1-f/machineTypes/custom-4-5120

커스텀 머신 유형으로 선점형 인스턴스를 만들거나 위에 설명된 형식으로 지정한 커스텀 머신 유형을 사용하여 인스턴스 그룹을 만들 수도 있습니다.

머신 유형에 확장 메모리 추가

각 머신 유형에 따라 최대 메모리 양이 기본적으로 결정되어 있습니다. 예를 들어 N1 커스텀 머신 유형으로 VM을 만들 경우 vCPU당 VM의 최대 메모리 양은 6.5GB입니다. N2 커스텀 머신 유형일 때는 이 메모리 수치가 vCPU당 8GB까지 증가합니다.

하지만 일부 워크로드에서는 메모리가 부족할 수도 있습니다. 이때는 추가 비용을 지불하여 vCPU당 메모리 양을 기본 제한보다 많이 구매할 수 있습니다. 이를 확장 메모리라고 합니다.

확장 메모리를 사용하면 vCPU당 적용되는 제한 없이 메모리를 머신 유형에 추가할 수 있습니다. 확장 메모리는 머신 유형에 따라 일정한 양까지만 추가할 수 있습니다.

  • N1 머신 유형일 때는 VM당 총 624GB까지 메모리를 추가할 수 있습니다.
  • N2 머신 유형일 때는 VM당 총 640GB까지 메모리를 추가할 수 있습니다.

메모리가 더 필요하다면 VM 인스턴스당 총 1.4TB가 지원되는 인스턴스를 만들 수 있는 대용량 메모리 머신 유형 중 하나를 사용해야 합니다.

확장 메모리 필요성 판단

일부 워크로드에서는 최적의 결과를 얻으려면 vCPU당 기본 메모리 양보다 많은 메모리가 필요합니다. 인메모리 분석, 관계형 및 NoSQL 데이터베이스(MS SQL Server, MongoDB, MemcacheD/Redis 등)를 포함한 고성능 데이터베이스를 사용하는 워크로드가 이러한 카테고리에 해당합니다. 운영체제 및 소프트웨어 스택의 vCPU 기반 라이선스 역시 사전 정의된 머신 유형을 사용해 최적의 VM 메모리 구성을 선택하기 더욱 어렵게 만드는 요인입니다. 확장 메모리를 사용하면 VM 인스턴스의 가격과 성능을 최적화하는 데 필요한 충분한 양의 메모리를 추가할 수 있습니다.

가격 책정

커스텀 머신 유형을 사용하는 경우 vCPU당 기본 양까지는 N1 커스텀 머신 유형 가격 또는 N2 커스텀 머신 유형 가격에 따라 요금이 청구됩니다. 하지만 메모리가 기본 양보다 큰 경우에는 Compute Engine에서 N1 확장 커스텀 메모리 가격 또는 N2 확장 커스텀 메모리 가격에 따라 확장 메모리 요금이 청구됩니다. 단, 확장 메모리 가격은 메모리 양이 기준값보다 작을 때 가격과 다릅니다.

확장 메모리 가격은 리전에 따라 다릅니다. 확장 메모리를 사용해 실행되는 인스턴스에도 다른 인스턴스와 동일한 최소 청구 시간 1분이 적용됩니다. 확장 메모리 역시 지속 사용 할인을 받을 수 있습니다. 자세한 내용은 커스텀 머신 유형의 지속 사용 할인을 참조하세요.

가격 정보는 확장 커스텀 메모리 가격을 참조하세요.

제한사항

  • 확장 메모리는 커스텀 머신 유형에 한해 추가할 수 있습니다. 사전 정의된 머신 유형은 지원되지 않습니다.
  • 추가할 수 있는 vCPU당 메모리에는 제한이 없지만 각 VM 인스턴스에 추가할 수 있는 최대 메모리 양이 존재합니다. N1 머신 유형일 때는 최대 624GB까지 메모리를 추가할 수 있습니다. N2 머신 유형일 때는 최대 640GB까지 메모리를 추가할 수 있습니다.
  • N2 머신 유형은 다음과 같이 일부 영역에서만 사용할 수 있습니다.
    • us-central1-aus-central1-c
    • europe-west4-beurope-west4-c
  • 메모리를 256MB 단위로 증가하게 지정해야 합니다.
  • 확장 메모리에는 약정 사용 할인이 적용되지 않습니다.

인스턴스 생성 중 확장 메모리 추가

확장 메모리를 사용하는 VM 인스턴스를 만들려면 아래 안내를 따릅니다.

콘솔

  1. Google Cloud Platform Console에서 인스턴스 만들기 페이지로 이동합니다.

    인스턴스 만들기 페이지로 이동

  2. 인스턴스를 호스팅할 영역을 선택합니다. 그러면 머신 유형 목록이 해당 영역에서 사용할 수 있는 유형으로 필터링됩니다.
  3. 머신 구성에서 범용을 선택합니다.
  4. 세대 드롭다운 메뉴에서 N1 커스텀 머신 유형일 때는 1세대를, 혹은 N2 커스텀 머신 유형일 때는 2세대를 선택합니다.
  5. 머신 유형 드롭다운 메뉴에서 커스텀을 선택합니다.
  6. 원하는 메모리 양을 선택합니다. 확장 메모리를 추가하려면 확장 메모리 옵션을 선택합니다. 그러면 선택 가능한 메모리 범위가 확장됩니다.
  7. 인스턴스 생성 프로세스를 계속 진행합니다.

gcloud

N1 머신 유형일 때는 gcloud 도구와 instances create 하위 명령어를 사용하고 이어서 --custom-extensions 플래그를 추가해 확장 메모리를 사용 설정합니다. 그런 다음 --custom- memory 매개변수를 사용해 원하는 총 메모리를 지정합니다.

gcloud compute instances create example-instance  \
    --custom-extensions --custom-cpu 2 --custom-memory 15

N2 머신 유형일 때는 gcloud beta 명령어를 instances create 하위 명령어와 함께 사용합니다. --custom-extensions, --custom-cpu, --custom-memory 플래그를 설정한 후 이어서 --custom-vm-type 플래그를 설정하여 N2 머신 유형을 지정합니다.

gcloud beta compute instances create example-instance \
    --custom-extensions --custom-cpu 2 --custom-memory 16 \
    --custom-vm-type n2

API

API에서 평소처럼 인스턴스 만들기 요청을 작성하되 machineType 값을 지정할 때 다음 형식 중 하나를 사용합니다.

  • N1 머신 유형일 때는 다음 형식을 사용합니다.

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    
  • N1 머신 유형일 때는 다음 형식을 사용합니다.

    zones/[ZONE]/machineTypes/n2-custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    

각 항목의 의미는 다음과 같습니다.

  • [NUMBER_OF_CPUS]: vCPU 수
  • [AMOUNT_OF_MEMORY]: 원하는 메모리 양. MB 단위로 메모리 양을 입력합니다.

예를 들어 다음은 vCPU가 2개이고, 메모리가 20GB인 N2 머신 유형을 지정합니다.

zones/[ZONE]/machineTypes/n2-custom-2-20480-ext

기존 VM 인스턴스에 확장 메모리 추가

기존 인스턴스에 메모리를 더 추가하려면 먼저 인스턴스를 중지해야 합니다. 인스턴스가 중지된 후 아래 안내에 따라 VM에 메모리를 추가하세요.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 인스턴스 목록에서 수정할 중지된 인스턴스를 선택합니다.
  3. 페이지 상단의 수정을 클릭합니다.
  4. 머신 구성에서 범용을 선택합니다.
  5. 머신 유형 드롭다운 메뉴에서 커스텀을 선택합니다.
  6. 원하는 vCPU 수를 선택합니다.
  7. 원하는 메모리 양을 선택합니다. 확장 메모리를 추가하려면 확장 메모리 옵션을 선택합니다. 그러면 선택 가능한 메모리 범위가 확장됩니다.
  8. 변경사항을 저장합니다.

gcloud

gcloud 명령줄 도구에서 instances set-machine-type 하위 명령어를 사용하고, 이어서 --custom-extensions 플래그를 기존 --custom-memory 매개변수와 함께 사용합니다. N1 머신 유형에서 N2 머신 유형으로, 혹은 반대 방향으로 변경하려면 --custom-vm-type 플래그를 입력합니다.

예를 들어 현재 us-central1-b 영역에서 vCPU가 2개이고 메모리가 13GB인 N1 머신 유형이 속하는 인스턴스(example-instance)에 2GB 메모리를 추가하려면 다음과 같이 명령어를 사용하세요.

gcloud compute instances set-machine-type example-instance \
   --zone us-central1-b --custom-cpu 2 \
   --custom-memory 15 --custom-extensions

N1 머신 유형과 N2 머신 유형을 서로 변경하는 방법은 다음과 같습니다.

gcloud beta compute instances set-machine-type example-instance \
   --zone us-central1-a  --custom-extensions --custom-cpu 2 \
   --custom-memory 16 --custom-vm-type n2

API

API에서 요청 본문에 원하는 머신 유형을 지정하여 setMachineType 메서드에 대한 POST 요청을 실행합니다. 다음 형식 중 하나를 사용하세요.

  • N1 머신 유형일 때는 다음 형식을 사용합니다.

    zones/[ZONE]/machineTypes/custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    
  • N2 머신 유형일 때는 다음 형식을 사용합니다.

    zones/[ZONE]/machineTypes/n2-custom-[NUMBER_OF_CPUS]-[AMOUNT_OF_MEMORY]-ext
    

각 항목의 의미는 다음과 같습니다.

  • [NUMBER_OF_CPUS]: vCPU 수
  • [AMOUNT_OF_MEMORY]: 원하는 메모리 양. MB 단위로 메모리 양을 입력합니다.

예를 들어 다음 요청에서는 vCPU가 2개이고, 메모리가 15GB인 머신 유형을 사용합니다.

zones/[ZONE]/machineTypes/custom-2-15360-ext

예:

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setMachineType

{
    machineType: "zones/us-central1-f/machineTypes/custom-2-15360-ext"
}

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서