GCP Billing(이하 빌링)에 대해서 알아보자.
목차는 다음과 같다.
요약하자면 Google Cloud 리소스 사용에 대한 비용을 추적 및 파악 그리고 최적화를 할 수 있도록 지원하는 서비스 및 도구 모음이다.
우선 파트너 모델에 들어가기 앞서, 아래 다이어그램으로 GCP의 결제 시스템이 기본적으로 어떻게 두 가지 역할로 분리(Decoupling)되어 있는지 살펴보았다.
'계산서'와 '실제 지갑'의 관계로 생각하면 이해하기 쉽다.
메가존을 통한 결제(Sub Account 모델)에 있어서 해당 구조가 파트너사 위주로 돌아가게 된다.
여기서 “Sub Account” 에 대해서 알아보자.
리셀러 파트너(예: 메가존소프트)에서 만들어 둔 최상위 계정(부모) 산하에 Sub Account(하위 결제 계정)을 각 고객사 별로 만들어서 제공하게 된다.
아래는 하위계정(Sub Account)에 대한 구글 결제 흐름 다이어그램이다.

여기서 청구 방식에 대해 좀 더 알아보았다.
셀프 서비스(카드 결제) = 온라인으로 카드 등록하고 바로 시작. 자동 결제
인보이스(은행 송금) = Google이 청구서를 보내면 계좌이체로 납부. 자격 심사 필요
여기서 중요한 점은, “리셀러의 부모 결제 계정은 반드시 인보이스 결제”여야 한다는 점이다.
이유는 다음과 같다.
이렇게 찾다 보니, 메가존의 수익 모델에 대해 예상해보았다.
내가 이해한 바로는, ‘구글 서비스를 대신 판매하는 중개인’ 역할이 사업 모델인 것 같았다.
→ MSP(Managed Service Provider, 관리형 서비스 제공자) 또는 퍼블릭 클라우드 리셀러(Reseller)라고도 부른다.
파트너 마진
구글로부터 클라우드 리소스를 일반 고객보다 저렴한 도매가(할인가)에 대량으로 공급 받은 후, 고객사에게는 할인가로 제공하여 차액을 수익화
부가 가치 서비스 (Value-Added Services) 제공
고객사들에게 단순히 결제 대행만 하는것이 아닌, 메가존은 클라우드를 중개하면서 다음과 같은 필수 '부가 서비스'를 제공하고 수익화
"이 프로젝트들의 요금을 누가, 어떻게 낼 것인가"를 정의하는 객체이다.
특히, 리소스는 하나도 없다. 오로지 결제수단, 비용 데이터만 들어있다.
여기가 설계 의도인데, "누가 소유하는가"와 "누가 돈을 내는가"가 현실에서 자주 다르기 때문이다.
이걸 조직 계층에 묶기엔 책임이 너무 커져서 별도 객체로 만든 것이다.
결제 계정 변경은 특정 프로젝트에 연결된 기존 A 결제 계정을 B 결제 계정으로 교체하는 작업이다.
앞서 말한 프로젝트 권한과 결제 권한이 분리됨에 따라, GCP에서 Billing 변경또한 각 권한을 가지고 있어야 맵핑이 가능하다.
프로젝트 측면의 권한 (기존 선을 끊고 새 선을 연결할 권한)
프로젝트 소유자(Owner) 또는 프로젝트 결제 관리자(Billing Project Manager)새로운 결제 계정 측면의 권한 (내 지갑을 열어줄 권한)
결제 계정 사용자(Billing Account User) 또는 결제 계정 관리자(Administrator)즉, 아무리 프로젝트의 최고 관리자(Owner)라고 해도 돈을 내줄 새로운 결제 계정의 사용 권한(Billing Account User)이 본인에게 없다면 결제를 마음대로 가져와서 붙일 수 없다.
양쪽 모두에 권한을 가진 사용자만이 콘솔에서 두 개를 매핑(연결)할 수 있다.
관리자가 콘솔에서 수동으로 변경하는 것 외에도, 대규모 조직에서는 Cloud Billing API를 활용하여 프로그래매틱(자동화) 방식으로 결제 계정을 연결하거나 변경할 수 있다.
해당 내용은 다음 주제(APIs & Services) 에서 다루겠다.