표시되는 CPU 코어 수 맞춤설정


표시되는 CPU 코어 수를 맞춤설정하면 라이선스 비용을 세밀하게 제어하는 동시에 네트워킹과 영구 디스크의 성능을 유지할 수 있습니다. 이렇게 맞춤설정하면 가상 머신(VM) 인스턴스에 사용할 수 있는 vCPU 수가 줄어들며 머신 유형이나 가격은 변경되지 않습니다.

Compute Engine은 각 가상 CPU(vCPU)를 물리적 CPU 코어에서 실행되는 단일 하드웨어 멀티 스레드로 구현합니다. VM에서 사용할 수 있는 vCPU 수를 줄이기 위해 Compute Engine을 사용하면 표시되는 CPU 코어 수를 맞춤설정할 수 있습니다.

표시되는 코어는 VM에서 사용하는 기본 하드웨어의 CPU 코어입니다. 기본적으로 VM에 표시되는 CPU 코어 수는 머신 유형의 vCPU 수를 코어당 스레드 수로 나눈 값입니다.

  • 표시되는 CPU 코어 = 머신 유형의 vCPU/코어당 스레드 수

예를 들어 c2-standard-60 머신 유형은 vCPU 60개를 지정합니다. 기본값이 코어당 스레드 2개라고 가정하면 표시되는 CPU 코어 수는 30입니다. 표시되는 코어 수를 30개에서 20개로 줄이면 작동하는 vCPU 수가 60개에서 40개로 줄어듭니다.

다음 두 가지 모두에 해당하는 경우 표시되는 CPU 코어 수를 맞춤설정하는 것이 좋습니다.

VM에 사용할 수 있는 vCPU 수를 맞춤설정하기 전에 먼저 커스텀 머신 유형을 사용하는 것이 좋습니다.

필요한 역할

