이 문서에서는 Compute Engine 영역별 리소스 예약의 동작, 요구사항, 제한사항, 결제에 대해 설명합니다.
개요
필요할 때 Compute Engine 리소스를 사용할 수 있게 하려면 예약을 이용하세요. 예약을 이용하면 매우 높은 수준의 확신으로 Compute Engine 영역별 리소스의 용량을 확보할 수 있습니다. 예약을 사용하면 향후 수요 증가에 대비하여 필요한 리소스를 프로젝트에 확보할 수 있습니다.
- 성장
- 계획되거나 계획되지 않은 급증
- 많은 수의 가상 머신(VM) 인스턴스 마이그레이션
- 백업 및 재해 복구
예약을 이용하면 VM의 95%가 120초 이내에 시작됩니다. 각 예약은 동일한 속성을 가진 하나 이상의 VM에 대해 보장을 제공합니다. 예약을 만든 후에는 예약된 리소스를 즉시 사용할 수 있으며 예약을 삭제할 때까지 사용 가능한 상태로 유지됩니다. 마찬가지로 예약된 리소스에 대한 비용 지불도 즉시 시작됩니다. 예약이 더 이상 필요하지 않으면 예약을 삭제하여 비용 청구를 중지할 수 있습니다. VM이 예약을 사용하는 동안에는 별도의 요금이 발생하지 않습니다.
예약된 리소스를 얼마나 사용하는지에 관계없이, 예약한 당사자 외에는 예약된 리소스를 사용할 수 없습니다. 예약은 실행 중인 비예약 VM만큼 리소스를 점유하므로 예약된 리소스에는 적용 가능한 할인을 포함하여 실행 중인 VM과 동일한 주문형 요금이 청구됩니다.
예약의 작동 원리
이 섹션에서는 예약의 작동 원리를 설명합니다.
예약은 지정된 구성을 사용하여 하나 이상의 Compute Engine VM에 대한 용량 보증을 제공합니다. Compute Engine 약정 또는 VM을 사용하는 다른 제품에서도 예약을 사용할 수 있습니다.
예약을 만들 때 사용자는 다음 속성을 정의합니다.
- 프로비저닝 유형(주문형 또는 미래용)
- 주문형 예약(기본값)은 요청된 용량을 사용할 수 있는 경우 요청 시 프로비저닝됩니다.
미래용 예약을 사용하면 중요하거나 획득하기 어려운 용량의 보증을 미리 요청할 수 있습니다. 특히 미래용 예약은 두 가지 리소스 유형으로 구성됩니다. 즉, 승인된 경우 향후 지정된 시간에 자동으로 생성된(자동 생성) 예약을 제공하는 미래용 예약 요청입니다. 요청된 예약 기간이 지나면 자동 생성된 예약이 자동으로 삭제되거나 온디맨드 예약과 비슷하게 작동합니다.
미래용 예약을 사용하면 Google Cloud에서 요청을 처리하는 데 더 많은 시간을 할애할 수 있으므로 주문형 예약보다 많은 용량을 확보할 수도 있습니다. 미래용 예약을 사용하려면 이 문서 대신 미래용 예약 요청 정보를 참조하세요.
- 자동 삭제
자동 삭제 옵션은 예약이 완전히 사용되었는지 여부에 관계없이 예약을 자동으로 삭제하도록 지정합니다. 자동 삭제 옵션을 사용 설정하면 지정된 날짜 및 시간으로부터 2시간 이내에 예약이 삭제됩니다. 예약을 자동으로 삭제하면 일정 기간 동안 사용되지 않는 예약에 대한 불필요한 비용을 방지할 수 있습니다.
- 소비 유형(자동 또는 특정)
- 이러한 예약(기본값)을 모두 자동으로 소비할 수 있도록 하는 예약 어피니티 속성이 있는 VM에서 자동으로 소비되는 예약(기본값)을 사용할 수 있습니다
- 특별한 타겟팅 예약은 소비를 위해 특정 예약을 타겟팅하는 예약 어피니티 속성이 있는 VM에서만 사용할 수 있습니다. 특별한 타겟팅 예약을 사용하면 어떤 VM이 어떤 예약을 사용하는지 더 쉽게 추적하고 제어할 수 있습니다.
- 단일 프로젝트 예약(기본값)은 예약과 동일한 프로젝트에 있는 VM에서만 사용할 수 있습니다.
- 공유 예약은 예약이 있는 프로젝트의 VM 및 예약이 공유된 다른 프로젝트에서 사용할 수 있습니다. 공유 예약을 사용하면 예약의 사용률을 높이고 만들고 관리해야 하는 예약 수를 줄일 수 있습니다. 자세한 내용은 이 문서의 공유 예약 작동 방법을 참조하세요.
-
선택사항: 리소스 배치 정책(압축)
압축 배치 정책은 예약된 VM 간의 네트워크 지연 시간을 줄이기 위해 예약된 VM을 최대한 서로 가깝게 배치해야 함을 나타냅니다.
- VM 수
VM 수는 예약을 만들 때 예약하려는 속성 및 영역이 일치하는 VM 수입니다. 예약을 만든 후 VM 수를 수정할 수 있습니다.
- VM 속성
VM 속성은 예약하려는 VM의 하드웨어 요구사항을 기술합니다. VM의 속성과 예약의 VM 속성이 모두 정확히 일치하는 경우에만 VM에서 예약을 사용할 수 있습니다. 자세한 내용은 이 문서에서 요구사항을 참조하세요.
예약을 만든 후 다음 사항에 유의하세요.
예약을 사용 중인 VM을 중지, 일시중지 또는 삭제하면 해당 VM이 더 이상 예약에 포함되지 않습니다. 이전에 사용한 리소스는 VM을 중지, 일시중지 또는 삭제가 완료된 후에 다시 사용할 수 있습니다.
예약은 삭제했지만 예약된 리소스를 사용 중인 VM을 삭제하지 않으면 VM이 유지되고 평소처럼 리소스 요금이 청구됩니다.
공유 예약 작동 방법
공유 예약에서 각 VM은 예약을 만든 프로젝트(소유자 프로젝트) 또는 예약이 공유된 프로젝트(소비자 프로젝트)의 VM에 사용될 수 있습니다. VM이 공유 예약 사용을 중지하면 예약이 공유된 프로젝트에 있는 다른 VM이 공유 예약을 사용할 수 있습니다. 공유 예약이 여러 VM을 예약하는 경우 여러 프로젝트의 VM이 동일한 공유 예약을 동시에 사용할 수 있습니다.
기본적으로 프로젝트는 공유 예약을 만들거나 수정할 수 없습니다. 프로젝트에서 공유 예약을 만들고 수정하려면 프로젝트를 공유 예약 소유자 프로젝트(compute.sharedReservationsOwnerProjects
) 조직 정책 제약조건의 허용 목록에 추가해야 합니다.
예약을 공유하면 추가 요구사항의 영향을 받으며 공유되지 않은 예약에 비해 약간 다른 소비 동작을 갖습니다.
요구사항
모든 예약에는 다음 요구사항이 포함됩니다.
VM은 VM과 예약의 다음 속성이 모두 정확히 일치하는 경우에만 예약을 사용할 수 있습니다.
- 프로젝트*
- 영역
- 머신 유형
- 최소 CPU 플랫폼
- GPU 유형 및 수량
- 로컬 SSD 유형 및 수량
- 예약 어피니티†
- 압축 배치 정책‡
*프로젝트 요구사항은 예약의 공유 유형에 따라 다릅니다.
†예약 어피니티 요구사항은 예약의 소비 유형에 따라 달라집니다.
‡예약에는 예약된 VM 간의 네트워크 지연 시간을 줄이기 위해 예약된 VM이 최대한 서로 가깝게 위치해야 함을 나타내는 압축 배치 정책이 선택적으로 포함될 수 있습니다. 예약에서 압축 배치 정책을 지정하면 동일한 압축 배치 정책을 지정하는 VM에서만 사용할 수 있습니다.
예약하는 리소스에 충분한 할당량이 프로젝트에 있어야 합니다. 예약이 성공적으로 생성되면 해당 리소스에 대한 할당량이 그에 따라 청구됩니다.
약정에 연결된 예약의 추가 요구사항
또한 약정에 연결된 예약에는 다음 요구사항이 포함됩니다.
예약은 약정과 동일한 프로젝트 및 리전에 대한 예약이어야 합니다.
예약은 약정과 동일한 머신 계열 시리즈에 대한 예약이어야 합니다. 그러나 해당 머신 계열 시리즈 내에서 머신 유형을 선택할 수 있습니다.
예약에 자동 삭제 옵션이 중지되어 있어야 합니다.
약정에서 GPU, 로컬 SSD 디스크 또는 둘 다를 지정하는 경우 연결된 예약(또는 연결된 예약의 조합)에서 약정과 정확히 동일한 리소스 수 및 유형을 지정해야 합니다.
자세한 내용은 리소스 기반 약정에 예약 연결을 참조하세요.
인스턴스 템플릿에서 생성된 예약의 추가 요구사항
또한 인스턴스 템플릿을 지정하여 예약을 만들 경우 다음을 확인합니다.
템플릿 내의 리소스와 동일한 리전, 영역, 프로젝트에 예약을 만들어야 합니다. 구체적으로는 다음과 같습니다.
인스턴스 템플릿에 압축 배치 정책이 지정된 경우 특정 예약을 만들어야 합니다. 그런 후 예약을 사용하도록 VM을 만들 때 이름을 사용해서 예약을 구체적으로 타겟팅해야 합니다. 그렇지 않으면 VM이 예약을 사용할 수 없습니다.
공유 예약의 추가 요구사항
또한 공유 예약의 소유자 및 소비자 프로젝트에는 특정 할당량 영향이 있습니다. 구체적으로는 다음과 같습니다.
소유자 프로젝트에는 예약할 수 있는 리소스의 두 배에 해당하는 충분한 할당량이 있어야 합니다. 공유 예약의 소유자 프로젝트에는 다음과 같이 할당량이 부과됩니다.
리소스를 예약할 때 소유자 프로젝트에는 예약한 리소스의 할당량이 청구됩니다.
예약된 리소스가 소진되면 소유자 프로젝트에 사용된 리소스 할당량이 청구됩니다.
소비자 프로젝트는 예약된 리소스를 사용할 때와 소비한 리소스에 대해서만 비용이 청구됩니다.
예를 들어 프로젝트 A(소유자 프로젝트)에서 리소스 10개에 대한 공유 예약을 만들고 프로젝트 B 및 C(소비자 프로젝트)와 예약을 공유한다고 가정해 보겠습니다. 공유 예약을 만든 후에는 프로젝트 A에 리소스 10개에 대한 요금이 청구됩니다. 그리고 다음과 같이 프로젝트에서 예약을 사용한다고 가정해 보겠습니다.
프로젝트 A는 2개의 예약된 리소스를 사용하여 2개의 리소스에 대한 요금이 청구됩니다.
프로젝트 B는 2개의 예약된 리소스를 사용합니다. 프로젝트 A와 B 모두 2개의 리소스에 대한 요금이 부과됩니다.
압축 배치 정책이 있는 예약의 추가 요구사항
또한 예약에 대한 압축 배치 정책을 지정하려면 다음 요구사항을 확인하세요.
압축 배치 정책은 예약을 지원해야 합니다.
압축 배치 정책은 고정된 VM 수를 지정할 수 없습니다.
압축 배치 정책은
max-distance
값을1
로 지정할 수 없습니다.압축 배치 정책은 한 번에 둘 이상의 예약으로 지정할 수 없습니다.
예약은 다음과 같은 압축 배치 정책을 지원해야 합니다.
주문형 단일 프로젝트, 특히 약정에 연결되지 않은 타겟팅된 예약에 대해서만 압축 배치 정책을 지정할 수 있습니다.
예약으로 예약된 VM은 압축 배치 정책으로 지원되어야 합니다.
예약 영역은 압축 배치 정책의 리전 내에 있어야 합니다.
예약의 VM 수는 압축 배치 정책이 지원하는 최대 VM 수를 초과할 수 없습니다.
압축 배치 정책에서 예약의 머신 유형을 지원해야 합니다.
자세한 내용은 압축 배치 정책의 제한사항을 참조하세요.
제한사항
모든 예약에는 다음과 같은 제한사항이 있습니다.
- 예약당 최대 1,000개의 VM을 예약할 수 있습니다.
예약은 다음 Google Cloud 제품의 VM 사용에만 적용됩니다.
- Batch
- Compute Engine
- Dataflow
- Dataproc
- Google Kubernetes Engine
다음 리소스에는 예약이 적용되지 않습니다.
f1-micro
및g1-small
머신 유형- 선점형 VM
- 단독 테넌트 노드
- Cloud SQL과 같이 이전에 나열되지 않은 다른 서비스
Compute Engine은 예약을 만들 때 주문형 리소스를 할당하려고 시도합니다. 요청 시점에 영역에서 리소스가 충분하지 않으면 용량 부족으로 인해 리소스 가용성 오류 와 함께 예약이 실패합니다. 예약이 성공적으로 생성되면 즉시 사용하지 않더라도 리소스가 사용할 수 있는 상태로 준비됩니다.
약정에 연결된 예약의 추가 제한사항
또한 약정에 연결된 예약에는 다음과 같은 제한사항이 있습니다.
예약은 리소스 기반 약정에만 연결할 수 있습니다.
약정을 구매하는 동안에만 예약을 연결할 수 있습니다.
특정 예약을 단일 약정에만 연결할 수 있습니다.
약정에 연결된 예약은 삭제하거나 크기를 조절할 수 없습니다. 대신 약정에 연결된 예약을 대체하는 방법을 참조하세요.
자세한 내용은 리소스 기반 약정에 예약 연결을 참조하세요.
공유 예약의 추가 제한사항
또한 공유 예약에는 다음 제한이 포함됩니다.
예약을 만든 프로젝트와 동일한 조직의 프로젝트에만 예약을 공유할 수 있습니다.
각 공유 예약은 1~100개 소비자 프로젝트와 공유될 수 있습니다.
각 조직에서는 각각의 고유한 VM 속성 조합에 대해 최대 100개까지 공유 예약을 만들 수 있습니다.
특정 프로젝트에서 생성된 예약만 나열할 수 있습니다. 즉, 각 공유 예약은 이를 만든 프로젝트에만 나열됩니다. 조직의 모든 공유 예약 목록 또는 특정 프로젝트와 공유된 모든 예약 목록은 확인할 수 없습니다.
인스턴스 템플릿을 지정하여 공유 예약을 만들면 프로젝트 내의 사용자만 동일한 인스턴스 템플릿에 액세스하고 이를 사용하여 VM 또는 다른 예약을 만들 수 있습니다.
예약을 만들 때 압축 배치 정책을 지정할 수 없습니다.
공유 예약을 사용 중인 프로젝트를 새 조직으로 이동하면 공유 예약이 새 조직으로 마이그레이션되지 않습니다. 이 프로젝트에서 생성된 모든 공유 예약은 삭제되고 이전 조직에서 이 프로젝트와 공유된 모든 예약은 새 조직에서 사용될 수 없습니다. 자세한 내용은 이 문서의 공유 예약 작동 방법을 참조하세요.
공유 예약 권장사항에 따라 이러한 요구사항 중 일부 제한사항을 완화할 수 있습니다.
압축 배치 정책이 있는 예약의 추가 제한사항
또한 압축 배치 정책을 지정하는 예약에는 다음과 같은 제한사항이 있습니다.
예약 간에 압축 배치 정책을 공유할 수 없습니다. 대신 압축 배치 정책을 적용할 예약마다 별도의 압축 배치 정책을 사용해야 합니다.
압축 배치 정책만 지정할 수 있습니다. 인스턴스 일정 또는 스냅샷 일정과 같은 다른 모든 유형의 리소스 정책은 지원되지 않습니다.
청구
이 섹션에서는 예약의 청구 방법을 설명합니다.
예약에는 동일한 주문형 가격 및 VM을 실행하는 예약되지 않은 1분 최소 요금을 포함하여 예약된 리소스와 동일한 요금이 청구됩니다. VM을 실행할 때와 마찬가지로 지속 사용 할인(SUD), CUD, 커스텀 가격 책정이 적용됩니다.
예를 들어 다음을 가정합니다.
us-central1
에 3개의 vCPU 약정이 있습니다.us-central1-a
에서 5개의 vCPU를 실행합니다.us-central1-a
에 10개의 vCPU 예약이 있습니다.
다음과 같이 요금이 청구됩니다.
적용 방식 | vCPU 개수 |
---|---|
약정 사용 할인 가격 | 3 |
주문형 가격(2개의 vCPU, 사용한 예약 + 5개의 vCPU, 사용하지 않은 예약) | 7 |
예약의 리소스가 사용 중인지 여부에 관계없이 예약이 존재하는 한 예약된 리소스에 대해 요금이 청구됩니다. 예약에는 예약된 리소스 비용이 이미 청구되었기 때문에 예약을 사용하는 동안 VM에 중복 리소스 요금이 발생하지 않습니다. 자세한 내용은 VM 가격 책정을 참조하세요.
또한 예약의 사용 추세를 모니터링하여 낭비되거나 사용되지 않는 리소스로 인한 불필요한 비용을 줄일 수 있습니다. 자세한 내용은 예약 사용 모니터링을 참조하세요.
공유 예약의 추가 결제 정보
공유 예약 사용에는 추가 요금이 없습니다. 단일 프로젝트 Compute Engine 예약과 동일한 가격으로 청구됩니다. 하지만 각 프로젝트마다 서로 다른 CUD가 적용될 수 있으므로 공유 예약이 청구되는 프로젝트는 소비에 따라 변경됩니다.
공유 예약의 결제 프로젝트 및 가격은 다음과 같이 처리됩니다.
- 결제 프로젝트: 기본적으로 소유자 프로젝트는 공유 예약에 대해 청구됩니다. 하지만 공유 예약의 리소스가 소비자 프로젝트에 의해 사용되는 경우 대신 소비자 프로젝트에 예약 비용이 청구됩니다.
- 결제 할인: 기본적으로 결제에는 주문형 사격이 사용됩니다. 하지만 청구되는 프로젝트 또는 해당 프로젝트와 연결된 Cloud Billing 계정에 대해 CUD를 받을 수 있는 경우에는 할인 가격이 대신 사용됩니다.
다음 단계
- 예약 만들기 방법 알아보기: