G2 또는 G4 인스턴스 만들기

이 문서에서는 G2 또는 G4 머신 시리즈의 머신 유형을 사용하는 가상 머신 (VM) 인스턴스를 만드는 방법을 설명합니다. 이러한 G 시리즈 가속기 최적화 머신 유형은 그래픽 집약적 애플리케이션과 비용 효율적인 머신러닝 (ML) 추론을 실행하는 데 적합합니다.

이러한 VM을 주문형 VM으로 만들 수 있습니다. 비용을 절감하려면 G2 및 G4 스팟 VM을 만들거나 G2 flex-start VM을 만들면 됩니다. 연결된 GPU가 있는 VM을 만드는 방법에 대한 자세한 내용은 연결된 GPU가 있는 인스턴스 만들기 개요를 참고하세요.

G2 또는 G4 VM을 여러 개 만들려면 다음 중 하나를 사용하면 됩니다.

시작하기 전에

  • 연결된 GPU가 있는 인스턴스를 만들 때의 제한사항과 OS 이미지 선택, GPU 할당량 확인과 같은 추가 기본 요건 단계를 검토하려면 연결된 GPU가 있는 인스턴스 만들기 개요를 참조하세요.
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인합니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.

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

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.

      gcloud init

      외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

    2. Set a default region and zone.

    REST

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

      Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.

      gcloud init

      외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

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

필요한 역할

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

이 사전 정의된 역할에는 VM을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

VM을 만들려면 다음 권한이 필요합니다.

  • 프로젝트에 대한 compute.instances.create 권한
  • 커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한 compute.images.useReadOnly 권한
  • 스냅샷을 사용하여 VM 만들기: 스냅샷에 대한 compute.snapshots.useReadOnly 권한
  • 인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한 compute.instanceTemplates.useReadOnly 권한
  • VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한 compute.subnetworks.use 권한
  • VM의 고정 IP 주소 지정: 프로젝트에 대한 compute.addresses.use 권한
  • VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한 compute.subnetworks.useExternalIp 권한
  • VM에 레거시 네트워크 할당: 프로젝트에 대한 compute.networks.use 권한
  • 레거시 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한 compute.networks.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 권한

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

연결된 GPU가 있는 인스턴스 만들기

Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용하여 G2 또는 G4 가속기 최적화 인스턴스를 만들 수 있습니다.

