VM에서 PMU 사용 설정


이 문서에서는 신규 또는 기존 가상 머신(VM) 인스턴스에서 성능 모니터링 장치(PMU)를 사용 설정하는 방법을 설명합니다.

C4 VM에서 PMU를 사용 설정하고 VM에 연결한 후 VM에서 성능 모니터링 소프트웨어를 실행하고 설치하여 VM에서 실행되는 소프트웨어의 성능을 분석하고 최적화할 수 있습니다. 이는 고성능 컴퓨팅(HPC) 또는 머신러닝(ML) 워크로드와 같이 성능에 민감한 워크로드를 실행할 때 유용합니다.

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

필요한 역할

새 VM 또는 기존 VM에서 PMU를 사용 설정하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트의 Compute 인스턴스 관리자(v1)(roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 새 VM 또는 기존 VM에서 PMU를 사용 설정하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

새 VM 또는 기존 VM에서 PMU를 사용 설정하려면 다음 권한이 필요합니다.

  • VM 만들기:
    • 프로젝트에 대한 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 권한
  • 인스턴스 템플릿 만들기: 프로젝트에 대한 compute.instanceTemplates.create 권한
  • VM 업데이트: VM에 대한 compute.instances.update 권한

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

VM에서 PMU 사용 설정

하나 이상의 C4 VM에서 PMU를 사용 설정하려면 다음 방법 중 하나를 선택합니다.

하나 이상의 VM에서 PMU를 사용 설정한 후에는 VM에 성능 모니터링 소프트웨어를 설치하고 사용할 수 있습니다.

기존 VM에서 PMU 사용 설정

기존 VM에서 PMU를 사용 설정하기 전에 다음을 실행하여 VM이 지원되는 머신 유형 및 CPU 플랫폼을 사용하는지 확인합니다.

  1. VM의 머신 유형 및 CPU 플랫폼을 확인하려면 VM 세부정보를 확인합니다.

  2. VM의 머신 유형을 변경해야 하는 경우 다음 단계를 따르세요.

    1. VM이 있는 영역에서 지원되는 CPU 플랫폼을 사용할 수 있는지 확인하려면 사용 가능한 리전 및 영역을 참조하세요.

    2. 다음과 같이 머신 유형을 변경합니다.

      • 고급 PMU 유형을 사용 설정하려면 96개 또는 192개의 vCPU가 있는 C4 머신 유형을 지정해야 합니다.

      • 또는 아키텍처 또는 표준 PMU 유형을 사용 설정하려면 C4 머신 유형을 지정합니다.

PMU를 사용 설정하기 위해 VM을 중지할 필요는 없습니다. 그러나 변경사항을 적용하려면 이 섹션에 설명된 대로 VM을 다시 시작해야 합니다.

기존 VM에서 PMU를 사용 설정하려면 다음 옵션 중 하나를 선택합니다.

gcloud

  1. 빈 YAML 파일을 만듭니다.

  2. 방금 만든 YAML 파일로 VM의 속성을 내보내려면 gcloud compute instances export 명령어를 사용합니다.

    gcloud compute instances export VM_NAME \
        --destination=YAML_FILE \
        --zone=ZONE
    

    다음을 바꿉니다.

    • VM_NAME: VM의 이름입니다.

    • YAML_FILE: 이전 단계에서 만든 YAML 파일의 경로입니다.

    • ZONE: VM이 있는 영역입니다.

  3. YAML 구성 파일에 performanceMonitoringUnit 필드를 추가합니다.

    advancedMachineFeatures:
      performanceMonitoringUnit: PMU_TYPE
    

    PMU_TYPE를 다음 값 중 하나로 바꿉니다.

    • 아키텍처 PMU 유형: ARCHITECTURAL

    • 표준 PMU 유형: STANDARD

    • 고급 PMU 유형: ENHANCED

  4. VM을 업데이트하고 다시 시작하려면 --most-disruptive-allowed-action 플래그를 RESTART로 설정하고 gcloud compute instances update-from-file 명령어를 사용합니다.

    gcloud compute instances update-from-file VM_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

    다음을 바꿉니다.

    • VM_NAME: VM의 이름입니다.

    • YAML_FILE: 이전 단계에서 수정한 구성 데이터가 포함된 YAML 파일의 경로입니다.

    • ZONE: VM이 있는 영역입니다.

REST

  1. 빈 JSON 파일을 만듭니다.

  2. 기존 VM의 속성을 보려면 instances.get 메서드GET 요청을 실행합니다.

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

    다음을 바꿉니다.

    • PROJECT_ID: VM이 있는 프로젝트의 ID입니다.

    • ZONE: VM이 있는 영역입니다.

    • VM_NAME: 기존 VM의 이름입니다.

  3. 이전 단계에서 만든 빈 JSON 파일에서 다음을 수행합니다.

    1. GET 요청 출력의 VM 속성을 입력합니다.

    2. performanceMonitoringUnit 필드를 추가합니다.

      {
        "advancedMachineFeatures": {
          "performanceMonitoringUnit": "PMU_TYPE"
        },
        ...
      }
      

      PMU_TYPE을 다음 값 중 하나로 바꿉니다.

      • 아키텍처 PMU 유형: ARCHITECTURAL

      • 표준 PMU 유형: STANDARD

      • 고급 PMU 유형: ENHANCED

  4. VM을 업데이트하고 다시 시작하려면 instances.update 메서드에 대해 PUT 요청을 수행합니다. 요청에서 다음을 수행합니다.

    • 요청 URL에 RESTART로 설정된 most_disruptive_allowed_action 쿼리 파라미터를 포함합니다.

    • 요청 본문에는 이전 단계에서 만들고 업데이트한 JSON 파일의 VM 속성을 사용합니다.

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART
    
    {
      "advancedMachineFeatures": {
        "performanceMonitoringUnit": "PMU_TYPE"
      },
      ...
    }
    

VM 속성 업데이트에 대한 자세한 내용은 VM 속성 업데이트를 참조하세요.

VM을 만드는 동안 PMU 사용 설정

지원되는 CPU 플랫폼이 포함된 영역에서만 PMU가 사용 설정된 VM을 만들 수 있습니다. 영역별로 사용 가능한 CPU 목록은 사용 가능한 리전 및 영역을 참조하세요.

PMU가 사용 설정된 VM을 만들려면 다음 옵션 중 하나를 선택합니다.

gcloud

PMU가 사용 설정된 VM을 만들려면 --performance-monitoring-unit 플래그와 함께 gcloud compute instances create 명령어를 사용합니다.

gcloud compute instances create VM_NAME \
    --machine-type=MACHINE_TYPE \
    --performance-monitoring-unit=PMU_TYPE \
    --zone=ZONE

다음을 바꿉니다.

  • VM_NAME: VM의 이름입니다.

  • MACHINE_TYPE: C4 머신 유형입니다. 고급 PMU 유형을 사용 설정하려면 96개 또는 192개의 vCPU가 있는 C4 머신 유형을 지정해야 합니다. 그렇지 않으면 VM 만들기가 실패합니다.

  • PMU_TYPE: VM에서 사용 설정할 PMU 유형입니다. 다음 값 중 하나를 지정합니다.

    • 아키텍처 PMU 유형: architectural

    • 표준 PMU 유형: standard

    • 고급 PMU 유형: enhanced

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

REST

PMU가 사용 설정된 VM을 만들려면 instances.insert 메서드POST 요청을 보냅니다. 요청 본문에 performanceMonitoringUnit 필드를 포함합니다.

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

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "advancedMachineFeatures": {
    "performanceMonitoringUnit": "PMU_TYPE"
  }
}

