이 문서에서는 동일한 프로젝트의 가상 머신(VM) 인스턴스에서만 사용할 수 있는 단일 프로젝트 예약을 만드는 방법을 설명합니다. 예약에 대한 자세한 내용은 Compute Engine 영역별 리소스 예약을 참조하세요.
예약을 만드는 다른 방법은 다음 페이지를 참조하세요.
현재 프로젝트에 1년 또는 3년 약정이 있으면 예약된 리소스에 해당 약정 사용 할인이 자동으로 적용됩니다. 또한 약정을 구매할 때 예약을 만들고 약정에 연결할 수 있습니다. 자세한 내용은 약정에 예약 연결을 참조하세요.
여러 프로젝트에서 사용할 수 있는 예약을 만들려면 공유 예약 만들기를 참조하세요.
시작하기 전에
- 예약에 대해서는 요구사항 및 제한사항을 참조하세요.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- 프로젝트에 대한
compute.reservations.create
권한 -
인스턴스 템플릿을 지정하려는 경우: 인스턴스 템플릿에 대한
compute.instanceTemplates.useReadOnly
권한 권장사항: 인스턴스 템플릿 지정
이 섹션에서는 인스턴스 템플릿을 사용하여 예약의 속성을 정의하는 방법을 설명합니다. 인스턴스 템플릿을 사용하면 예약의 속성 및 동일한 위치에서 예약을 사용할 수 있는 VM을 정의할 수 있습니다.
-
이 섹션에서는 기존 VM을 사용하여 예약 속성을 정의하는 방법을 설명합니다. 기존 VM 속성을 사용하면 참조 VM과 일치하는 속성이 있는 VM을 만들어 예약을 사용할 수 있습니다.
-
이 섹션에서는 예약의 속성을 직접 정의하는 방법을 설명합니다. 이 방법을 사용하려면 VM과 예약의 속성이 정확하게 일치하는지 직접 확인해야 합니다. 일치하지 않는 속성이 있으면 사용할 수 없습니다.
이 문서의 다음 섹션에 설명된 대로 이를 타겟팅하는 VM만 사용할 수 있는 예약을 만듭니다. 그런 다음 해당 특정 예약을 사용하도록 VM을 구성합니다.
예약을 사용할 수 없는 VM을 구성합니다.
인스턴스 템플릿 내의 리소스와 동일한 리전 및 영역에 예약을 만듭니다. 인스턴스 템플릿(예: 머신 유형 또는 Persistent Disk 볼륨)에 지정된 모든 리전 또는 영역별 리소스는 템플릿 사용을 해당 리소스가 있는 위치로 제한합니다. 예를 들어 인스턴스 템플릿이
us-central1-a
영역에 기존 Persistent Disk 볼륨을 지정하면 같은 영역에서만 예약을 만들 수 있습니다. 기존 템플릿이 템플릿을 특정 리전 또는 영역에 결합하는 리소스를 지정하는지 확인하려면 템플릿의 세부정보를 보고 해당 템플릿 내에서 리전별 리소스 또는 영역별 리소스에 대한 참조를 확인합니다.또한 인스턴스 템플릿에서 압축 배치 정책을 지정하는 경우 템플릿에서 압축 배치 정책에 지원되는 머신 유형을 지정하는지 확인합니다. 그렇지 않으면 예약 만들기가 실패합니다.
Google Cloud 콘솔에서 예약 페이지로 이동합니다.
온디맨드 예약 탭(기본값)에서
예약 만들기를 클릭합니다.예약 만들기 페이지가 열립니다.
이름에 예약 이름을 입력합니다.
리전 및 영역에 리소스를 예약할 리전과 영역을 선택합니다.
공유 유형 섹션에서 로컬을 선택합니다(아직 선택하지 않은 경우).
선택사항: Vertex AI의 커스텀 학습 작업 또는 예측 작업에서 GPU VM 예약을 사용할 수 있게 하려면 Google Cloud 서비스 섹션에서 예약 공유를 선택합니다.
VM 인스턴스와 함께 사용 섹션에서 다음 옵션 중 하나를 선택합니다.
일치하는 VM에서 이 예약을 자동으로 사용할 수 있게 하려면 예약 자동 사용을 선택합니다(아직 선택하지 않은 경우).
이름을 통해 이 예약을 명시적으로 타겟팅하는 일치하는 VM을 만들 때만 이 예약의 리소스를 소비하려면 특정 예약 선택을 선택합니다.
VM 인스턴스 수에 예약할 VM 수를 입력합니다.
머신 구성 섹션에서 다음을 수행합니다.
기존 인스턴스 템플릿에서 VM의 속성을 지정하려면 인스턴스 템플릿 사용을 선택합니다.
인스턴스 템플릿 필드에서 원하는 인스턴스 템플릿을 선택합니다. 리전 인스턴스 템플릿을 선택하는 경우 인스턴스 템플릿 리전 내에서만 리소스를 예약할 수 있습니다.
자동 삭제 섹션에서는 Compute Engine이 특정 날짜 및 시간에 예약을 자동으로 삭제하도록 자동 삭제 옵션을 사용 설정할 수 있습니다. 예약 자동 삭제는 예약 사용을 중지할 때 불필요한 비용이 발생하는 것을 방지하는 데 유용할 수 있습니다.
예약을 만들려면 만들기를 클릭합니다.
예약 페이지가 열립니다. 단일 프로젝트 예약을 만드는 데 최대 1분이 걸릴 수 있습니다.
RESERVATION_NAME
: 생성할 예약의 이름입니다.PROJECT_ID
: 인스턴스 템플릿이 있고 리소스를 예약하려는 프로젝트의 ID입니다.LOCATION
: 인스턴스 템플릿의 위치입니다. 다음 값 중 하나를 지정합니다.전역 인스턴스 템플릿의 경우:
global
리전 인스턴스 템플릿의 경우:
regions/REGION
.REGION
을 인스턴스 템플릿이 있는 리전으로 바꿉니다. 리전 인스턴스 템플릿을 지정하면 템플릿의 리전과 동일한 리전 내에서만 VM을 예약할 수 있습니다.
INSTANCE_TEMPLATE_NAME
: 기존 인스턴스 템플릿의 이름입니다. 인스턴스 템플릿에서 A3 머신 유형이나 압축 배치 정책을 지정하는 경우에는--require-specific-reservation
플래그를 포함해야 합니다. 즉, 정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있습니다. 자세한 내용은 특정 예약에서 VM 소비하기를 참고하세요.NUMBER_OF_VMS
: 예약할 VM 수ZONE
: 리소스를 예약할 영역입니다.정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있도록 지정하려면
--require-specific-reservation
플래그를 포함합니다.gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Vertex AI의 커스텀 학습 작업 또는 예측 작업에서 GPU VM 예약을 사용할 수 있게 하려면
--reservation-sharing-policy=ALLOW_ALL
플래그와 함께gcloud beta compute reservations create
명령어를 사용합니다.gcloud beta compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Compute Engine이 예약을 자동으로 삭제하도록 하려면 다음 방법 중 하나를 선택합니다.
특정 날짜와 시간에 예약을 삭제하려면
--delete-at-time
플래그와 함께gcloud beta compute reservations create
명령어를 사용합니다.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
DELETE_AT_TIME
을 다음과 같은 RFC 3339 타임스탬프 형식의 날짜와 시간으로 바꿉니다.none YYYY-MM-DDTHH:MM:SSOFFSET
다음을 바꿉니다.
YYYY-MM-DD
: 4자리 연도, 2자리 월, 2자리 일이 하이픈(-
)으로 구분된 형식의 날짜입니다.HH:MM:SS
: 24시간제의 2자리 시간, 2자리 분, 2자리 초가 콜론(:
)으로 구분된 형식의 시간입니다.OFFSET
: 협정 세계시(UTC)의 오프셋 형식으로 지정된 시간대입니다. 예를 들어 태평양 표준시(PST)를 사용하려면-08:00
을 지정합니다. 또는 오프셋을 사용하지 않으려면Z
를 지정합니다.
특정 기간이 지난 후 예약을 삭제하려면
gcloud beta compute reservations create
명령어를--delete-after-duration
플래그와 함께 사용합니다.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
DELETE_AFTER_DURATION
을 일, 시간, 분 또는 초의 기간으로 바꿉니다. 예를 들어 30분에30m
을 지정하고 1일 2시간 3분 4초에1d2h3m4s
를 지정합니다.
PROJECT_ID
: 인스턴스 템플릿이 있고 리소스를 예약하려는 프로젝트의 ID입니다.ZONE
: 리소스를 예약할 영역RESERVATION_NAME
: 생성할 예약의 이름입니다.NUMBER_OF_VMS
: 예약할 VM 수입니다.LOCATION
: 인스턴스 템플릿의 위치입니다. 다음 값 중 하나를 지정합니다.전역 인스턴스 템플릿의 경우:
global
리전 인스턴스 템플릿의 경우:
regions/REGION
.REGION
을 인스턴스 템플릿이 있는 리전으로 바꿉니다. 리전 인스턴스 템플릿을 지정하면 템플릿의 리전과 동일한 리전 내에서만 VM을 예약할 수 있습니다.
INSTANCE_TEMPLATE_NAME
: 기존 인스턴스 템플릿의 이름입니다. 인스턴스 템플릿에서 A3 머신 유형이나 압축 배치 정책을 지정하는 경우 요청 본문에specificReservationRequired
필드를 포함하고 필드를true
로 설정해야 합니다. 즉, 정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있습니다. 자세한 내용은 특정 예약에서 VM 소비하기를 참고하세요.정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있도록 지정하려면 요청 본문에
specificReservationRequired
필드를 포함하고 이 필드를true
로 설정합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" }, "specificReservationRequired": true }
Vertex AI의 커스텀 학습 작업 또는 예측 작업에서 GPU VM 예약을 사용할 수 있게 하려면
POST
요청을beta.reservations.insert
메서드에 보냅니다. 요청 본문에serviceShareType
필드를 포함하고ALLOW_ALL
로 설정합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
Compute Engine이 예약을 자동으로 삭제하도록 하려면 다음 방법 중 하나를 선택합니다.
특정 날짜 및 시간에 예약을 삭제하려면
beta.reservations.insert
메서드에POST
요청을 실행합니다. 요청 본문에deleteAtTime
필드를 포함합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
DELETE_AT_TIME
을 다음과 같은 RFC 3339 타임스탬프 형식의 날짜와 시간으로 바꿉니다.YYYY-MM-DDTHH:MM:SSOFFSET
다음을 바꿉니다.
YYYY-MM-DD
: 4자리 연도, 2자리 월, 2자리 일이 하이픈(-
)으로 구분된 형식의 날짜입니다.HH:MM:SS
: 24시간제의 2자리 시간, 2자리 분, 2자리 초가 콜론(:
)으로 구분된 형식의 시간입니다.OFFSET
: 협정 세계시(UTC)의 오프셋 형식으로 지정된 시간대입니다. 예를 들어 태평양 표준시(PST)를 사용하려면-08:00
을 지정합니다. 또는 오프셋을 사용하지 않으려면Z
를 지정합니다.
특정 기간이 지난 후 예약을 삭제하려면
beta.reservations.insert
메서드에POST
요청을 합니다. 요청 본문에deleteAfterDuration
필드를 포함합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
DELETE_AFTER_DURATION
를 초 단위의 기간으로 바꿉니다. 예를 들어 86,400초(1일)의 경우86400
을 지정합니다.
다음과 같이 인스턴스 템플릿을 만들고 사용합니다.
참조 VM 속성을 재정의하지 않고 참조 VM을 기반으로 인스턴스 템플릿을 만듭니다.
다음 중 하나 또는 둘 다 수행하여 새로 만든 템플릿으로 VM을 만듭니다.
새 VM과 참조 VM의 속성이 정확하게 일치하는지 확인하면서 참조 VM을 기반으로 VM을 만듭니다.
Google Cloud 콘솔에서 예약 페이지로 이동합니다.
예약 만들기를 클릭합니다.
예약 만들기 페이지가 열립니다.
이름에 예약 이름을 입력합니다.
리전 및 영역에 리소스를 예약할 리전과 영역을 선택합니다.
공유 유형 섹션에서 로컬을 클릭합니다(아직 선택하지 않은 경우).
VM 인스턴스와 함께 사용 섹션에서 다음 옵션 중 하나를 선택합니다.
일치하는 VM에서 이 예약을 자동으로 사용할 수 있게 하려면 예약 자동 사용을 선택합니다(아직 선택하지 않은 경우).
이름을 통해 이 예약을 명시적으로 타겟팅하는 일치하는 VM을 만들 때만 이 예약의 리소스를 소비하려면 특정 예약 선택을 선택합니다.
VM 인스턴스 수에 예약할 VM 수를 입력합니다.
머신 구성 섹션에서 다음을 수행합니다.
기존 VM 사용을 선택합니다.
기존 VM에 예약을 만드는 데 사용할 속성이 있는 VM을 선택합니다.
선택사항: 요구사항을 충족하는 예약에 압축 배치 정책을 지정하려면 그룹 배치 정책 섹션에서 그룹 배치 정책 선택 또는 만들기 목록을 클릭한 후 다음 중 하나를 수행합니다.
이 예약에 지정할 압축 배치 정책을 만들려면 다음을 수행합니다.
그룹 배치 정책 만들기를 클릭합니다.
그룹 배치 정책 만들기 창이 나타납니다.
정책 이름에 정책 이름을 입력합니다.
만들기를 클릭합니다.
압축 배치 정책을 만드는 데 몇 초 정도 걸릴 수 있습니다.
또는 기존 압축 배치 정책을 선택합니다.
자동 삭제 섹션에서 Compute Engine이 특정 날짜와 시간에 예약을 자동으로 삭제하도록 자동 삭제 옵션을 사용 설정할 수 있습니다. 예약 자동 삭제는 예약 사용을 중지할 때 불필요한 비용 발생을 방지하는 데 유용할 수 있습니다.
예약을 만들려면 만들기를 클릭합니다.
예약 페이지가 열립니다. 예약을 만드는 데 최대 1분이 걸릴 수 있습니다.
Google Cloud 콘솔에서 예약 페이지로 이동합니다.
온디맨드 예약 탭(기본값)에서
예약 만들기를 클릭합니다.예약 만들기 페이지가 열립니다.
이름에 예약 이름을 입력합니다.
리전 및 영역에 리소스를 예약할 리전과 영역을 선택합니다.
공유 유형 섹션에서 로컬을 클릭합니다(아직 선택하지 않은 경우).
선택사항: Vertex AI의 커스텀 학습 작업 또는 예측 작업에서 GPU VM 예약을 사용할 수 있게 하려면 Google Cloud 서비스 섹션에서 예약 공유를 선택합니다.
VM 인스턴스와 함께 사용 섹션에서 다음 옵션 중 하나를 선택합니다.
일치하는 VM에서 이 예약을 자동으로 사용할 수 있게 하려면 예약 자동 사용을 선택합니다(아직 선택하지 않은 경우).
이름을 통해 이 예약을 명시적으로 타겟팅하는 일치하는 VM을 만들 때만 이 예약의 리소스를 소비하려면 특정 예약 선택을 선택합니다.
VM 인스턴스 수에 예약할 VM 수를 입력합니다.
머신 구성 섹션에서 머신 유형 지정을 선택한 후 다음을 지정합니다.
머신 계열, 시리즈, 머신 유형에서 머신 계열, 시리즈, 머신 유형을 선택합니다.
선택사항: 최소 CPU 플랫폼을 지정하거나 N1 VM에 GPU를 연결하려면 다음을 수행합니다.
CPU 플랫폼 및 GPU 섹션을 확장하려면
확장 화살표를 클릭합니다.선택사항: 최소 CPU 플랫폼을 지정하려면 CPU 플랫폼에서 옵션을 선택합니다.
선택사항: N1 VM에 GPU를 연결하려면
GPU 추가를 클릭합니다. 그런 다음 GPU 유형 및 GPU 수에서 각 N1 VM에 연결할 GPU 유형과 수를 선택합니다.
선택사항: 로컬 SSD 디스크를 추가하려면 다음을 수행합니다.
디스크 수에서 각 VM의 로컬 SSD 디스크 수를 선택합니다.
인터페이스 유형에서 로컬 SSD 디스크 인터페이스를 선택합니다.
선택사항: 요구사항을 충족하는 예약에 압축 배치 정책을 지정하려면 그룹 배치 정책 선택 또는 만들기 목록을 클릭한 후 다음 중 하나를 수행합니다.
이 예약에 지정할 압축 배치 정책을 만들려면 다음 단계를 수행합니다.
그룹 배치 정책 만들기를 클릭합니다.
그룹 배치 정책 만들기 창이 나타납니다.
정책 이름에 정책 이름을 입력합니다.
만들기를 클릭합니다.
압축 배치 정책을 만드는 데 몇 초 정도 걸릴 수 있습니다.
또는 기존 압축 배치 정책을 선택합니다.
선택사항: 요구사항을 충족하는 예약에 압축 배치 정책을 지정하려면 그룹 배치 정책 섹션에서 그룹 배치 정책 선택 또는 만들기 목록을 클릭한 후 다음 중 하나를 수행합니다.
이 예약에 지정할 압축 배치 정책을 만들려면 다음을 수행합니다.
그룹 배치 정책 만들기를 클릭합니다.
그룹 배치 정책 만들기 창이 나타납니다.
정책 이름에 정책 이름을 입력합니다.
만들기를 클릭합니다.
압축 배치 정책을 만드는 데 몇 초 정도 걸릴 수 있습니다.
또는 기존 압축 배치 정책을 선택합니다.
자동 삭제 섹션에서 Compute Engine이 특정 날짜와 시간에 예약을 자동으로 삭제하도록 자동 삭제 옵션을 사용 설정할 수 있습니다. 예약 자동 삭제는 예약 사용을 중지할 때 불필요한 비용이 발생하는 것을 방지하는 데 유용할 수 있습니다.
예약을 만들려면 만들기를 클릭합니다.
예약 페이지가 열립니다. 단일 프로젝트 예약을 만드는 데 최대 1분이 걸릴 수 있습니다.
RESERVATION_NAME
: 생성할 예약의 이름입니다.MACHINE_TYPE
: 각 VM에 사용할 머신 유형입니다. A3 머신 유형을 지정하는 경우--require-specific-reservation
플래그를 포함해야 합니다. 즉, 정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있습니다. 자세한 내용은 특정 예약에서 VM 소비하기를 참고하세요.NUMBER_OF_VMS
: 예약할 VM 수ZONE
: 리소스를 예약할 영역입니다.예약된 N1 VM에 GPU를 연결하려면
--accelerator
플래그를 포함합니다.gcloud compute reservations create RESERVATION_NAME \ --accelerator=count=NUMBER_OF_ACCELERATORS,type=ACCELERATOR_TYPE --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
다음을 바꿉니다.
NUMBER_OF_ACCELERATORS
: 예약된 VM당 추가할 GPU 수ACCELERATOR_TYPE
: N1 VM에 지원되는 GPU 모델 선택한 GPU 모델을 리소스를 예약하려는 영역에서 사용할 수 있는지 확인합니다. 그렇지 않으면 예약 만들기가 실패합니다.
예약된 각 VM에 하나 이상의 로컬 SSD 디스크를 추가하려면 하나 이상의
--local-ssd
플래그를 포함합니다. 로컬 SSD 디스크를 최대 24개까지 지정할 수 있습니다. 각 로컬 SSD 디스크는 375GB입니다.예를 들어 예약을 만들 때 로컬 SSD 디스크 2개를 지정하려면 다음과 같이
--local-ssd
플래그 2개를 포함합니다.gcloud compute reservations create RESERVATION_NAME \ --local-ssd=size=375,interface=INTERFACE_1 \ --local-ssd=size=375,interface=INTERFACE_2 \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
INTERFACE_1
및INTERFACE_2
를 각 로컬 SSD 디스크에서 사용할 인터페이스 유형으로 바꿉니다. 다음 값 중 하나를 지정합니다.NVME 디스크 인터페이스:
nvme
SCSI 디스크 인터페이스:
scsi
예약된 VM에 지정되는 머신 유형이 선택된 디스크 인터페이스를 지원하는지 확인합니다. 그렇지 않으면 예약 만들기가 실패합니다. 자세한 내용은 디스크 인터페이스 선택 방법을 참조하세요.
영역의 기본 CPU 플랫폼 대신 예약된 VM에 특정 최소 CPU 플랫폼이 사용되도록 하려면
--min-cpu-platform
플래그를 포함합니다.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --min-cpu-platform="MIN_CPU_PLATFORM" \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
MIN_CPU_PLATFORM
을 최소 CPU 플랫폼으로 바꿉니다. 리소스를 예약하는 영역에서 CPU 플랫폼을 사용할 수 있는지 확인하려면 영역별 사용 가능한 CPU 플랫폼을 확인합니다.정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있도록 지정하려면
--require-specific-reservation
플래그를 포함합니다.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
VM 간에 낮은 네트워크 지연 시간을 위해 압축 배치 정책을 지정하려면
--resource-policies=policy
플래그를 포함합니다.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --resource-policies=policy=COMPACT_PLACEMENT_POLICY_NAME \ --require-specific-reservation \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
COMPACT_PLACEMENT_POLICY_NAME을 기존 압축 배치 정책의 이름으로 바꿉니다. 또한 압축 배치 정책을 지정하는 단일 프로젝트 예약을 만들 때 오류를 방지하려면 다음을 지정해야 합니다.
압축 배치 정책에 지원되는 머신 유형 및 최대 VM 수를 지정합니다.
압축 배치 정책이 있는 리전 내 영역을 지정합니다.
--require-specific-reservation
플래그 즉, 정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있습니다.
Vertex AI의 커스텀 학습 작업 또는 예측 작업에서 GPU VM 예약을 사용할 수 있게 하려면
--reservation-sharing-policy=ALLOW_ALL
플래그와 함께gcloud beta compute reservations create
명령어를 사용합니다.gcloud beta compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --reservation-sharing-policy=ALLOW_ALL \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
Compute Engine이 예약을 자동으로 삭제하도록 하려면 다음 방법 중 하나를 선택합니다.
특정 날짜와 시간에 예약을 삭제하려면
--delete-at-time
플래그와 함께gcloud beta compute reservations create
명령어를 사용합니다.gcloud beta compute reservations create RESERVATION_NAME \ --delete-at-time=DELETE_AT_TIME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
DELETE_AT_TIME
을 다음과 같은 RFC 3339 타임스탬프 형식의 날짜와 시간으로 바꿉니다.YYYY-MM-DDTHH:MM:SSOFFSET
다음을 바꿉니다.
YYYY-MM-DD
: 4자리 연도, 2자리 월, 2자리 일이 하이픈(-
)으로 구분된 형식의 날짜입니다.HH:MM:SS
: 24시간제의 2자리 시간, 2자리 분, 2자리 초가 콜론(:
)으로 구분된 형식의 시간입니다.OFFSET
: 협정 세계시(UTC)의 오프셋 형식으로 지정된 시간대입니다. 예를 들어 태평양 표준시(PST)를 사용하려면-08:00
을 지정합니다. 또는 오프셋을 사용하지 않으려면Z
를 지정합니다.
특정 기간이 지난 후 예약을 삭제하려면
gcloud beta compute reservations create
명령어를--delete-after-duration
플래그와 함께 사용합니다.gcloud beta compute reservations create RESERVATION_NAME \ --delete-after-duration=DELETE_AFTER_DURATION \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
DELETE_AFTER_DURATION
을 일, 시간, 분 또는 초의 기간으로 바꿉니다. 예를 들어 30분에30m
을 지정하고 1일 2시간 3분 4초에1d2h3m4s
를 지정합니다.
PROJECT_ID
: 리소스를 예약하려는 프로젝트의 ID입니다.ZONE
: 리소스를 예약할 영역RESERVATION_NAME
: 생성할 예약의 이름입니다.NUMBER_OF_VMS
: 예약할 VM 수MACHINE_TYPE
: 각 VM에 사용할 머신 유형입니다. A3 머신 유형을 지정하는 경우 요청 본문에specificReservationRequired
필드를 포함하고 필드를true
로 설정해야 합니다. 즉, 정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있습니다. 자세한 내용은 특정 예약에서 VM 소비하기를 참조하세요.예약된 N1 VM에 GPU를 연결하려면 요청 본문에
guestAccelerators
필드를 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "guestAccelerators": [ { "acceleratorCount": NUMBER_OF_ACCELERATORS, "acceleratorType": "ACCELERATOR_TYPE" } ], "machineType": "MACHINE_TYPE" } } }
다음을 바꿉니다.
NUMBER_OF_ACCELERATORS
: 예약된 VM당 추가할 GPU 수ACCELERATOR_TYPE
: N1 VM에 지원되는 GPU 모델 선택한 GPU 모델을 리소스를 예약하려는 영역에서 사용할 수 있는지 확인합니다. 그렇지 않으면 예약 만들기가 실패합니다.
예약된 각 VM에 하나 이상의 로컬 SSD 디스크를 추가하려면 요청 본문에
localSsds
필드를 포함합니다. 로컬 SSD 디스크를 최대 24개까지 지정할 수 있습니다. 각 로컬 SSD 디스크는 375GB입니다.예를 들어 예약을 만들 때 로컬 SSD 디스크 2개를 지정하려면 다음과 같이 요청합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "localSsds": [ { "diskSizeGb": "375", "interface": "INTERFACE_1" }, { "diskSizeGb": "375", "interface": "INTERFACE_2" } ], "machineType": "MACHINE_TYPE" } } }
INTERFACE_1
및INTERFACE_2
를 각 로컬 SSD 디스크에서 사용할 인터페이스 유형으로 바꿉니다. 다음 값 중 하나를 지정합니다.NVME 디스크 인터페이스:
NVME
SCSI 디스크 인터페이스:
SCSI
예약된 VM에 지정되는 머신 유형이 선택된 디스크 인터페이스를 지원하는지 확인합니다. 그렇지 않으면 예약 만들기가 실패합니다. 자세한 내용은 디스크 인터페이스 선택 방법을 참조하세요.
영역의 기본 CPU 플랫폼 대신 예약된 VM에 특정 최소 CPU 플랫폼이 사용되도록 하려면 요청 본문에
minCpuPlatform
필드를 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE", "minCpuPlatform": "MIN_CPU_PLATFORM" } } }
MIN_CPU_PLATFORM
을 최소 CPU 플랫폼으로 바꿉니다. 리소스를 예약하는 영역에서 CPU 플랫폼을 사용할 수 있는지 확인하려면 영역별 사용 가능한 CPU 플랫폼을 확인합니다.예약된 VM 간에 네트워크 지연 시간을 줄이기 위해 압축 배치 정책을 지정하려면 요청 본문에
resourcePolicies
필드를 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/example-project/regions/REGION/resourcePolicies/COMPACT_PLACEMENT_POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
다음을 바꿉니다.
REGION
: 압축 배치 정책이 있는 리전입니다. 배치 정책 리전 내에서만 예약을 만들 수 있습니다.COMPACT_PLACEMENT_POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.
또한 압축 배치 정책을 지정하는 단일 프로젝트 예약을 만들 때 오류를 방지하려면 다음을 지정해야 합니다.
압축 배치 정책에 지원되는 머신 유형을 지정합니다.
true
로 설정된specificReservationRequired
필드 즉, 정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있습니다.
정확히 이 예약을 타겟팅하는 VM만 이를 사용할 수 있게 지정하려면 요청 본문에
specificReservationRequired
필드를 포함하고 이 필드를true
로 설정합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } }, "specificReservationRequired": true }
Vertex AI의 커스텀 학습 작업 또는 예측 작업에서 GPU VM 예약을 사용할 수 있게 하려면
POST
요청을beta.reservations.insert
메서드에 보냅니다. 요청 본문에serviceShareType
필드를 포함하고ALLOW_ALL
로 설정합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "reservationSharingPolicy": { "serviceShareType": "ALLOW_ALL" }, "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
Compute Engine이 예약을 자동으로 삭제하도록 하려면 다음 방법 중 하나를 선택합니다.
특정 날짜 및 시간에 예약을 삭제하려면
beta.reservations.insert
메서드에POST
요청을 실행합니다. 요청 본문에deleteAtTime
필드를 포함합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAtTime": "DELETE_AT_TIME", "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
DELETE_AT_TIME
을 다음과 같은 RFC 3339 타임스탬프 형식의 날짜와 시간으로 바꿉니다.YYYY-MM-DDTHH:MM:SSOFFSET
다음을 바꿉니다.
YYYY-MM-DD
: 4자리 연도, 2자리 월, 2자리 일이 하이픈(-
)으로 구분된 형식의 날짜입니다.HH:MM:SS
: 24시간제의 2자리 시간, 2자리 분, 2자리 초가 콜론(:
)으로 구분된 형식의 시간입니다.OFFSET
: 협정 세계시(UTC)의 오프셋 형식으로 지정된 시간대입니다. 예를 들어 태평양 표준시(PST)를 사용하려면-08:00
을 지정합니다. 또는 오프셋을 사용하지 않으려면Z
를 지정합니다.
특정 기간이 지난 후 예약을 삭제하려면
beta.reservations.insert
메서드에POST
요청을 합니다. 요청 본문에deleteAfterDuration
필드를 포함합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/reservations { "deleteAfterDuration": { "seconds": "DELETE_AFTER_DURATION" }, "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
DELETE_AFTER_DURATION
를 초 단위의 기간으로 바꿉니다. 예를 들어 86,400초(1일)의 경우86400
을 지정합니다.
예약 확인 방법 알아보기
예약을 약정에 연결하는 방법 알아보기
예약 사용 방법 알아보기
예약 사용 모니터링 방법 알아보기
Terraform
로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
필요한 역할
단일 프로젝트 예약을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 관리자(
roles/compute.admin
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 단일 프로젝트 예약을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
단일 프로젝트 예약을 만들려면 다음 권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
단일 프로젝트 예약 만들기
예약을 사용하려면 VM에는 예약과 정확히 일치하는 속성이 있어야 합니다. 예약하려는 VM의 속성을 지정하려면 이 문서에서 다음 섹션 중 하나를 선택합니다.
기본적으로 예약은 일치하는 속성이 있는 모든 VM에서 자동으로 사용될 수 있습니다. 예약 사용을 제어하려면 다음 중 하나 이상을 수행합니다.
또한 단일 프로젝트 예약을 만들 때 압축 배치 정책을 지정할 수 있습니다. 압축 배치 정책은 네트워크 지연 시간을 줄이기 위해 가능한 한 서로 가까운 위치에 VM을 배치하도록 지정합니다.
인스턴스 템플릿 지정
인스턴스 템플릿을 지정하여 예약을 만들 때 오류를 방지하려면 다음을 확인합니다.
인스턴스 템플릿을 지정하여 단일 프로젝트 예약을 만들려면 다음 옵션 중 하나를 선택합니다.
콘솔
gcloud
단일 프로젝트 예약을 만들려면
gcloud compute reservations create
명령어를 사용합니다.선택적 플래그를 포함하지 않고 인스턴스 템플릿을 지정하여 단일 프로젝트 예약을 만들려면 다음 명령어를 실행합니다.
gcloud compute reservations create RESERVATION_NAME \ --source-instance-template=projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
다음을 바꿉니다.
예를 들어 전역 인스턴스 템플릿을 지정하여
us-central1-a
영역에 10개의 VM에 대한 예약을 만들려면 다음 명령어를 실행합니다.gcloud compute reservations create my-reservation \ --source-instance-template=projects/example-project/global/example-instance-template \ --vm-count=10 \ --zone=us-central1-a
선택적으로 다음 중 하나 이상을 수행할 수 있습니다.
Go
자바
Node.js
Python
REST
단일 프로젝트 예약을 만들려면
reservations.insert
메서드에POST
요청을 실행합니다.선택적인 플래그를 포함하지 않고 인스턴스 템플릿을 지정하여 단일 프로젝트 예약을 만들려면 다음
POST
요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "sourceInstanceTemplate": "projects/PROJECT_ID/LOCATION/instanceTemplates/INSTANCE_TEMPLATE_NAME" } }
다음을 바꿉니다.
예를 들어 전역 인스턴스 템플릿을 지정하여
us-central1-a
영역에 10개의 VM에 대한 예약을 만들려면 다음POST
요청을 실행합니다.POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "specificReservation": { "count": "10", "sourceInstanceTemplate": "projects/example-project/global/instanceTemplates/example-instance-template" } }
선택적으로 다음 중 하나 이상을 수행할 수 있습니다.
기존 VM 지정
VM과 동일한 영역에 있는 기존 VM을 기반으로만 예약을 만들 수 있습니다.
예약을 만든 후 참조 VM과 일치하는 속성이 있는 VM을 만들어 예약을 사용할 수 있습니다. 다음 중 하나를 수행하여 이 작업을 수행할 수 있습니다.
기존 VM 속성을 사용하는 단일 프로젝트 예약을 만들려면 다음을 수행합니다.
속성 직접 지정
속성을 직접 지정하여 단일 프로젝트 예약을 만들려면 다음 옵션 중 하나를 선택합니다.
콘솔
gcloud
단일 프로젝트 예약을 만들려면
gcloud compute reservations create
명령어를 사용합니다.선택적 플래그를 포함하지 않고 속성을 직접 지정하여 단일 프로젝트 예약을 만들려면 다음 명령어를 실행합니다.
gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --vm-count=NUMBER_OF_VMS \ --zone=ZONE
다음을 바꿉니다.
예를 들어
us-central1-a
영역에서 각각 vCPU 4개가 포함된 N2 사전 정의된 머신 유형을 사용하는 10개의 VM에 대해 예약을 만들려면 다음 명령어를 실행합니다.gcloud compute reservations create my-reservation \ --machine-type=n2-standard-4 \ --vm-count=10 \ --zone=us-central1-a
선택적으로 다음 중 하나 이상을 수행할 수 있습니다.
Go
자바
Node.js
Python
Terraform
단일 프로젝트 예약을 만들려면
google_compute_reservation
Terraform 리소스를 사용합니다.예를 들어 vCPU가 2개 있는 N2 사전 정의된 머신 유형 1개에 대한 단일 프로젝트 예약을 만들려면 다음 리소스를 사용합니다.
Terraform 사용 방법에 대한 자세한 내용은 Google Cloud에서 Terraform 사용하기를 참조하세요.
REST
단일 프로젝트 예약을 만들려면
reservations.insert
메서드에POST
요청을 실행합니다.선택적인 필드를 포함하지 않고 속성을 직접 지정하여 단일 프로젝트 예약을 만들려면 다음
POST
요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "specificReservation": { "count": "NUMBER_OF_VMS", "instanceProperties": { "machineType": "MACHINE_TYPE" } } }
다음을 바꿉니다.
예를 들어
us-central1-a
영역에서 각각 vCPU 4개가 포함된 N2 사전 정의된 머신 유형을 사용하는 10개의 VM에 대해 예약을 만들려면 다음POST
요청을 실행합니다.POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/reservations { "name": "my-reservation", "specificReservation": { "count": "10", "instanceProperties": { "machineType": "n2-standard-4", } } }
선택적으로 다음 중 하나 이상을 수행할 수 있습니다.
문제 해결
예약 생성 문제 해결 방법 알아보기
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-12-22(UTC)
-