콘솔

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

    인스턴스 만들기로 이동

  2. 이름 필드에 인스턴스의 고유 이름을 입력합니다. 리소스 이름 지정 규칙을 참고하세요.

  3. 이러한 GPU 머신 유형을 사용할 수 있는 리전과 영역을 선택합니다. GPU 리전 및 영역을 참고하세요.

  4. 머신 유형 섹션에서 GPU를 선택합니다.

    1. GPU 유형 목록에서 GPU 유형을 선택합니다.

      • G2 인스턴스의 경우 NVIDIA L4를 선택합니다.
      • G4 인스턴스의 경우 NVIDIA RTX PRO 6000를 선택합니다.
    2. GPU 수 목록에서 GPU 수를 선택합니다.

      • G4 인스턴스의 경우 선택한 GPU 수를 기반으로 콘솔에서 해당 머신 유형을 자동으로 선택합니다.
      • G2 인스턴스의 경우 다음을 검토하세요.

        • GPU를 하나 선택하면 워크로드에 적합한 vCPU 수와 메모리 양이 사전 설정된 머신 유형 중에서 선택할 수 있습니다.
        • GPU를 2개 이상 선택하면 선택한 GPU 수에 따라 콘솔에서 해당 머신 유형을 자동으로 선택합니다.

        G2 인스턴스의 경우 커스텀 머신 유형을 지정할 수도 있습니다. 인스턴스의 vCPU 수와 메모리 양을 지정하려면 슬라이더를 드래그하거나 텍스트 상자에 값을 입력합니다. vCPU 및 메모리 수량을 변경하면 콘솔에 인스턴스의 예상 비용이 표시됩니다.

    3. 선택사항: G2 및 G4 머신 시리즈는 그래픽 워크로드용 NVIDIA RTX 가상 워크스테이션 (vWS)을 지원합니다. 인스턴스에서 그래픽 집약적인 워크로드를 실행하려는 경우 가상 워크스테이션 사용 설정 (NVIDIA GRID)을 선택합니다.

  5. 다음과 같이 부팅 디스크를 구성합니다.

    1. OS 및 스토리지 섹션에서 변경을 클릭합니다. 그러면 부팅 디스크 구성 페이지가 열립니다.
    2. 부팅 디스크 구성 페이지에서 다음을 수행합니다.

      1. 공개 이미지 탭에서 지원되는 Compute Engine 이미지 또는 Deep Learning VM Image를 선택합니다.
      2. 부팅 디스크 크기를 최소 40GiB 이상으로 지정합니다.
      3. 부팅 디스크 옵션을 확인하려면 선택을 클릭합니다.
  6. 선택사항: 로컬 SSD를 추가합니다. 로컬 SSD를 고속 스크래치 디스크로 사용하거나 I/O 병목 현상을 방지하면서 GPU에 데이터를 공급하는 데 사용할 수 있습니다. 인스턴스에 로컬 SSD를 추가하려면 다음을 완료하세요.

    1. OS 및 스토리지 섹션에서 로컬 SSD 추가를 클릭합니다.
    2. 인터페이스에서 NVMe를 선택합니다.
    3. 디스크 용량에서 연결할 로컬 SSD 수를 선택합니다. 인스턴스당 최대 로컬 SSD 디스크 수는 로컬 SSD의 머신 시리즈 제한을 참고하세요.
  7. 선택사항: g4-standard-384 인스턴스의 네트워크 대역폭을 높이려면 여러 네트워크 인터페이스를 구성하세요. 네트워크 인터페이스를 최대 2개까지 구성할 수 있습니다. 이 구성은 듀얼 네트워크 인터페이스 (2x 200Gbps)가 있는 g4-standard-384 인스턴스를 만듭니다. 네트워킹 섹션에서 다음 단계를 완료합니다.

    1. 기본 네트워크 인터페이스를 펼칩니다.
    2. 첫 번째 인터페이스의 네트워크서브네트워크를 지정합니다.
    3. 네트워크 인터페이스 카드gVNIC를 선택합니다.
    4. 네트워크 인터페이스 추가를 클릭하여 두 번째 인터페이스를 추가합니다. 두 번째 네트워크 인터페이스를 다음과 같이 구성합니다.

      1. 다른 VPC 네트워크서브네트워크를 선택합니다. 각 네트워크 인터페이스는 고유한 VPC 네트워크에 있어야 합니다.
      2. 네트워크 인터페이스 카드gVNIC를 선택합니다.
  8. 선택사항: 비용을 절감하기 위해 다른 프로비저닝 모델을 구성합니다. 고급 옵션 섹션의 VM 프로비저닝 모델에서 다음 중 하나를 선택합니다.

    • (G2만 해당) flex-start: 유동적인 시작 시간을 허용할 수 있는 단기 워크로드에 적합합니다. 자세한 내용은 Flex-start VM 정보를 참고하세요.

    • 스팟: 선점될 수 있는 내결함성 워크로드에 적합합니다. 자세한 내용은 스팟 VM을 참고하세요.

  9. 선택사항: VM 종료 시 목록에서 Compute Engine이 스팟 VM을 선점하거나 flex-start VM의 실행 기간이 종료될 때 수행되는 작업을 선택합니다.

    • 선점 중에 VM을 중지하려면 중지(기본값)를 선택합니다.
    • 선점 중에 VM을 삭제하려면 삭제를 선택합니다.
  10. 만들기를 클릭하여 VM을 만들고 시작합니다.

gcloud

인스턴스를 만들고 시작하려면 gcloud compute instances create 명령어를 사용합니다. 다음 명령어에는 필수 플래그가 포함되어 있습니다.

  gcloud compute instances create VM_NAME \
      --machine-type=MACHINE_TYPE \
      --zone=ZONE \
      --boot-disk-size=DISK_SIZE \
      --image=IMAGE \
      --image-project=IMAGE_PROJECT \
      --maintenance-policy=TERMINATE \
      --restart-on-failure
