A4 또는 A3 Ultra로 AI 최적화 인스턴스 일괄 생성

이 문서에서는 A4 또는 A3 Ultra 머신 유형을 사용하는 가상 머신 (VM) 인스턴스를 일괄적으로 만드는 방법을 설명합니다. 이러한 가속기 최적화 머신 유형에 대해 자세히 알아보려면 A4 또는 A3 Ultra를 참고하세요.

VM을 일괄로 만드는 방법에 대한 자세한 내용은 Compute Engine 문서의 VM 일괄 생성 정보를 참고하세요.

VM 또는 클러스터를 만드는 다른 방법을 알아보려면 배포 옵션 개요를 참고하세요.

제한사항

A4 또는 A3 Ultra VM을 일괄 생성할 때는 다음 제한사항이 적용됩니다.

A4

  • A4 머신 유형을 사용하는 인스턴스에는 지속 사용 할인가변형 약정 사용 할인이 적용되지 않습니다.
  • 특정 리전 및 영역에서만 A4 머신 유형을 사용할 수 있습니다.
  • Persistent Disk (리전 또는 영역)를 사용할 수 없습니다. Google Cloud Hyperdisk만 사용할 수 있습니다.
  • A4 머신 유형은 Emerald Rapids CPU 플랫폼에서만 사용할 수 있습니다.
  • 인스턴스의 머신 유형을 A4 머신 유형으로 변경하거나 A4 머신 유형에서 변경할 수 없습니다. 이 머신 유형으로 새 인스턴스를 만들어야 합니다.
  • A4 머신 유형은 단독 테넌시를 지원하지 않습니다.
  • A4 머신 유형에서는 Windows 운영체제를 실행할 수 없습니다.
  • A4 인스턴스의 경우 ethtool -S를 사용하여 GPU 네트워킹을 모니터링하면 _phy로 끝나는 실제 포트 카운터가 업데이트되지 않습니다. 이는 MRDMA 가상 함수 (VF) 아키텍처를 사용하는 인스턴스의 예상 동작입니다. 자세한 내용은 MRDMA 기능 및 네트워크 모니터링 도구를 참고하세요.
  • 2026년 2월 4일 이전에 생성된 Hyperdisk ML 디스크는 A4 머신 유형에 연결할 수 없습니다.

A3 Ultra

  • A3 Ultra 머신 유형을 사용하는 인스턴스에는 지속 사용 할인가변형 약정 사용 할인이 적용되지 않습니다.
  • A3 Ultra 머신 유형은 특정 리전 및 영역에서만 사용할 수 있습니다.
  • Persistent Disk (리전 또는 영역)를 사용할 수 없습니다. Google Cloud Hyperdisk만 사용할 수 있습니다.
  • A3 Ultra 머신 유형은 Emerald Rapids CPU 플랫폼에서만 사용할 수 있습니다.
  • A3 Ultra 머신 유형에서는 머신 유형 변경이 지원되지 않습니다. 이 머신 유형으로 전환하거나 이 머신 유형에서 전환하려면 새 인스턴스를 만들어야 합니다.
  • A3 Ultra 머신 유형에서는 Windows 운영체제를 실행할 수 없습니다.
  • A3 Ultra 머신 유형은 단독 테넌시를 지원하지 않습니다.
  • A3 Ultra 인스턴스의 경우 ethtool -S를 사용하여 GPU 네트워킹을 모니터링하면 _phy로 끝나는 실제 포트 카운터가 업데이트되지 않습니다. 이는 MRDMA 가상 함수 (VF) 아키텍처를 사용하는 인스턴스의 예상 동작입니다. 자세한 내용은 MRDMA 기능 및 네트워크 모니터링 도구를 참고하세요.

시작하기 전에

아직 완료하지 않았다면 VM을 일괄 생성하기 전에 다음 단계를 완료하세요.

  1. 소비 옵션 선택: 소비 옵션 선택에 따라 GPU 리소스를 획득하고 사용하는 방식이 결정됩니다.

    자세한 내용은 사용 옵션 선택을 참고하세요.

  2. 용량 획득: 용량을 획득하는 프로세스는 각 소비 옵션마다 다릅니다.

    선택한 소비 옵션의 용량을 확보하는 프로세스를 알아보려면 용량 개요를 참고하세요.

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

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

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 권한

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

