A3 High 또는 A3 Mega로 AI 최적화 인스턴스 일괄 생성

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

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

VM 또는 클러스터를 만드는 다른 방법을 알아보려면 개요 페이지를 참고하세요.

시작하기 전에

아직 완료하지 않았다면 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 권한

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

개요

a3h-or-a3m 머신 유형으로 인스턴스를 일괄 생성하는 단계는 다음과 같습니다.

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

VPC 네트워크 만들기

GPU VM의 효율적인 통신을 사용 설정하려면 관리 네트워크와 하나 이상의 데이터 네트워크를 만들어야 합니다. 관리 네트워크는 외부 액세스(예: SSH) 및 대부분의 일반 네트워크 통신에 사용됩니다. 데이터 네트워크는 서로 다른 VM의 GPU 간 고성능 통신에 사용됩니다(예: 원격 직접 메모리 액세스(RDMA) 트래픽).

이러한 VPC 네트워크의 경우 최대 전송 단위(MTU)를 더 큰 값으로 설정하는 것이 좋습니다. MTU 값이 클수록 패킷 크기가 증가하고 패킷 헤더 오버헤드가 줄어들어 페이로드 데이터 처리량이 증가합니다. VPC 네트워크를 만드는 방법에 관한 자세한 내용은 점보 프레임 MTU 네트워크 만들기 및 확인을 참고하세요.

관리 네트워크, 서브넷, 방화벽 규칙 만들기

다음 단계에 따라 관리 네트워크를 설정하세요.

  1. networks create 명령어를 사용하여 관리 네트워크를 만듭니다.

    gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \
        --project=PROJECT_ID \
        --subnet-mode=custom \
        --mtu=8244
    
  2. networks subnets create 명령어를 사용하여 관리 서브넷을 만듭니다.

    gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \
        --project=PROJECT_ID \
        --network=NETWORK_NAME_PREFIX-mgmt-net \
        --region=REGION \
        --range=192.168.0.0/24
    
  3. firewall-rules create 명령어를 사용하여 방화벽 규칙을 만듭니다.

    1. 관리 네트워크의 방화벽 규칙을 만듭니다.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:0-65535,udp:0-65535,icmp \
          --source-ranges=192.168.0.0/16
      
    2. SSH를 사용하여 VM에 연결할 수 있는 소스 IP 주소를 제한하는 tcp:22 방화벽 규칙을 만듭니다.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=SSH_SOURCE_IP_RANGE
      
    3. 네트워크에서 데이터 전송 문제를 확인하는 데 사용할 수 있는 icmp 방화벽 규칙을 만듭니다.

      gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \
          --project=PROJECT_ID \
          --network=NETWORK_NAME_PREFIX-mgmt-net \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=0.0.0.0/0
      

다음을 바꿉니다.

  • NETWORK_NAME_PREFIX: VPC 네트워크 및 서브넷에 사용할 이름 프리픽스입니다.
  • PROJECT_ID: 프로젝트 ID입니다.
  • REGION: 네트워크를 만들려는 리전입니다.
  • SSH_SOURCE_IP_RANGE: CIDR 형식의 IP 범위. SSH를 사용하여 VM에 연결할 수 있는 소스 IP 주소를 지정합니다.

데이터 네트워크, 서브넷, 방화벽 규칙 만들기

데이터 네트워크 수는 생성하는 GPU 머신 유형에 따라 다릅니다.

A3 Mega

A3 Mega에는 8개의 데이터 네트워크가 필요합니다. 서브넷과 방화벽 규칙이 각각 있는 데이터 네트워크 8개를 만들려면 다음 명령어를 사용합니다.

for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

A3 High

A3 High에는 4개의 데이터 네트워크가 필요합니다. 다음 명령어를 사용하여 각각 서브넷과 방화벽 규칙이 있는 데이터 네트워크 4개를 만듭니다.

for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
    --project=PROJECT_ID \
    --subnet-mode=custom \
    --mtu=8244

gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --region=REGION \
    --range=192.168.$N.0/24

gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
    --project=PROJECT_ID \
    --network=NETWORK_NAME_PREFIX-data-net-$N \
    --action=ALLOW \
    --rules=tcp:0-65535,udp:0-65535,icmp \
    --source-ranges=192.168.0.0/16
done

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

압축 배치 정책을 만들어 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 High 또는 A3 Mega VM 일괄 생성

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

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

gcloud

A3 High 또는 A3 Mega VM을 만들려면 gcloud compute instances bulk create 명령어를 사용합니다.

A3 Mega

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=DISK_TYPE \
    --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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,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 이미지의 이미지 계열로 바꿉니다. A3 Mega 머신 시리즈의 경우 cos-121-lts 이상의 Container-Optimized OS 이미지를 사용하고 자동 업데이트를 사용 중지하거나 rocky-linux-8-optimized-gcp-nvidia-580 Rocky Linux 이미지를 사용하는 것이 좋습니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다. 예를 들어 cos-121-lts 이상의 Container-Optimized OS 이미지에는 cos-cloud를 사용하고 rocky-linux-8-optimized-gcp-nvidia-580 Rocky Linux 이미지에는 rocky-linux-accelerator-cloud를 사용합니다.
    • REGION: 사용할 머신 유형이 제공되는 리전을 지정합니다. 압축 배치 정책을 지정하려면 압축 배치 정책과 동일한 리전을 사용해야 합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.
    • DISK_TYPE: 부팅 디스크의 유형입니다. hyperdisk-balanced을 사용하는 것이 좋습니다.
    • DISK_SIZE: 부팅 디스크의 크기(GB 단위).
    • GVNIC_NAME_PREFIX: gVNIC 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=DISK_TYPE \
    --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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,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 이미지의 이미지 계열로 바꿉니다. A3 Mega 머신 시리즈의 경우 cos-121-lts 이상의 Container-Optimized OS 이미지를 사용하고 자동 업데이트를 사용 중지하거나 rocky-linux-8-optimized-gcp-nvidia-580 Rocky Linux 이미지를 사용하는 것이 좋습니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다. 예를 들어 cos-121-lts 이상의 Container-Optimized OS 이미지에는 cos-cloud를 사용하고 rocky-linux-8-optimized-gcp-nvidia-580 Rocky Linux 이미지에는 rocky-linux-accelerator-cloud를 사용합니다.
    • REGION: 사용할 머신 유형이 제공되는 리전을 지정합니다. 압축 배치 정책을 지정하려면 압축 배치 정책과 동일한 리전을 사용해야 합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.
    • DISK_TYPE: 부팅 디스크의 유형입니다. hyperdisk-balanced을 사용하는 것이 좋습니다.
    • DISK_SIZE: 부팅 디스크의 크기(GB 단위).
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는 DELETE)으로 바꿉니다.

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

      --resource-policies=POLICY_NAME
    

    다음을 바꿉니다.

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

A3 High

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=DISK_TYPE \
    --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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,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 이미지의 이미지 계열로 바꿉니다. A3 고급 머신 시리즈의 경우 cos-121-lts 이상의 Container-Optimized OS 이미지를 사용하고 자동 업데이트를 사용 중지하는 것이 좋습니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다. 예를 들어 cos-121-lts 이상의 Container-Optimized OS 이미지에는 cos-cloud를 사용합니다.
    • REGION: 사용할 머신 유형이 제공되는 리전을 지정합니다. 압축 배치 정책을 지정하려면 압축 배치 정책과 동일한 리전을 사용해야 합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.
    • DISK_TYPE: 부팅 디스크의 유형입니다. hyperdisk-balanced을 사용하는 것이 좋습니다.
    • DISK_SIZE: 부팅 디스크의 크기(GB 단위).
    • GVNIC_NAME_PREFIX: gVNIC 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=DISK_TYPE \
    --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=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,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 이미지의 이미지 계열로 바꿉니다. A3 고급 머신 시리즈의 경우 cos-121-lts 이상의 Container-Optimized OS 이미지를 사용하고 자동 업데이트를 사용 중지하는 것이 좋습니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다. 예를 들어 cos-121-lts 이상의 Container-Optimized OS 이미지에는 cos-cloud를 사용합니다.
    • REGION: 사용할 머신 유형이 제공되는 리전을 지정합니다. 압축 배치 정책을 지정하려면 압축 배치 정책과 동일한 리전을 사용해야 합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.
    • DISK_TYPE: 부팅 디스크의 유형입니다. hyperdisk-balanced을 사용하는 것이 좋습니다.
    • DISK_SIZE: 부팅 디스크의 크기(GB 단위).
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는 DELETE)으로 바꿉니다.

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

      --resource-policies=POLICY_NAME
    

    다음을 바꿉니다.

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

