표시되는 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 코어 수를 맞춤설정하는 것이 좋습니다.
사용 가능한 vCPU 수에 따라 라이선스가 부여된 Windows Server 또는 SQL Server와 같은 소프트웨어를 실행합니다.
vCPU 수나 RAM 용량을 수정할 수 없는 사전 정의된 머신 유형을 사용합니다.
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 코어의 유효한 값 |
---|---|---|
범용 | ||
C3D | ≤ 180 | 모두 |
C3D | 360 | 2의 배수 |
C3 | 4, 8, 22, 44 | 1의 배수 |
C3 | 88 | 2의 배수 |
C3 | 176 | 4의 배수 |
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의 배수 |
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
다음
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을 생성할 영역입니다.
다음
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
다음
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개가 표시됩니다.
다음
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
: 프로젝트 IDZONE
: VM을 만들 영역INSTANCE_TEMPLATE_NAME
: VM을 만들 인스턴스 템플릿의 이름입니다.VM_NAME
: 인스턴스 템플릿에서 만들 VM의 이름입니다.
표시되는 CPU 코어 수 맞춤설정
기존 VM에서 표시되는 CPU 코어 수를 맞춤설정하려면 Google Cloud 콘솔, gcloud CLI 또는 Compute Engine API를 사용합니다.
인스턴스 템플릿을 사용하여 VM 그룹에서 표시되는 CPU 코어 수를 맞춤설정하는 경우 새 인스턴스 템플릿을 만든 후 해당 인스턴스 템플릿에서 새 VM을 만들어야 합니다. 인스턴스 템플릿에 대한 자세한 내용은 인스턴스 템플릿을 참조하세요.
콘솔
기존 VM에서 표시되는 CPU 코어 수를 맞춤설정하려면 다음 단계를 따르세요.
VM을 중지합니다.
머신 구성 > 고급 구성 > 표시되는 코어 수에서 표시되는 코어 수를 선택합니다.
VM을 다시 시작합니다.
gcloud
기존 VM에서 표시되는 CPU 코어 수 값을 업데이트하려면 다음 단계를 수행합니다. 자세한 내용은 인스턴스 속성 업데이트를 참조하세요.
gcloud compute instances export
명령어를 사용하여 기존 VM 속성을 파일로 내보냅니다.내보낸 속성이 포함된 파일에서 다음 값을 수정하거나 추가합니다.
advancedMachineFeatures: visibleCoreCount: VISIBLE_CORE_COUNT
--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
: 프로젝트 IDZONE
: VM이 포함된 영역입니다.VM_NAME
: 속성을 내보낼 VM의 이름입니다.VISIBLE_CORE_COUNT
: 표시되는 CPU 코어 수입니다.
다음 단계
표시되는 CPU 코어 수를 확인하는 방법 알아보기
코어당 스레드 수 설정 방법 알아보기