다음을 바꿉니다.
  • VM_NAME: 새 인스턴스의 이름입니다.
  • MACHINE_TYPE : 선택한 머신 유형입니다. 다음 중 하나를 선택하세요.

    • G4 머신 유형.
    • G2 머신 유형. G2 머신 유형은 커스텀 메모리도 지원합니다. 메모리는 1,024MB의 배수여야 하고 지원되는 메모리 범위 내에 있어야 합니다. 예를 들어 vCPU 4개와 메모리 19GB를 사용하는 인스턴스를 만들려면 --machine-type=g2-custom-4-19456을 지정합니다.
  • ZONE: 인스턴스의 영역입니다. 이 영역은 선택한 GPU 모델을 지원해야 합니다.
  • DISK_SIZE: 부팅 디스크의 크기(GiB 단위)입니다. 부팅 디스크 크기를 최소 40GiB 이상으로 지정합니다.
  • IMAGE: GPU를 지원하는 운영체제 이미지입니다. 이미지 계열에서 최신 이미지를 사용하려면 --image 플래그를 --image-family 플래그로 바꾸고 GPU를 지원하는 이미지 계열로 값을 설정합니다. 예: --image-family=rocky-linux-8-optimized-gcp
    커스텀 이미지 또는 Deep Learning VM Image를 지정할 수도 있습니다.
  • IMAGE_PROJECT: OS 이미지가 속한 Compute Engine 이미지 프로젝트입니다. 커스텀 이미지 또는 Deep Learning VM Image를 사용하는 경우 해당 이미지가 속하는 프로젝트를 지정합니다.

선택적 플래그

워크로드 또는 운영체제 요구사항을 충족하도록 인스턴스를 추가로 구성하려면 gcloud compute instances create 명령어를 실행할 때 다음 플래그를 하나 이상 포함하세요.

기능 설명
프로비저닝 모델 인스턴스의 프로비저닝 모델을 설정합니다. SPOT 또는 FLEX_START를 지정합니다. FLEX_START는 G4 인스턴스에서 지원되지 않습니다. 모델을 지정하지 않으면 표준 모델이 사용됩니다. 자세한 내용은 Compute Engine 인스턴스 프로비저닝 모델을 참고하세요.
--provisioning-model=PROVISIONING_MODEL
가상 워크스테이션 그래픽 워크로드용 NVIDIA RTX 가상 워크스테이션 (vWS)을 지정합니다.
--accelerator=type=VWS_ACCELERATOR_TYPE,count=VWS_ACCELERATOR_COUNT

다음을 바꿉니다.

  • VWS_ACCELERATOR_TYPE의 경우 다음 중 하나를 선택하세요.
    • G4 인스턴스의 경우 nvidia-rtx-pro-6000-vws를 지정합니다.
    • G2 인스턴스의 경우 nvidia-l4-vws를 지정합니다.
  • VWS_ACCELERATOR_COUNT의 경우 필요한 가상 GPU 수를 지정합니다.
로컬 SSD 인스턴스에 하나 이상의 로컬 SSD를 연결합니다. 로컬 SSD를 고속 스크래치 디스크로 사용하거나 I/O 병목 현상을 방지하면서 GPU에 데이터를 피드하는 데 사용할 수 있습니다.
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme \
    --local-ssd=interface=nvme ...
VM 인스턴스당 연결할 수 있는 최대 로컬 SSD 디스크 수는 로컬 SSD 제한을 참고하세요.
네트워크 인터페이스 인스턴스에 다중 네트워크 인터페이스를 연결합니다. g4-standard-384 인스턴스의 경우 최대 2개의 네트워크 인터페이스를 연결할 수 있습니다. 이 플래그를 사용하여 이중 네트워크 인터페이스 (2x 200Gbps)가 있는 인스턴스를 만들 수 있습니다. 각 네트워크 인터페이스는 고유한 VPC 네트워크에 있어야 합니다.

   --network-interface=network=VPC_NAME_1,subnet=SUBNET_NAME_1,nic-type=GVNIC \
   --network-interface=network=VPC_NAME_2,subnet=SUBNET_NAME_2,nic-type=GVNIC
   