개요

A4 또는 A3 Ultra 머신 유형으로 인스턴스를 일괄 생성하는 단계는 다음과 같습니다.

  1. VPC 네트워크 만들기
  2. 선택사항: 압축 배치 정책 만들기
  3. 인스턴스 일괄 생성

VPC 네트워크 만들기

A4 또는 A3 Ultra 머신 유형의 네트워크를 설정하려면 다음 네트워크 인터페이스용으로 3개의 VPC 네트워크를 만들어야 합니다.

  • gVNIC 네트워크 인터페이스(NIC)용으로 일반 VPC 네트워크 2개를 만듭니다. 이 네트워크는 호스트 간 통신에 사용됩니다.
  • CX-7 NIC용으로 RoCE 네트워크 프로필을 사용하는 VPC 네트워크 1개가 필요합니다. 이 RoCE VPC 네트워크에는 8개의 서브넷이 있어야 하며, 각 CX-7 NIC마다 하나의 서브넷을 사용합니다. 이러한 NIC는 RDMA over Converged Ethernet(RoCE)을 사용하여 GPU 간 통신에 필수적인 고대역폭 및 저지연 통신을 제공합니다.

NIC 구성에 대한 자세한 내용은 네트워크 대역폭 및 NIC 구성 검토를 참조하세요.

네트워크는 안내 가이드에 따라 수동으로 만들거나, 제공된 스크립트를 사용하여 자동으로 만들 수 있습니다.

안내 가이드

네트워크를 만들려면 다음 안내를 수행하면 됩니다.

이러한 VPC 네트워크의 경우 최대 전송 단위(MTU)를 더 큰 값으로 설정하는 것이 좋습니다. A4 또는 A3 Ultra 머신 유형의 경우 권장 MTU는 8896바이트입니다. 다른 GPU 머신 유형에 권장되는 MTU 설정을 검토하려면 GPU 머신 유형의 MTU 설정을 참조하세요.

스크립트

네트워크를 만들려면 다음 단계를 따르세요.

이러한 VPC 네트워크의 경우 최대 전송 단위(MTU)를 더 큰 값으로 설정하는 것이 좋습니다. A4 또는 A3 Ultra 머신 유형의 경우 권장 MTU는 8896바이트입니다. 다른 GPU 머신 유형에 권장되는 MTU 설정을 검토하려면 GPU 머신 유형의 MTU 설정을 참조하세요.

  1. 다음 스크립트를 사용하여 gVNIC 및 CX-7 NIC용 VPC 네트워크를 만드세요.

      
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=10.0.0.0/8
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for CX-7
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 7); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
        done
    
      

    다음을 바꿉니다.

    • GVNIC_NAME_PREFIX: gVNIC용 일반 VPC 네트워크와 서브넷에 사용할 커스텀 이름 프리픽스입니다.
    • RDMA_NAME_PREFIX: CX-7 NIC용 RoCE VPC 네트워크 및 서브넷에 사용할 커스텀 이름 프리픽스입니다.
    • ZONE: 사용할 머신 유형이 제공되는 영역을 지정합니다(예: us-central1-a). 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.
    • REGION: 서브넷을 만들려는 리전입니다. 이 리전은 지정된 영역과 일치해야 합니다. 예를 들어 영역이 us-central1-a이면 리전은 us-central1입니다.
    • IP_RANGE: SSH 방화벽 규칙에 사용할 IP 범위입니다.
  2. 선택사항: VPC 네트워크 리소스가 성공적으로 생성되었는지 확인하려면 Google Cloud 콘솔에서 네트워크 설정을 확인하세요.
    1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

      VPC 네트워크로 이동

    2. 이전 단계에서 만든 네트워크를 목록에서 찾아봅니다.
    3. 서브넷, 방화벽 규칙, 기타 네트워크 설정을 보려면 네트워크 이름을 클릭합니다.