다음을 바꿉니다.

  • PROJECT_ID: VM을 만들 프로젝트의 ID입니다.

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

  • VM_NAME: VM의 이름입니다.

  • MACHINE_TYPE: C4 머신 유형입니다. 고급 PMU 유형을 사용 설정하려면 96개 또는 192개의 vCPU가 있는 C4 머신 유형을 지정해야 합니다. 그렇지 않으면 VM 만들기가 실패합니다.

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

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

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

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

  • PMU_TYPE: VM에서 사용 설정할 PMU 유형입니다. 다음 값 중 하나를 지정합니다.

    • 아키텍처 PMU 유형: ARCHITECTURAL

    • 표준 PMU 유형: STANDARD

    • 고급 PMU 유형: ENHANCED

VM 만들기에 대한 자세한 내용은 Compute Engine 인스턴스 만들기 및 시작을 참고하세요.

VM을 일괄 생성하는 동안 PMU 사용 설정

지원되는 CPU 플랫폼이 포함된 영역에서만 PMU를 사용 설정하여 VM을 일괄로 만들 수 있습니다. 영역별로 사용 가능한 CPU 목록은 사용 가능한 리전 및 영역을 참조하세요.

PMU가 사용 설정된 상태에서 VM을 일괄로 만들려면 다음 옵션 중 하나를 선택합니다.

gcloud

PMU가 사용 설정된 VM을 일괄로 만들려면 --performance-monitoring-unit 플래그와 함께 gcloud compute instances bulk create 명령어를 사용합니다.

예를 들어 단일 영역에서 일괄로 VM을 만들고 이름 패턴을 지정하려면 다음 명령어를 실행하세요.

gcloud compute instances bulk create \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --name-pattern="NAME_PATTERN" \
    --performance-monitoring-unit=PMU_TYPE \
    --zone=ZONE