이중 네트워크 인터페이스는 g4-standard-384 머신 유형에서만 지원됩니다.

다음을 바꿉니다.

  • VPC_NAME: VPC 네트워크의 이름입니다.
  • SUBNET_NAME: 지정된 VPC 네트워크에 속한 서브넷의 이름입니다.

REST

POST 요청을 instances.insert 메서드로 보냅니다. GPU가 있는 인스턴스는 라이브 마이그레이션할 수 없으므로 onHostMaintenance 매개변수를 TERMINATE로 설정해야 합니다. 다음 명령어에는 필수 플래그가 포함되어 있습니다.

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

{
   "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
   "disks":[
      {
         "type":"projects/PROJECT_ID/zones/ZONE/diskTypes/hyperdisk-balanced",
         "initializeParams":{
            "diskSizeGb":"DISK_SIZE",
            "sourceImage":"SOURCE_IMAGE_URI"
         },
         "boot":true
      }
   ],
   "name":"VM_NAME",
   "networkInterfaces":[
      {
         "network":"projects/PROJECT_ID/global/networks/NETWORK"
      }
   ],
   "scheduling":{
      "onHostMaintenance":"terminate",
      "automaticRestart":true
   }
}
다음을 바꿉니다.
  • VM_NAME: 새 인스턴스의 이름입니다.
  • PROJECT_ID: 프로젝트 ID
  • ZONE: 인스턴스의 영역입니다. 이 영역은 선택한 GPU 모델을 지원해야 합니다.
  • MACHINE_TYPE : 선택한 머신 유형입니다. 다음 중 하나를 선택하세요.
    • G4 머신 유형.
    • G2 머신 유형. G2 머신 유형은 커스텀 메모리도 지원합니다. 메모리는 1,024MB의 배수여야 하고 지원되는 메모리 범위 내에 있어야 합니다. 예를 들어 vCPU가 4개이고 메모리가 19GB인 인스턴스의 머신 유형 이름은 g2-custom-4-19456입니다.
  • SOURCE_IMAGE_URI: 사용할 특정 이미지나 이미지 계열의 URI입니다. 예를 들면 다음과 같습니다.
    • 특정 이미지: "sourceImage": "projects/rocky-linux-cloud/global/images/rocky-linux-8-optimized-gcp-v20220719"
    • 이미지 계열: "sourceImage": "projects/rocky-linux-cloud/global/images/family/rocky-linux-8-optimized-gcp"
    이미지 계열을 지정하면 Compute Engine이 해당 계열의 지원 중단되지 않은 최신 OS 이미지에서 인스턴스를 만듭니다. 이미지 계열을 사용할 시기에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.
  • DISK_SIZE: 부팅 디스크의 크기(GiB 단위)입니다. 부팅 디스크 크기를 최소 40GiB 이상으로 지정합니다.

선택적 플래그

워크로드 또는 운영체제 요구사항을 충족하도록 인스턴스를 추가로 구성하려면 instances.insert 메서드를 실행할 때 다음 플래그 중 하나 이상을 포함하세요.

기능 설명
프로비저닝 모델 비용을 절감하려면 요청의 scheduling 객체에 "provisioningModel": "PROVISIONING_MODEL" 필드를 추가하여 다른 프로비저닝 모델을 지정하면 됩니다. 스팟 VM을 만들도록 지정하면 onHostMaintenanceautomaticRestart 필드가 무시됩니다. 자세한 내용은 Compute Engine 인스턴스 프로비저닝 모델을 참고하세요.
    "scheduling":
     {
       "onHostMaintenance": "terminate",
       "provisioningModel": "PROVISIONING_MODEL"
     }
  

PROVISIONING_MODEL를 다음 중 하나로 바꿉니다.

  • STANDARD: (기본값) 표준 인스턴스입니다.
  • SPOT: 스팟 VM입니다.
  • FLEX_START: Flex-start VM입니다. Flex-start VM은 최대 7일 동안 실행되며 GPU와 같은 수요가 높은 리소스를 할인된 가격으로 사용할 수 있도록 지원합니다. 이 프로비저닝 모델은 G4 인스턴스에서 지원되지 않습니다.