REST

A3 High 또는 A3 Mega VM을 만들려면 instances.bulkInsert 메서드를 사용하세요.

A3 Mega

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":"DISK_TYPE",
          "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "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 단위).
    • DISK_TYPE: 부팅 디스크의 유형입니다. hyperdisk-balanced을 사용하는 것이 좋습니다.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다. 예를 들어 cos-121-lts 이상의 Container-Optimized OS 이미지에는 cos-cloud를 사용하고 rocky-linux-8-optimized-gcp-nvidia-580 Rocky Linux 이미지에는 rocky-linux-accelerator-cloud를 사용합니다.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. A3 Mega 머신 시리즈의 경우 cos-121-lts 이상의 Container-Optimized OS 이미지를 사용하고 자동 업데이트를 사용 중지하거나 rocky-linux-8-optimized-gcp-nvidia-580 Rocky Linux 이미지를 사용하는 것이 좋습니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • REGION: 서브네트워크 리전으로 바꿉니다.
    • 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":"DISK_TYPE",
          "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
      }
    ],
    "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 단위).
    • DISK_TYPE: 부팅 디스크의 유형입니다. hyperdisk-balanced을 사용하는 것이 좋습니다.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다. 예를 들어 cos-121-lts 이상의 Container-Optimized OS 이미지에는 cos-cloud를 사용하고 rocky-linux-8-optimized-gcp-nvidia-580 Rocky Linux 이미지에는 rocky-linux-accelerator-cloud를 사용합니다.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. A3 Mega 머신 시리즈의 경우 cos-121-lts 이상의 Container-Optimized OS 이미지를 사용하고 자동 업데이트를 사용 중지하거나 rocky-linux-8-optimized-gcp-nvidia-580 Rocky Linux 이미지를 사용하는 것이 좋습니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • REGION: 서브네트워크 리전으로 바꿉니다.
    • TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는 DELETE)으로 바꿉니다.

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

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

    다음을 바꿉니다.

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

A3 High

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":"DISK_TYPE",
          "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "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 단위).
    • DISK_TYPE: 부팅 디스크의 유형입니다. hyperdisk-balanced을 사용하는 것이 좋습니다.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다. 예를 들어 cos-121-lts 이상의 Container-Optimized OS 이미지에는 cos-cloud를 사용합니다.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. A3 고급 머신 시리즈의 경우 cos-121-lts 이상의 Container-Optimized OS 이미지를 사용하고 자동 업데이트를 사용 중지하는 것이 좋습니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • REGION: 서브네트워크 리전으로 바꿉니다.
    • 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":"DISK_TYPE",
          "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/GVNIC_NAME_PREFIX-net-2",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
      }
    ],
    "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 단위).
    • DISK_TYPE: 부팅 디스크의 유형입니다. hyperdisk-balanced을 사용하는 것이 좋습니다.
    • IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다. 예를 들어 cos-121-lts 이상의 Container-Optimized OS 이미지에는 cos-cloud를 사용합니다.
    • IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. A3 고급 머신 시리즈의 경우 cos-121-lts 이상의 Container-Optimized OS 이미지를 사용하고 자동 업데이트를 사용 중지하는 것이 좋습니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.
    • NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.
    • GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.
    • REGION: 서브네트워크 리전으로 바꿉니다.
    • 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 일괄 생성을 참고하세요.

다음 단계