예약 소비

TPU 예약이 있는 경우 예약된 리소스를 사용하여 예약의 속성과 일치하는 TPU를 만들 수 있습니다. 이러한 작업을 예약을 소비한다고 합니다. Google Kubernetes Engine (GKE)을 사용할 때 TPU 예약을 소비하는 방법에 대한 자세한 내용은 GKE 문서의 TPU 예약을 참조하세요.

예약을 소비하는 방법은 TPU VM을 만드는 방법에 따라 다릅니다. TPU가 포함된 TPU VM 인스턴스 또는 MIG를 만들 수 있습니다.

TPU VM을 만들 때 예약 소비

TPU VM 인스턴스를 만들 때 소비할 예약을 --reservation-affinity--reservation 매개변수를 사용하여 지정합니다.

  gcloud compute instances create TPU_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --reservation-affinity=specific \
    --reservation=projects/PROJECT_ID/reservations/RESERVATION_NAME \
    --provisioning-model=reservation-bound \
    --maintenance-policy=TERMINATE

다음 자리 표시자를 바꿉니다.

  • TPU_NAME: TPU VM의 이름입니다.
  • MACHINE_TYPE: TPU VM의 머신 유형입니다 (예: ct6e-standard-8t).
  • IMAGE_FAMILY: TPU VM의 OS 이미지 계열 입니다. 특정 OS 버전을 설치하려면 --image 플래그를 사용합니다. OS 이미지에 대한 자세한 내용은 OS 이미지를 참조하세요.
  • IMAGE_PROJECT: OS 이미지가 포함된 프로젝트입니다. TPU 이미지의 경우 ubuntu-os-accelerator-images입니다.
  • ZONE: TPU VM의 영역입니다 (예: us-central1-b).
  • PROJECT_ID: 예약이 이루어진 프로젝트의 ID입니다.
  • RESERVATION_NAME: 예약의 이름입니다. 형식은 projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME입니다.

MIG를 만들 때 예약 소비

TPU VM으로 만들 수 있는 MIG에는 두 가지 종류가 있습니다.

  • 단일 호스트 슬라이스가 있는 MIG
  • 다중 호스트 슬라이스가 있는 MIG

단일 호스트 슬라이스가 있는 MIG를 만들 때 예약 소비

단일 호스트 슬라이스가 있는 MIG를 만들 때 예약을 소비하려면 인스턴스 템플릿의 일부로 예약을 지정합니다.

단일 호스트 슬라이스가 있는 MIG를 만들려면 다음 단계를 따르세요.

  1. 인스턴스 템플릿 만들기
  2. 선택사항: 워크로드 정책 만들기
  3. MIG 만들기

예약을 소비하는 인스턴스 템플릿 만들기

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
     --machine-type=MACHINE_TYPE \
     --maintenance-policy=TERMINATE \
     --instance-termination-action=DELETE \
     --reservation-affinity=specific \
     --provisioning-model=reservation-bound \
     --reservation=RESERVATION_NAME \
     --image-family=IMAGE_FAMILY \
     --image-project=IMAGE_PROJECT

다음 자리 표시자를 바꿉니다.

  • INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.
  • MACHINE_TYPE: TPU VM의 머신 유형입니다 (예: ct6e-standard-8t).
  • RESERVATION_NAME: 예약의 이름입니다. 형식: projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME.
  • IMAGE_FAMILY: TPU VM의 OS 이미지 계열 입니다. 특정 OS 버전을 설치하려면 --image 플래그를 사용합니다. OS 이미지에 대한 자세한 내용은 OS 이미지를 참조하세요.
  • IMAGE_PROJECT: OS 이미지가 포함된 프로젝트입니다. TPU 이미지의 경우 ubuntu-os-accelerator-images입니다.

MIG 만들기

영역 MIG 또는 리전 MIG를 만들 수 있습니다.

영역 MIG 만들기
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

다음 자리 표시자를 바꿉니다.

  • MIG_NAME: MIG의 이름입니다.
  • SIZE: MIG의 TPU VM 수입니다.
  • INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.
  • ZONE: MIG를 프로비저닝할 영역입니다.
리전 MIG 만들기
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME\
    --region=REGION \
    --target-distribution-shape=any

다음 자리 표시자를 바꿉니다.

  • MIG_NAME: MIG의 이름입니다.
  • SIZE: MIG의 TPU VM 수입니다.
  • INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.
  • REGION: MIG를 프로비저닝할 영역입니다.

--target-distribution-shape 플래그에 대한 자세한 내용은 리전 MIG의 VM에 대한 목표 분산 형태 설정을 참조하세요.

다중 호스트 슬라이스가 있는 MIG를 만들 때 예약 소비

다중 호스트 슬라이스가 있는 MIG를 만들 때 예약을 소비하려면 인스턴스 템플릿의 일부로 예약을 지정합니다.

예약을 소비하는 인스턴스 템플릿 만들기

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
     --machine-type=MACHINE_TYPE \
     --maintenance-policy=TERMINATE \
     --instance-termination-action=DELETE \
     --reservation-affinity=specific \
     --provisioning-model=reservation-bound \
     --reservation=RESERVATION_NAME \
     --image-family=IMAGE_FAMILY \
     --image-project=IMAGE_PROJECT