가상 워크스테이션 그래픽 워크로드용 NVIDIA RTX 가상 워크스테이션 (vWS)을 지정합니다.
   "guestAccelerators":
     [
       {
         "acceleratorCount": VWS_ACCELERATOR_COUNT,
         "acceleratorType": "projects/PROJECT_ID/zones/ZONE/acceleratorTypes/VWS_ACCELERATOR_TYPE"
       }
     ]
    

다음을 바꿉니다.

  • VWS_ACCELERATOR_TYPE의 경우 다음 중 하나를 선택하세요.
    • G4 인스턴스의 경우 nvidia-rtx-pro-6000-vws를 지정합니다.
    • G2 인스턴스의 경우 nvidia-l4-vws를 지정합니다.
  • VWS_ACCELERATOR_COUNT의 경우 필요한 가상 GPU 수를 지정합니다.
로컬 SSD 인스턴스에 하나 이상의 로컬 SSD를 연결합니다. 로컬 SSD를 고속 스크래치 디스크로 사용하거나 I/O 병목 현상을 방지하면서 GPU에 데이터를 피드하는 데 사용할 수 있습니다.
   {
     "type": "SCRATCH",
     "autoDelete": true,
     "initializeParams": {
       "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/local-nvme-ssd"
     }
   }
  
VM 인스턴스당 연결할 수 있는 최대 로컬 SSD 디스크 수는 로컬 SSD 제한을 참고하세요.
네트워크 인터페이스 인스턴스에 다중 네트워크 인터페이스를 연결합니다. g4-standard-384 인스턴스의 경우 최대 2개의 네트워크 인터페이스를 연결할 수 있습니다. 이렇게 하면 이중 네트워크 인터페이스(2x 200Gbps)가 있는 인스턴스가 생성됩니다. 각 네트워크 인터페이스는 고유한 VPC 네트워크에 있어야 합니다.

   "networkInterfaces":
   [
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_1",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_1",
       "nicType": "GVNIC"
     },
     {
       "network": "projects/PROJECT_ID/global/networks/VPC_NAME_2",
       "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME_2",
       "nicType": "GVNIC"
     }
   ]
  

이중 네트워크 인터페이스는 g4-standard-384 머신 유형에서만 지원됩니다.

다음을 바꿉니다.

  • VPC_NAME: VPC 네트워크의 이름입니다.
  • SUBNET_NAME: 지정된 VPC 네트워크에 속한 서브넷의 이름입니다.

드라이버 설치

인스턴스를 만든 후에는 GPU를 사용할 수 있도록 인스턴스용 드라이버를 설치해야 합니다. 설치해야 하는 드라이버는 인스턴스를 만들 때 그래픽 워크로드에 대한 NVIDIA RTX 가상 워크스테이션 (vWS)을 사용 설정했는지에 따라 다릅니다.

(선택사항) 멀티 인스턴스 GPU 모드 (G4만 해당)

멀티 인스턴스 GPU (MIG) 모드는 지원되는 NVIDIA GPU에서 사용 설정할 수 있는 기능입니다.

G4 인스턴스를 만든 후 머신에 연결된 단일 NVIDIA RTX PRO 6000 GPU에서 멀티 인스턴스 GPU (MIG) 모드를 사용 설정할 수 있습니다. MIG 모드를 사용 설정하면 단일 GPU가 최대 7개의 독립적인 GPU 인스턴스로 파티셔닝됩니다. 각 인스턴스는 동시에 실행되며 각각 고유의 메모리, 캐시, 스트리밍 멀티 프로세서를 포함합니다. 그런 다음 이러한 GPU 인스턴스에서 다양한 워크로드를 병렬로 실행할 수 있습니다.

멀티 인스턴스 GPU 사용에 대한 자세한 내용은 NVIDIA 문서의 MIG 시작하기를 참고하세요.

다음 단계