- GPU 및 로컬SSD는 예약(Reservation)이 필요.
https://cloud.google.com/compute/docs/instances/reservations-with-commitments?hl=ko#committed_resources_that_require_attached_reservations
- CUD는 Billing Account 수준에서 Project간 공유해줌.
- 예약(Reservation)은 자원 생성 시, 빠르게 해당 자원을 선점하게 해주는 역할. 실제 또는 필요 vm 타입 및 수량 동일해야됨
- 예약(Reservation)을 공유 Project로만 하면, 다른 project에서도 예약기능이 동작하고 GPU CUD 비용이 project간 공유되어 동작.(공유를 받는 프로젝트의 쿼터는 영향을 받지 않음-아래 Reservation 테스트 참고)
- 예약(Reservation)을 공유 Project로만 하려면, organization policy에서 compute.sharedReservationsOwnerProjects 을 허용 필요.
https://cloud.google.com/compute/docs/instances/reservations-shared?hl=ko#shared_reservation_constraint
- 약정과 연결된 예약은 수정/삭제는 불가하나, 새로운 예약으로 교체는 가능함. 약정과 예약은 같은 리전이어야함.
https://cloud.google.com/compute/docs/instances/signing-up-committed-use-discounts?hl=ko#purchasecommitmentgpuslocalssd
https://cloud.google.com/compute/docs/instances/reservations-with-commitments?hl=ko#committed_resources_that_require_attached_reservations
 

# Reservation 테스트

Project-1 에 Project-2를 공유설정하여 예약 설정: GPU 15개 (쿼터: 1,2 모두 16개)

Project-1 쿼터(16개까지 가능): 
 예약 설정한 15개가 잡힘

Project-2 쿼터(2개 사용중으로 14개까지 가능): 
 예약 외에 사용 중인 2개의 GPU만 잡힘