선택사항: 압축 배치 정책 만들기

압축 배치 정책을 만들어 VM 배치를 지정할 수 있습니다. VM에 압축 배치 정책을 적용하면 Compute Engine은 VM을 최대한 서로 가까운 위치에 만들기 위해 최선을 다합니다. 애플리케이션이 지연 시간에 민감하고 VM이 더 가까이 있도록 하려면 (최대 압축) 압축 배치 정책을 만들 때 maxDistance 필드(미리보기)를 지정합니다. maxDistance 값이 낮을수록 VM이 더 가까운 위치에 배치되지만 일부 VM이 생성되지 않을 가능성도 높아집니다.

압축 배치 정책을 만들려면 다음 옵션 중 하나를 선택합니다.

gcloud

압축 배치 정책을 만들려면 gcloud beta compute resource-policies create group-placement 명령어를 사용합니다.

gcloud beta compute resource-policies create group-placement POLICY_NAME \
    --collocation=collocated \
    --max-distance=MAX_DISTANCE \
    --region=REGION

다음을 바꿉니다.

  • POLICY_NAME: 압축 배치 정책 이름
  • MAX_DISTANCE: VM의 최대 거리 구성입니다. 인접한 블록에 VM을 배치하려면 값은 3이어야 하고, 동일한 블록에 VM을 배치하려면 값은 2이어야 합니다. 머신 시리즈별 maxDistance당 지원되는 최대 VM 수에 대한 자세한 내용은 Compute Engine 문서의 압축 배치 정책 정보를 참고하세요.
  • REGION: 압축 배치 정책을 만들려는 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.

REST

압축 배치 정책을 만들려면 베타 resourcePolicies.insert 메서드POST 요청을 수행합니다. 요청 본문에 COLLOCATED로 설정된 collocation 필드와 maxDistance 필드를 포함합니다.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "POLICY_NAME",
    "groupPlacementPolicy": {
      "collocation": "COLLOCATED",
      "maxDistance": MAX_DISTANCE
    }
  }

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • POLICY_NAME: 압축 배치 정책 이름
  • MAX_DISTANCE: VM의 최대 거리 구성입니다. 인접한 블록에 VM을 배치하려면 값은 3이어야 하고, 동일한 블록에 VM을 배치하려면 값은 2이어야 합니다. 머신 시리즈별 maxDistance당 지원되는 최대 VM 수에 대한 자세한 내용은 Compute Engine 문서의 압축 배치 정책 정보를 참고하세요.
  • REGION: 압축 배치 정책을 만들려는 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.

A3 Ultra 또는 A4 VM 일괄 생성

A3 Ultra 또는 A4 VM을 일괄 생성하려면 다음 방법 중 하나를 사용하세요.

다음 명령어는 인스턴스의 액세스 범위도 설정합니다. 권한 관리를 간소화하려면 인스턴스의 액세스 범위를 cloud-platform 액세스로 설정한 다음 IAM 역할을 사용하여 인스턴스가 액세스할 수 있는 서비스를 정의하는 것이 좋습니다. 자세한 내용은 범위 권장사항을 참고하세요.

gcloud

VM을 일괄적으로 만들려면 gcloud compute instances bulk create 명령어를 사용합니다.

지정해야 하는 파라미터는 이번 배포에서 사용하는 소비 옵션에 따라 달라집니다. 해당 소비 옵션의 프로비저닝 모델에 해당하는 탭을 선택하세요.

예약에 따름

명령어를 실행하기 전에 필요에 따라 압축 배치 정책의 플래그를 추가합니다.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

