이 문서에서는 A3 Ultra 또는 A4 머신 시리즈에서 GPU가 연결된 인스턴스를 만드는 방법을 설명합니다. GPU가 연결된 인스턴스 만들기에 관한 자세한 내용은 GPU가 연결된 인스턴스 만들기 개요를 참고하세요.
시작하기 전에
- 연결된 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
In the Google Cloud console, 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.
- Set a default region and zone.
- 프로젝트에 대한
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
권한 지연 시간이 가장 짧은 대규모 모델 학습 및 추론과 같은 장기 실행 AI 및 ML 워크로드를 실행하는 경우 Hypercompute 클러스터 (미리보기)를 사용하는 것이 좋습니다. 하이퍼컴퓨팅 클러스터를 사용하면 토폴로지 인식 예약과 이러한 예약된 용량의 향상된 모니터링 및 유지보수를 제공하는 밀집된 할당 머신을 예약할 수 있습니다. 하이퍼컴퓨팅 클러스터에 관한 자세한 내용은 AI 하이퍼컴퓨터 문서의 하이퍼컴퓨팅 클러스터를 참고하세요.
하이퍼컴퓨팅 클러스터를 사용하여 A3 Ultra 또는 A4 인스턴스를 만드는 방법은 AI 하이퍼컴퓨터 문서의 VM 및 클러스터 만들기 개요를 참고하세요.
가용성 중단을 허용하고 우선순위가 낮은 AI 및 ML 워크로드를 실행하는 경우 스팟 VM을 사용하여 상당한 할인을 받을 수 있습니다. 필요에 따라 스팟 VM을 만들고 삭제할 수 있지만 스팟 VM은 한정된 리소스이므로 항상 사용할 수 있는 것은 아니며 Compute Engine에서 언제든지 스팟 VM을 선점 (자동으로 중지 또는 삭제)할 수 있습니다. 스팟 VM에 대해 자세히 알아보려면 스팟 VM을 참고하세요.
스팟 VM을 사용하여 A3 Ultra 또는 A4 인스턴스를 만드는 방법에 관한 안내는 이 문서의 스팟 VM을 사용하여 A3 Ultra 또는 A4 인스턴스 만들기 섹션을 참고하세요.
- 호스트 간 통신에 사용되는 gVNIC 네트워크 인터페이스 2개
- GPU 간 통신을 위한 RDMA 네트워크 인터페이스 1개 (서브넷 8개가 있는 네트워크에 연결됨)
- 호스트 간 통신에 사용되는 gVNIC 네트워크 인터페이스 2개
- GPU 간 통신을 위한 RDMA 네트워크 인터페이스 1개 (8개의 하위 네트워크가 있는 네트워크에 연결됨)
- 호스트 네트워크를 만들려면 Virtual Private Cloud 네트워크 만들기 및 관리를 참고하세요.
- GPU 네트워크를 만들려면 RDMA NIC용 Virtual Private Cloud 네트워크 만들기를 참고하세요.
GVNIC_NAME_PREFIX
: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷에 사용할 이름 접두사입니다.RDMA_NAME_PREFIX
: RDMA NIC를 사용하는 VPC 네트워크 및 서브넷에 사용할 이름 접두사입니다.ZONE
: 사용할 머신 유형을 사용할 수 있는 영역을 지정합니다. 리전에 관한 자세한 내용은 GPU 리전 및 영역을 참고하세요.REGION
: 네트워크를 만들려는 리전입니다. 지정된 영역과 일치해야 합니다. 예를 들어 영역이europe-west1-b
이면 리전은europe-west1
입니다.IP_RANGE
: SSH 방화벽 규칙에 사용할 IP 범위입니다.Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.
인스턴스 만들기 화면이 표시되고 머신 구성 창이 표시됩니다.
머신 구성 창에서 다음 단계를 완료합니다.
- 인스턴스 이름을 지정합니다. 리소스 이름 지정 규칙을 참조합니다.
- 용량을 예약할 리전 및 영역을 선택합니다. 사용 가능한 GPU 리전 및 영역 목록을 참고하세요.
- GPU 탭을 클릭한 다음 다음 단계를 완료합니다.
- GPU 유형 목록에서 GPU 유형을 선택합니다.
- A4 인스턴스의 경우
NVIDIA B200
를 선택합니다. - A3 Ultra 인스턴스의 경우
NVIDIA H200 141GB
를 선택합니다.
- A4 인스턴스의 경우
- GPU 수 목록에서
8
를 선택합니다.
- GPU 유형 목록에서 GPU 유형을 선택합니다.
탐색 메뉴에서 OS 및 스토리지를 클릭합니다. 표시되는 OS 및 스토리지 창에서 다음 단계를 완료합니다.
- 변경을 클릭합니다. 부팅 디스크 구성 창이 열립니다.
- 공개 이미지 탭에서 권장 이미지를 선택합니다. 권장 이미지 목록은 운영체제를 참고하세요.
- 부팅 디스크 옵션을 확인하려면 선택을 클릭합니다.
멀티 NIC 인스턴스를 만들려면 다음 단계를 완료하세요. 그렇지 않은 경우 단일 NIC 인스턴스를 만들려면 이 단계를 건너뜁니다.
탐색 메뉴에서 네트워킹을 클릭합니다. 네트워킹 창이 표시되면 다음 단계를 완료합니다.
네트워크 인터페이스 섹션에서 다음 단계를 완료합니다.
기본 네트워크 인터페이스를 삭제합니다. 인터페이스를 삭제하려면
삭제를 클릭합니다.네트워크 인터페이스 추가를 클릭합니다. 이 옵션을 사용하여 이전 섹션에서 만든 gVNIC 및 RDMA 네트워크를 추가합니다. 네트워크를 추가할 때는 다음 사항에 유의하세요.
- 네트워크 및 서브네트워크 목록에서 호스트 네트워크를 지정하고 네트워크 인터페이스 카드 목록을 gVNIC로 설정합니다.
- 네트워크 및 하위 네트워크 목록에서 GPU 네트워크를 지정하고 이러한 네트워크의 네트워크 인터페이스 카드 목록을 MRDMA로 설정합니다.
탐색 메뉴에서 고급을 클릭합니다. 고급 창이 표시되면 다음 단계를 완료합니다.
프로비저닝 모델 섹션의 VM 프로비저닝 모델 목록에서 Spot을 선택합니다.
선택사항: Compute Engine이 인스턴스를 선점할 때 취할 작업 (중지 (기본값) 또는 삭제)을 지정하려면 다음 단계를 완료하세요.
- VM 프로비저닝 모델 고급 설정 섹션을 펼칩니다.
- VM 종료 시 목록에서 옵션을 선택합니다.
만들기를 클릭하여 인스턴스를 만들고 시작합니다.
INSTANCE_NAME
: 인스턴스 이름입니다.MACHINE_TYPE
: 인스턴스에 사용할 머신 유형(a3-ultragpu-8g
또는a4-highgpu-8g
)입니다.IMAGE_FAMILY
: 사용할 OS 이미지의 이미지 계열입니다. 옵션은 운영체제 세부정보를 참고하세요.IMAGE_PROJECT
: OS 이미지의 프로젝트 ID입니다.TERMINATION_ACTION
: (선택사항) Compute Engine이 인스턴스를 선점할 때 수행할 작업을 지정합니다(STOP
(기본 동작) 또는DELETE
).ZONE
: 인스턴스를 만들 영역입니다. 옵션은 GPU 리전 및 영역을 참고하세요.DISK_SIZE
: 부팅 디스크의 크기(GB 단위).PROJECT_ID
: 인스턴스를 만들 프로젝트의 프로젝트 ID입니다.ZONE
: 인스턴스를 만들 영역입니다. 옵션은 GPU 리전 및 영역을 참고하세요.MACHINE_TYPE
: 인스턴스에 사용할 머신 유형(a3-ultragpu-8g
또는a4-highgpu-8g
)입니다.INSTANCE_NAME
: 인스턴스 이름입니다.DISK_SIZE
: 부팅 디스크의 크기(GB 단위).IMAGE_PROJECT
: OS 이미지의 프로젝트 ID입니다.IMAGE_FAMILY
: 사용할 OS 이미지의 이미지 계열입니다. 옵션은 운영체제 세부정보를 참고하세요.TERMINATION_ACTION
: (선택사항) Compute Engine이 인스턴스를 선점할 때 수행할 작업을 지정합니다(STOP
(기본 동작) 또는DELETE
).- 인스턴스가 연결된 GPU를 사용하려면 인스턴스에 GPU 드라이버가 필요합니다. 필요한 GPU 드라이버가 이미 포함된 이미지를 지정하지 않은 경우 GPU 드라이버 설치 단계를 따르세요.
- Spot VM을 사용하기 위해 준비하려면 다음 단계를 완료하세요.
- Spot VM이 선점을 견딜 수 있도록 하는 방법을 알아보려면 Spot VM 선점 관리를 참고하세요.
- 선택사항: 스팟 VM 사용 권장사항을 알아봅니다.
- GPU 성능을 모니터링하려면 GPU 성능 모니터링을 참조하세요.
- GPU 인스턴스 문제를 해결하려면 GPU VM 문제 해결을 참고하세요.
- GPU 플랫폼 자세히 알아보기
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
시작하기 전에
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
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
필요한 역할
인스턴스를 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 인스턴스를 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
인스턴스를 만들려면 다음 권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
A3 Ultra 또는 A4 인스턴스 만들기
A3 Ultra 또는 A4 인스턴스는 다음과 같은 생성 옵션을 통해 사용할 수 있으며, 각 옵션마다 생성 절차, 리소스 가용성, 가격이 다릅니다. 워크로드에 따라 사용할 옵션을 식별합니다.
Spot VM을 사용하여 A3 Ultra 또는 A4 인스턴스 만들기
Spot VM을 사용하여 A3 Ultra 또는 A4 인스턴스를 만들려면 다음 섹션의 단계를 완료하세요.
VPC 네트워크 만들기
사용하려는 머신 유형과 머신 유형의 네트워크 인터페이스 수를 기반으로 다음과 같이 Virtual Private Cloud (VPC) 네트워크를 만들어야 합니다.
머신 유형 물리적 NIC 수* 네트워크 인터페이스† 만들려는 VPC 네트워크 수 a4-highgpu-8g
10 3 a3-ultragpu-8g
10 3 *NIC 배치에 관한 자세한 내용은 네트워크 대역폭 및 NIC 배치 검토를 참고하세요.†네트워크 인터페이스에 관한 자세한 내용은 Google Virtual NIC 사용 및 RDMA 네트워크 프로필을 참고하세요.안내 가이드를 따라 수동으로 또는 제공된 스크립트를 사용하여 자동으로 네트워크를 설정합니다.
안내 가이드
네트워크를 만들려면 다음 안내를 따르세요.
스크립트
네트워크를 만들려면 다음 스크립트를 사용하면 됩니다.
#!/bin/bash # Create standard VPCs (network and subnets) for the gVNICs for N in $(seq 0 1); do gcloud beta compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom gcloud beta compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud beta 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 beta 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 beta 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 gcloud beta compute network-profiles list # Create network for CX-7 gcloud beta compute networks create RDMA_NAME_PREFIX-mrdma \ --network-profile=ZONE-vpc-roce \ --subnet-mode custom # Create subnets. for N in $(seq 0 7); do gcloud beta 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
다음을 바꿉니다.
Spot VM 만들기
Spot VM을 만들려면 다음 방법 중 하나를 사용하세요.
콘솔
gcloud
인스턴스를 만들려면
gcloud beta compute instances create
명령어를 사용합니다.gcloud beta compute instance create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --provisioning-model=SPOT \ --instance-termination-action=TERMINATION_ACTION \ --zone=ZONE \ --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
다음을 바꿉니다.
REST
인스턴스를 만들려면 다음과 같이
instances.insert
메서드에POST
요청을 보냅니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/ { { "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE", "name":"INSTANCE_NAME", "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "networkInterfaces": [ { "accessConfigs": [ { "name": "external-nat", "type": "ONE_TO_ONE_NAT" } ], "network": "projects/PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0", "nicType": "GVNIC", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0" }, { "network": "projects/PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1", "nicType": "GVNIC", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6" }, { "network": "projects/PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma", "nicType": "MRDMA", "subnetwork": "projects/PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7" } ], "scheduling":{ "provisioningModel":"SPOT", "instanceTerminationAction":"TERMINATION_ACTION" } } }
다음을 바꿉니다.
사용할 GPU가 연결된 Spot VM 준비
GPU가 연결된 Spot VM을 사용하도록 준비하려면 다음 단계를 완료하세요.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-03-27(UTC)
-