다음 자리 표시자를 바꿉니다.

  • INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.
  • MACHINE_TYPE: TPU VM의 머신 유형입니다 (예: ct6e-standard-8t).
  • RESERVATION_NAME: 예약의 이름입니다. 형식: projects/OWNER_PROJECT_ID/reservations/RESERVATION_NAME.
  • IMAGE_FAMILY: TPU VM의 OS 이미지 계열 입니다. 특정 OS 버전을 설치하려면 --image 플래그를 사용합니다. OS 이미지에 대한 자세한 내용은 OS 이미지를 참조하세요.
  • IMAGE_PROJECT: OS 이미지가 포함된 프로젝트입니다. TPU 이미지의 경우 ubuntu-os-accelerator-images입니다.

워크로드 정책 만들기

MIG의 워크로드 정책을 지정할 수 있습니다. 자세한 내용은 MIG의 워크로드 정책을 참조하세요.

gcloud compute resource-policies create workload WORKLOAD_POLICY_NAME \
  --type=high-throughput \
  --accelerator-topology=TOPOLOGY

다음 자리 표시자를 바꿉니다.

  • WORKLOAD_POLICY_NAME: 워크로드 정책의 이름입니다.
  • TOPOLOGY: TPU VM의 토폴로지입니다(예: 4x4x8). 각 TPU 버전의 토폴로지에 대한 자세한 내용은 TPU 버전을 참조하세요.

MIG 만들기

영역 MIG 또는 리전 MIG를 만들 수 있습니다.

영역 MIG 만들기
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --target-size-policy-mode=bulk \
    --default-action-on-vm-failure=do-nothing \
    --template=INSTANCE_TEMPLATE_URL \
    --zone=ZONE \
    --workload-policy=WORKLOAD_POLICY_URL

다음 자리 표시자를 바꿉니다.

  • MIG_NAME: MIG의 이름입니다.
  • SIZE: MIG의 TPU VM 수입니다.
  • INSTANCE_TEMPLATE_URL: MIG에서 인스턴스를 만드는 데 사용할 인스턴스 템플릿의 URL입니다. URL에는 인스턴스 템플릿의 ID 또는 이름이 포함될 수 있습니다. 다음 값 중 하나를 지정합니다.
    • 리전 인스턴스 템플릿의 경우: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 전역 인스턴스 템플릿의 경우: INSTANCE_TEMPLATE_ID
  • ZONE: MIG를 프로비저닝할 영역입니다.
  • WORKLOAD_POLICY_URL: MIG에서 인스턴스를 만드는 데 사용할 워크로드 정책 의 URL입니다. 예: projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME
리전 MIG 만들기
gcloud compute instance-groups managed create MIG_NAME \
    --size=SIZE \
    --target-size-policy-mode=bulk \
    --default-action-on-vm-failure=do-nothing \
    --template=INSTANCE_TEMPLATE_URL \
    --zone=ZONE \
    --target-distribution-shape=any-single-zone \
    --instance-redistribution-type=none \
    --workload-policy=WORKLOAD_POLICY_URL

다음 자리 표시자를 바꿉니다.

  • MIG_NAME: MIG의 이름입니다.
  • SIZE: MIG의 TPU VM 수입니다.
  • INSTANCE_TEMPLATE_URL: MIG에서 인스턴스를 만드는 데 사용할 인스턴스 템플릿의 URL입니다. URL에는 인스턴스 템플릿의 ID 또는 이름이 포함될 수 있습니다. 다음 값 중 하나를 지정합니다.
    • 리전 인스턴스 템플릿의 경우: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • 전역 인스턴스 템플릿의 경우: INSTANCE_TEMPLATE_ID
  • ZONE: MIG를 프로비저닝할 영역입니다.
  • WORKLOAD_POLICY_URL: MIG에서 인스턴스를 만드는 데 사용할 워크로드 정책 의 URL입니다. 예: projects/PROJECT_ID/regions/WORKLOAD_POLICY_REGION/resourcePolicies/WORKLOAD_POLICY_NAME

예약 사용량 확인

공유 예약 사용량은 소유자 프로젝트에서만 확인할 수 있습니다. 소비자 프로젝트에 있는 경우 소유자 프로젝트로 전환하여 예약 사용량을 확인해야 합니다.

사용 중인 예약량을 확인하려면 gcloud compute reservations describe 명령어를 사용합니다.

gcloud compute reservations describe RESERVATION_NAME \
    --project=PROJECT_ID --zone=ZONE

다음 자리 표시자 변수를 바꿉니다.

  • RESERVATION_NAME: 예약 이름
  • PROJECT_ID: 예약이 포함된 프로젝트의 ID입니다.
  • ZONE: 예약이 있는 영역입니다.

프로젝트의 모든 예약을 나열하려면 gcloud compute reservations list 명령어를 사용합니다.

gcloud compute reservations list --project=PROJECT_ID

다음 자리 표시자 변수를 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID

다음 단계