다음 단계를 완료합니다.

  1. 다음을 바꿉니다.

    • NAME_PATTERN: VM의 이름 패턴입니다. 예를 들어 이름 패턴에 vm-#을 사용하면 vm-1, vm-2 등의 이름으로 VM이 생성되므로 --count로 지정하는 최대 VM 수는 이름 패턴에서 허용하는 VM 수보다 작거나 같아야 합니다.
    • COUNT: 만들 VM 수입니다.
    • MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.
    • REGION: 사용할 머신 유형이 제공되는 리전을 지정합니다. 압축 배치 정책을 지정하려면 압축 배치 정책과 동일한 리전을 사용해야 합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.
    • DISK_SIZE: 부팅 디스크의 크기(GB 단위).
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • RDMA_NAME_PREFIX: RDMA NIC를 사용하는 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • RESERVATION: 예약 이름 또는 예약 내의 특정 블록입니다. 예약 이름 또는 사용 가능한 블록을 확인하려면 예약된 용량 보기를 참조하세요. 인스턴스 배치 요구사항에 따라 다음 중 하나를 선택합니다.
      • 블록 전체 또는 단일 블록에 인스턴스를 만들려면 다음 단계를 따르세요.

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        또한 단일 블록의 경우 블록 공동 배치를 지정하는 압축 배치 정책 (maxDistance=2)을 적용합니다. 그런 다음 Compute Engine이 예약에 정책을 적용하고 동일한 블록에 인스턴스를 만듭니다.

      • 특정 블록에 인스턴스를 만들려면 다음을 수행합니다.

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: 예약 기간이 끝났을 때 Compute Engine이 VM을 중지(STOP)하거나 삭제(DELETE)하도록 설정할 수 있습니다.

  2. 선택사항: 압축 배치 정책을 사용하기로 한 경우 명령어에 다음 플래그를 추가합니다.

      --resource-policies=POLICY_NAME
    

    다음을 바꿉니다.

    • POLICY_NAME: 압축 배치 정책 이름
  3. 명령어를 실행합니다.

스팟

명령어를 실행하기 전에 필요에 따라 압축 배치 정책의 플래그를 추가합니다.

gcloud compute instances bulk create \
    --name-pattern=NAME_PATTERN \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

다음 단계를 완료합니다.

  1. 다음을 바꿉니다.

    • NAME_PATTERN: VM의 이름 패턴입니다. 예를 들어 이름 패턴에 vm-#을 사용하면 vm-1, vm-2 등의 이름으로 VM이 생성되므로 --count로 지정하는 최대 VM 수는 이름 패턴에서 허용하는 VM 수보다 작거나 같아야 합니다.
    • COUNT: 만들 VM 수입니다.
    • MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.
    • REGION: 사용할 머신 유형이 제공되는 리전을 지정합니다. 압축 배치 정책을 지정하려면 압축 배치 정책과 동일한 리전을 사용해야 합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.
    • DISK_SIZE: 부팅 디스크의 크기(GB 단위).
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • RDMA_NAME_PREFIX: RDMA NIC를 사용하는 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는 DELETE)으로 바꿉니다.

  2. 선택사항: 압축 배치 정책을 사용하기로 한 경우 명령어에 다음 플래그를 추가합니다.

      --resource-policies=POLICY_NAME
    

    다음을 바꿉니다.

    • POLICY_NAME: 압축 배치 정책 이름
  3. 명령어를 실행합니다.

REST

VM을 일괄로 만들려면 instances.bulkInsert 메서드POST 요청을 보냅니다.

지정해야 하는 파라미터는 이번 배포에서 사용하는 소비 옵션에 따라 달라집니다. 해당 소비 옵션의 프로비저닝 모델에 해당하는 탭을 선택하세요.

예약에 따름

요청을 제출하기 전에 요청 본문에 압축 배치 정책instanceProperties 하위 필드를 선택적으로 추가합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

