인스턴스 템플릿을 사용하여 GPU 인스턴스 그룹 만들기


인스턴스 템플릿을 사용하여 인스턴스별로 GPU를 추가한 관리형 인스턴스 그룹을 만들 수 있습니다. 관리 인스턴스 그룹은 이 템플릿을 사용하여 동일한 인스턴스를 여러 개 만듭니다. 워크로드에 맞도록 그룹 내 인스턴스 수를 늘릴 수 있습니다.

생성된 인스턴스에는 CUDA 툴킷과 NVIDIA 드라이버가 설치되어 있어야 하므로 GPU 인스턴스의 인스턴스 템플릿을 만드는 프로세스는 다음과 같습니다.

  1. 연결된 GPU가 있는 인스턴스를 만듭니다.
  2. 인스턴스에 GPU 드라이버를 설치합니다.
  3. GPU와 드라이버가 설치된 VM 인스턴스에 연결된 디스크에서 이미지를 만듭니다.
  4. 이미지를 사용하여 인스턴스 템플릿을 만듭니다.
  5. 템플릿을 사용하여 인스턴스 그룹을 만듭니다.

시작하기 전에

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

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

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

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    Terraform

    로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 로컬 개발 환경의 인증 설정를 참조하세요.

인스턴스 템플릿 만들기

전역 또는 리전 인스턴스 템플릿을 만들 수 있습니다. 리전 인스턴스 템플릿을 만들려면 하나 이상의 영역에서 원하는 GPU 모델을 지원하는 리전을 선택해야 합니다.

인스턴스 템플릿을 만드는 단계는 인스턴스 템플릿 만들기를 참조하세요.

Console

Console을 사용하여 인스턴스 템플릿을 만들려면 다음 사항을 맞춤설정해야 합니다.

  • 머신 유형을 지정합니다.
  • GPU와 드라이버가 연결된 커스텀 이미지의 이미지 이름 및 계열을 지정합니다.

커스텀 이미지 사용에 대한 자세한 내용은 인스턴스 템플릿에서 커스텀 이미지 또는 공개 이미지 사용을 참조하세요.

gcloud

gcloud compute instance-templates create를 사용하여 인스턴스 템플릿을 만들려면 --accelerators--maintenance-policy TERMINATE 플래그를 포함합니다. 리전 인스턴스 템플릿을 만들려면 --instance-template-region 플래그를 사용하여 템플릿의 리전을 지정해야 합니다.

다음 예에서는 vCPU 2개, 이미지 기반의 250GB 부팅 디스크(드라이버 설치됨) 및 NVIDIA T4 GPU가 포함된 전역 인스턴스 템플릿을 생성합니다. my-imagemy-project를 GPU와 드라이버가 연결된 이미지의 이미지 및 프로젝트 이름으로 대체합니다.

gcloud compute instance-templates create gpu-template \
    --machine-type n1-standard-2 \
    --boot-disk-size 250GB \
    --accelerator type=nvidia-tesla-t4,count=1 \
    --image-family my-image \
    --image-project my-project \
    --maintenance-policy TERMINATE \
    --restart-on-failure

Terraform

다음 샘플에서는 vCPU 2개, 이미지 기반의 250GB 부팅 디스크(드라이버 설치됨) 및 NVIDIA T4 GPU가 포함된 전역 인스턴스 템플릿을 생성합니다. 샘플에 사용된 리소스에 대한 자세한 내용은 google_compute_instance_template 리소스를 참조하세요.

리전 인스턴스 템플릿을 만들려면 google_compute_region_instance_template 리소스를 사용합니다.

resource "google_compute_instance_template" "default" {
  name         = "gpu-template"
  machine_type = "n1-standard-2"

  disk {
    source_image = "debian-cloud/debian-11"
  }

  network_interface {
    network = "default"
  }

  guest_accelerator {
    type  = "nvidia-tesla-t4"
    count = 1
  }

  scheduling {
    on_host_maintenance = "TERMINATE"
  }
}

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

인스턴스 그룹 만들기

템플릿을 만든 후에는 템플릿을 사용하여 인스턴스 그룹을 만듭니다. 인스턴스를 그룹에 추가할 때마다 인스턴스 템플릿의 설정을 사용하여 인스턴스가 시작됩니다.

지역별 관리 인스턴스 그룹을 만드는 경우에는 원하는 GPU 모델을 특정하여 지원하는 영역을 선택해야 합니다. GPU 모델과 사용할 수 있는 영역의 목록은 Compute Engine의 GPU를 참조하세요. 다음 예시에서는 nvidia-tesla-t4 모델을 지원하는 영역 두 개에 리전 관리형 인스턴스 그룹을 만듭니다.

gcloud compute instance-groups managed create example-rmig \
    --template gpu-template --base-instance-name example-instances \
    --size 30 --zones us-east1-c,us-east1-d

다음 단계