다음을 바꿉니다.

  • COUNT: 만들 VM 수입니다.

  • MACHINE_TYPE: C4 머신 유형입니다. 고급 PMU 유형을 사용 설정하려면 96개 또는 192개의 vCPU가 있는 C4 머신 유형을 지정해야 합니다. 그렇지 않으면 VM 만들기가 실패합니다.

  • NAME_PATTERN: VM의 이름 패턴입니다. VM 이름에서 일련의 숫자를 바꾸려면 해시(#) 문자 시퀀스를 사용하세요. 예를 들어 이름 패턴에 vm-#을 사용하면 이름이 vm-1, vm-2로 시작하고 COUNT에 지정된 최대 VM 수까지 이어지는 VM이 생성됩니다.

  • PMU_TYPE: VM에서 사용 설정할 PMU 유형입니다. 다음 값 중 하나를 지정합니다.

    • 아키텍처 PMU 유형: architectural

    • 표준 PMU 유형: standard

    • 고급 PMU 유형: enhanced

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

REST

PMU가 사용 설정된 상태에서 VM을 일괄 생성하려면 instances.bulkInsert 메서드POST 요청을 수행합니다. 요청 본문에 performanceMonitoringUnit 필드를 포함합니다.

예를 들어 단일 영역에서 일괄로 VM을 만들고 이름 패턴을 지정하려면 다음과 같이 POST 요청을 실행합니다.

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

{
  "count": COUNT,
  "namePattern": "NAME_PATTERN",
  "instanceProperties": {
    "machineType": "MACHINE_TYPE",
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "advancedMachineFeatures": {
      "performanceMonitoringUnit": "PMU_TYPE"
    }
  }
}

다음을 바꿉니다.

  • PROJECT_ID: VM을 일괄로 만들 프로젝트의 ID입니다.

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

  • COUNT: 만들 VM 수입니다.

  • NAME_PATTERN: VM의 이름 패턴입니다. VM 이름에서 일련의 숫자를 바꾸려면 해시(#) 문자 시퀀스를 사용하세요. 예를 들어 이름 패턴에 vm-#을 사용하면 이름이 vm-1, vm-2로 시작하고 COUNT에 지정된 최대 VM 수까지 이어지는 VM이 생성됩니다.

  • MACHINE_TYPE: C4 머신 유형입니다. 고급 PMU 유형을 사용 설정하려면 96개 또는 192개의 vCPU가 있는 C4 머신 유형을 지정해야 합니다. 그렇지 않으면 VM 만들기가 실패합니다.

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

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

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

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

  • PMU_TYPE: VM에서 사용 설정할 PMU 유형입니다. 다음 값 중 하나를 지정합니다.

    • 아키텍처 PMU 유형: ARCHITECTURAL

    • 표준 PMU 유형: STANDARD

    • 고급 PMU 유형: ENHANCED

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

VM을 일괄로 만드는 방법에 관한 자세한 내용은 VM 일괄 생성을 참조하세요.

인스턴스 템플릿을 만드는 동안 PMU 사용 설정

PMU가 사용 설정된 지역 인스턴스 템플릿을 만들려면 선택한 리전 내 영역 중 하나 이상에 지원되는 CPU 플랫폼이 포함되어 있는지 확인합니다. 영역별로 사용 가능한 CPU 목록은 사용 가능한 리전 및 영역을 참조하세요.

PMU가 사용 설정된 인스턴스 템플릿을 만든 후에는 템플릿을 사용하여 다음을 수행할 수 있습니다.

PMU가 사용 설정된 인스턴스 템플릿을 만들려면 다음 옵션 중 하나를 선택합니다.

gcloud

PMU가 사용 설정된 인스턴스 템플릿을 만들려면 --performance-monitoring-unit 플래그와 함께 gcloud compute instance-templates create 명령어를 사용합니다.

예를 들어 PMU가 사용 설정된 전역 인스턴스 템플릿을 만들려면 다음 명령어를 실행합니다.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --performance-monitoring-unit=PMU_TYPE

다음을 바꿉니다.

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

  • MACHINE_TYPE: C4 머신 유형입니다. 고급 PMU 유형을 사용 설정하려면 96개 또는 192개의 vCPU가 있는 C4 머신 유형을 지정해야 합니다. 그렇지 않으면 VM 만들기가 실패합니다.

  • PMU_TYPE: 인스턴스 템플릿에 포함할 PMU 유형입니다. 다음 값 중 하나를 지정합니다.

    • 아키텍처 PMU 유형: architectural

    • 표준 PMU 유형: standard

    • 고급 PMU 유형: enhanced

REST

PMU가 사용 설정된 인스턴스 템플릿을 만들려면 다음 메서드 중 하나로 POST 요청을 실행합니다.

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

예를 들어 PMU가 사용 설정된 전역 인스턴스 템플릿을 만들려면 다음과 같이 POST 요청을 실행합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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"
      }
    ],
    "advancedMachineFeatures": {
      "performanceMonitoringUnit": "PMU_TYPE"
    }
  }
}

다음을 바꿉니다.

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

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

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

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

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

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

  • MACHINE_TYPE: C4 머신 유형입니다. 고급 PMU 유형을 사용 설정하려면 96개 또는 192개의 vCPU가 있는 C4 머신 유형을 지정해야 합니다. 그렇지 않으면 VM 만들기가 실패합니다.

  • PMU_TYPE: 인스턴스 템플릿에 포함할 PMU 유형입니다. 다음 값 중 하나를 지정합니다.

    • 아키텍처 PMU 유형: ARCHITECTURAL

    • 표준 PMU 유형: STANDARD

    • 고급 PMU 유형: ENHANCED

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

다음 단계