다음 단계를 완료합니다.

  1. 다음을 바꿉니다.

    • PROJECT_ID: VM을 만들 프로젝트의 프로젝트 ID로 바꿉니다.
    • ZONE: 사용할 머신 유형이 제공되는 영역을 지정합니다. 압축 배치 정책을 지정하려면 압축 배치 정책과 동일한 리전의 영역을 사용해야 합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.
    • NAME_PATTERN: VM의 이름 패턴입니다. 예를 들어 이름 패턴에 vm-#을 사용하면 vm-1, vm-2 등의 이름으로 VM이 생성되므로 --count로 지정하는 최대 VM 수는 이름 패턴에서 허용하는 VM 수보다 작거나 같아야 합니다.
    • COUNT: 만들 VM 수입니다.
    • MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.
    • VM_NAME: VM의 이름입니다.
    • DISK_SIZE: 부팅 디스크의 크기(GB 단위)입니다.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.
    • NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • REGION: 서브네트워크 리전으로 바꿉니다.
    • RDMA_NAME_PREFIX: RDMA NIC를 사용하는 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • RESERVATION: 예약 이름 또는 예약 내의 특정 블록입니다. 예약 이름 또는 사용 가능한 블록을 확인하려면 예약된 용량 보기를 참조하세요. 인스턴스 배치 요구사항에 따라 다음 중 하나를 선택합니다.
      • 블록 전체 또는 단일 블록에 인스턴스를 만들려면 다음 단계를 따르세요.

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME

        또한 단일 블록의 경우 블록 공동 배치를 지정하는 압축 배치 정책 (maxDistance=2)을 적용합니다. 그런 다음 Compute Engine이 예약에 정책을 적용하고 동일한 블록에 인스턴스를 만듭니다.

      • 특정 블록에 인스턴스를 만들려면 다음을 수행합니다.

        projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
    • TERMINATION_ACTION: 예약 기간이 끝났을 때 Compute Engine이 VM을 중지(STOP)하거나 삭제(DELETE)하도록 설정할 수 있습니다.

  2. 선택사항: 압축 배치 정책을 사용하기로 한 경우 요청 본문에 다음 instanceProperties 하위 필드를 추가합니다.

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    다음을 바꿉니다.

    • PROJECT_ID: 압축 배치 정책의 프로젝트 ID입니다.
    • REGION: 압축 배치 정책 리전
    • POLICY_NAME: 압축 배치 정책 이름
  3. 요청을 제출합니다.

스팟

요청을 제출하기 전에 요청 본문에 압축 배치 정책instanceProperties 하위 필드를 선택적으로 추가합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
  "namePattern":"NAME_PATTERN",
  "count":"COUNT",
  "instanceProperties":{
    "machineType":"MACHINE_TYPE",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
      }
    ],
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION",
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    }
  }
}

다음 단계를 완료합니다.

  1. 다음을 바꿉니다.

    • PROJECT_ID: VM을 만들 프로젝트의 프로젝트 ID로 바꿉니다.
    • ZONE: 사용할 머신 유형이 제공되는 영역을 지정합니다. 압축 배치 정책을 지정하려면 압축 배치 정책과 동일한 리전의 영역을 사용해야 합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.
    • NAME_PATTERN: VM의 이름 패턴입니다. 예를 들어 이름 패턴에 vm-#을 사용하면 vm-1, vm-2 등의 이름으로 VM이 생성되므로 --count로 지정하는 최대 VM 수는 이름 패턴에서 허용하는 VM 수보다 작거나 같아야 합니다.
    • COUNT: 만들 VM 수입니다.
    • MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.
    • VM_NAME: VM의 이름입니다.
    • DISK_SIZE: 부팅 디스크의 크기(GB 단위)입니다.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.
    • NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • REGION: 서브네트워크 리전으로 바꿉니다.
    • RDMA_NAME_PREFIX: RDMA NIC를 사용하는 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는 DELETE)으로 바꿉니다.

  2. 선택사항: 압축 배치 정책을 사용하기로 한 경우 요청 본문에 다음 instanceProperties 하위 필드를 추가합니다.

        "resourcePolicies": [
          "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
        ]
    

    다음을 바꿉니다.

    • PROJECT_ID: 압축 배치 정책의 프로젝트 ID입니다.
    • REGION: 압축 배치 정책 리전
    • POLICY_NAME: 압축 배치 정책 이름
  3. 요청을 제출합니다.

VM을 일괄로 만들 때의 구성 옵션에 대한 자세한 내용은 Compute Engine 문서의 VM 일괄 생성을 참고하세요.

다음 단계