표시되는 CPU 코어 수를 맞춤설정하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자(v1)(roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 표시되는 CPU 코어 수를 맞춤설정하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

표시되는 CPU 코어 수를 맞춤설정하려면 다음 권한이 필요합니다.

  • VM을 만드는 중에 표시되는 CPU 코어 수 맞춤설정:
    • 프로젝트에 대한 compute.instances.create 권한
    • 커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한 compute.images.useReadOnly 권한
    • 스냅샷을 사용하여 VM 만들기: 스냅샷에 대한 compute.snapshots.useReadOnly 권한
    • 인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한 compute.instanceTemplates.useReadOnly 권한
    • VM에 기존 네트워크 할당: 프로젝트에 대한 compute.networks.use 권한
    • VM의 고정 IP 주소 지정: 프로젝트에 대한 compute.addresses.use 권한
    • 기존 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한 compute.networks.useExternalIp 권한
    • VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한 compute.subnetworks.use 권한
    • VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한 compute.subnetworks.useExternalIp 권한
    • VM에 VM 인스턴스 메타데이터 설정: 프로젝트에 대한 compute.instances.setMetadata 권한
    • VM에 태그 설정: VM에 대한 compute.instances.setTags 권한
    • VM에 라벨 설정: VM에 대한 compute.instances.setLabels 권한
    • VM에 사용할 서비스 계정 설정: VM에 대한 compute.instances.setServiceAccount 권한
    • VM의 새 디스크 만들기: 프로젝트에 대한 compute.disks.create 권한
    • 기존 디스크를 읽기 전용 또는 읽기-쓰기 모드로 연결: 디스크에 대한 compute.disks.use 권한
    • 기존 디스크를 읽기 전용 모드로 연결: 디스크에 대한 compute.disks.useReadOnly 권한
  • 인스턴스 템플릿을 사용하여 VM 그룹에서 표시되는 CPU 코어 수를 맞춤설정하려면 VM을 만드는 중에 사용할 모든 권한과 프로젝트에 대한 compute.instanceTemplates.create 권한이 필요합니다.

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

vCPU 및 코어당 스레드 수

머신 유형의 총 vCPU는 표시된 CPU 코어 수에 코어당 스레드 수를 곱한 값입니다. 대부분의 머신 시리즈에서 코어당 스레드 수는 2개이지만 코어당 스레드 수를 수동으로 1개로 설정할 수 있습니다.

다음 표에서는 c2-standard-60 머신 유형을 예로 사용하여 표시되는 CPU 코어, 코어당 스레드 수, 사용 가능한 총 vCPU 수가 어떻게 관련되어 있는지 보여줍니다.

머신 유형 표시되는 CPU 코어 코어당 스레드 사용 가능한 vCPU
c2-standard-60 30(기본) 2(기본) 60
c2-standard-60 30(기본) 1 30
c2-standard-60 20 2(기본) 40
c2-standard-60 20 1 20

성능에 대한 고려사항

표시되는 코어 수를 줄이면 VM 성능에 영향을 줄 수 있습니다.

영구 디스크

  • 영구 디스크의 성능 한도는 머신 유형에 따라 달라지며 표시되는 CPU 코어 수에 영향을 받지 않습니다. 자세한 내용은 블록 스토리지 성능을 참조하세요.

네트워킹 이그레스

  • 네트워킹 이그레스의 대역폭 한도는 머신 유형과 일치하며 표시되는 CPU 코어 수의 영향을 받지 않습니다. 하지만 네트워킹 성능은 VM에 액세스할 수 있는 vCPU 수에 따라 달라집니다. 예를 들어 표시되는 CPU 코어가 하나 있는 n2-standard-16 머신 유형은 32Gbps 연결을 최대한 사용하지 못할 수 있습니다.

가격 책정

표시되는 코어 수를 줄이면 VM 비용에 영향을 줄 수 있습니다.

운영체제 라이선스 비용

  • 표시되는 CPU 코어 수를 줄여 일부 운영체제의 라이선스 비용을 줄일 수 있습니다. 적용 가능한 운영체제는 VM(예: Windows Server 및 SQL Server)에 사용할 수 있는 각 vCPU에 비용을 청구하는 운영체제입니다. Compute Engine에서 이러한 운영체제의 라이선스 옵션에 대한 자세한 내용은 Microsoft 라이선스를 참조하세요.

VM 비용, 할당량, 용량

  • VM 비용, 할당량, 용량은 표시되는 CPU 코어 수를 맞춤설정할 때 동일하게 유지됩니다. Compute Engine이 머신 유형의 CPU 코어 수를 사용하는 것처럼 VM의 머신 유형에 비용을 청구하고 할당량을 추적하며 공간을 할당하기 때문입니다. Compute Engine에서 VM에 대한 요금을 청구하는 방법에 대한 자세한 내용은 VM 인스턴스 가격 책정을 참조하세요.

제한사항

  • VM이 RUNNING 상태인 동안에는 표시되는 CPU 코어 수를 맞춤설정할 수 없습니다. VM 상태에 대한 자세한 내용은 VM 인스턴스 수명 주기를 참조하세요.

  • Google Cloud 콘솔에서 표시되는 코어 수가 줄어들면 CPU 사용률 측정항목이 100%까지 수직 확장될 수 없습니다. 표시되는 CPU 코어 수를 최대 CPU 코어 수로 나눈 값으로 제한됩니다.

지원되는 머신 유형 및 각 머신의 유효한 값

여러 머신 유형에서 표시되는 CPU 코어 수를 맞춤설정할 수 있습니다. 표시되는 CPU 코어 수의 값은 정수여야 합니다. 최댓값은 머신 유형의 vCPU(또는 가속기 최적화 머신 유형의 GPU 수)를 VM의 코어당 스레드 수로 나눈 값입니다.

다음 표에서는 이 맞춤설정을 지원하는 머신 유형과 해당 계열의 머신 유형의 표시되는 CPU 코어에 해당하는 유효 값을 보여줍니다.

머신 유형 계열 사전 정의된 vCPU 수* 표시되는 CPU 코어의 유효한 값
범용
C4 4, 8, 16, 32, 48 무관
C4 96 2의 배수
C4 192 4의 배수
C3D ≤ 180 무관
C3D 360 2의 배수
C3 4, 8, 22, 44 1의 배수
C3 88 2의 배수
C3 176 4의 배수
c3-*-metal 192 지원되지 않음
E2 ≤ 32 무관
N2 ≤ 32 무관
N2 > 32 2의 배수
N2D ≤ 24 무관
N2D > 24 2의 배수
N4 ≤ 80 무관
N1 ≤ 64 무관
N1 > 64 2의 배수
N1(TPU 최적화) 48 무관
N1(TPU 최적화) 96 2의 배수
스토리지 최적화
Z3 88 2의 배수
Z3 176 4의 배수
컴퓨팅 최적화
H3 88 4의 배수
C2 4, 8, 16, 30 무관
C2 60 2의 배수
메모리 최적화
M3 128 2의 배수
M3 32, 64 무관
M2 208 4의 배수
M2 416 8의 배수
M1 40 무관
M1 80, 96 2의 배수
M1 160 4의 배수
가속기 최적화
A3 208 2의 배수
A2 ≤ 48 무관
A2 96 2의 배수
G2 ≤ 48 무관
G2 96 2의 배수
* 대부분의 머신 유형 이름에는 vCPU 수가 포함됩니다. 하지만 A3 및 A2 가속기 최적화 머신 유형의 경우 머신 유형 이름에 사전 정의된 GPU 수가 포함됩니다. A3 및 A2 가속기 최적화 머신 유형의 vCPU 수를 보려면 가속기 최적화 머신 계열 문서를 참조하세요.

VM 생성 중에 표시되는 CPU 코어 수 맞춤설정

단일 VM을 만드는 동안 표시되는 CPU 코어 수를 맞춤설정하려면 Google Cloud 콘솔, gcloud CLI 또는 Compute Engine API를 사용합니다.

다음 예시에서는 표시되는 CPU 코어 수가 감소된 SQL Server VM을 만드는 방법을 보여줍니다.

콘솔

VM을 만드는 동안 표시되는 CPU 코어 수를 맞춤설정하려면 다음 단계를 따르세요.

  • 머신 구성 > 고급 구성 > 표시되는 코어 수에서 표시되는 코어 수를 선택합니다.

gcloud

표시되는 CPU 코어 수를 줄인 SQL Server VM을 만들려면 다음 gcloud compute instances create 명령어를 사용합니다.

gcloud compute instances create VM_NAME \
    --image-project=windows-sql-cloud \
    --image-family=sql-ent-2019-win-2019 \
    --machine-type=MACHINE_TYPE \
    --visible-core-count=VISIBLE_CORE_COUNT \
    --zone=ZONE

다음을 바꿉니다.

  • VM_NAME: VM의 이름

  • MACHINE_TYPE: 지원되는 머신 유형입니다(예: c2-standard-60).

  • VISIBLE_CORE_COUNT: 표시되는 CPU 코어 수입니다. 예를 들어 c2-standard-60 머신 유형을 사용하는 경우 20으로 설정하고 코어당 스레드 수는 2이면 CPU 60개 중 40개가 표시됩니다.

  • ZONE: VM을 만들 영역입니다.

REST

표시되는 CPU 코어 수를 줄인 SQL Server VM을 만들려면 다음 instances.insert 메서드를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "VM_NAME",
  ...
  "advanced_machine_features": {
    ...
    "visibleCoreCount": "VISIBLE_CORE_COUNT"
  },
  ...
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.

  • ZONE: VM을 만들 영역입니다.

  • VM_NAME: VM의 이름

  • VISIBLE_CORE_COUNT: 표시되는 CPU 코어 수입니다. 예를 들어 c2-standard-60 머신 유형을 사용하는 경우 20으로 설정하고 코어당 스레드 수는 2이면 CPU 60개 중 40개가 표시됩니다.

인스턴스 템플릿을 사용하여 VM 그룹에서 표시되는 CPU 코어 수 맞춤설정

인스턴스 템플릿을 사용하여 VM을 만드는 동안 표시되는 CPU 코어 수를 맞춤설정하려면 Google Cloud 콘솔, gcloud CLI 또는 Compute Engine API를 사용합니다.

다음 예시에서는 인스턴스 템플릿을 사용하여 표시되는 CPU 코어 수가 감소한 동일한 SQL Server VM 그룹을 만드는 방법을 보여줍니다.

콘솔

인스턴스 템플릿을 만드는 동안 표시되는 CPU 코어 수를 맞춤설정하려면 다음 단계를 따르세요.

  • 머신 구성 > 고급 구성 > 표시되는 코어 수에서 표시되는 코어 수를 선택합니다.

gcloud

  1. 다음 gcloud compute instance-templates create 명령어를 사용하여 표시되는 CPU 코어 수를 줄인 각각의 SQL Server VM용 인스턴스 템플릿을 만듭니다.

    gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
       --image-project=windows-sql-cloud \
       --image-family=sql-ent-2019-win-2019 \
       --machine-type=MACHINE_TYPE \
       --visible-core-count=VISIBLE_CORE_COUNT \
       --zone=ZONE
    

    다음을 바꿉니다.

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

    • MACHINE_TYPE: 지원되는 머신 유형입니다(예: c2-standard-60).

    • VISIBLE_CORE_COUNT: 표시되는 CPU 코어 수입니다. 예를 들어 c2-standard-60 머신 유형을 사용하는 경우 20으로 설정하고 코어당 스레드 수는 2이면 CPU 60개 중 40개가 표시됩니다.

    • ZONE: VM을 생성할 영역입니다.

  2. 다음 gcloud compute instances create 명령어를 사용하여 표시되는 CPU 코어 수를 줄인 각각의 SQL Server VM을 만듭니다.

    gcloud compute instances create INSTANCE_NAMES \
       --source-instance-template=INSTANCE_TEMPLATE_NAME
    

    다음을 바꿉니다.

    • INSTANCE_NAMES: 인스턴스 템플릿에서 만들 VM의 이름(공백으로 구분)입니다.

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

REST

  1. 다음 instanceTemplates.insert 메서드를 사용하여 표시되는 CPU 코어 수를 줄인 각각의 SQL Server VM용 인스턴스 템플릿을 만듭니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
    
    {
     "name": "INSTANCE_TEMPLATE_NAME",
     ...
     "advanced_machine_features": {
       ...
       "visible_core_count": "VISIBLE_CORE_COUNT"
     },
     ...
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID입니다.

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

    • VISIBLE_CORE_COUNT: 표시되는 CPU 코어 수입니다. 예를 들어 c2-standard-60 머신 유형을 사용하는 경우 20으로 설정하고 코어당 스레드 수는 2이면 CPU 60개 중 40개가 표시됩니다.

  2. 다음 instances.insert 메서드를 사용하여 표시되는 CPU 코어 수를 줄인 각각의 SQL Server VM을 만듭니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?sourceInstanceTemplate=INSTANCE_TEMPLATE_NAME
    
    {
     "name": "VM_NAME",
     ...
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID

    • ZONE: VM을 만들 영역

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

    • VM_NAME: 인스턴스 템플릿에서 만들 VM의 이름입니다.

표시되는 CPU 코어 수 맞춤설정

기존 VM에서 표시되는 CPU 코어 수를 맞춤설정하려면 Google Cloud 콘솔, gcloud CLI 또는 Compute Engine API를 사용합니다.

인스턴스 템플릿을 사용하여 VM 그룹에서 표시되는 CPU 코어 수를 맞춤설정하는 경우 새 인스턴스 템플릿을 만든 후 해당 인스턴스 템플릿에서 새 VM을 만들어야 합니다. 인스턴스 템플릿에 대한 자세한 내용은 인스턴스 템플릿을 참조하세요.

콘솔

기존 VM에서 표시되는 CPU 코어 수를 맞춤설정하려면 다음 단계를 따르세요.

  1. VM을 중지합니다.

  2. 머신 구성 > 고급 구성 > 표시되는 코어 수에서 표시되는 코어 수를 선택합니다.

  3. VM을 다시 시작합니다.

gcloud

기존 VM에서 표시되는 CPU 코어 수 값을 업데이트하려면 다음 단계를 수행합니다. 자세한 내용은 인스턴스 속성 업데이트를 참조하세요.

  1. gcloud compute instances export 명령어를 사용하여 기존 VM 속성을 파일로 내보냅니다.

  2. 내보낸 속성이 포함된 파일에서 다음 값을 수정하거나 추가합니다.

    advancedMachineFeatures:
     visibleCoreCount: VISIBLE_CORE_COUNT
    
  3. --most-disruptive-allowed-action=RESTART와 함께 gcloud compute instances update-from-file 명령어를 사용하여 VM 속성을 업데이트합니다.

REST

VM의 표시되는 CPU 코어 수를 업데이트하려면 다음 instances.update 메서드를 사용합니다.

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART

{
  ...
  "advanced_machine_features": {
    ...
    "visible_core_count": "VISIBLE_CORE_COUNT"
  },
  ...
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID

  • ZONE: VM이 포함된 영역입니다.

  • VM_NAME: 속성을 내보낼 VM의 이름입니다.

  • VISIBLE_CORE_COUNT: 표시되는 CPU 코어 수입니다.

다음 단계