[특정 Label 별로 Billing 대시보드를 만드는 방법] 2편 – Billing 정보를 BigQuery로 내보내기

by 라온클

개요

현재(2021년 9월) 아직 대부분의 퍼블릭 클라우드 서비스에서는 billing 대시보드에서 사용자 별로 생성한 리소스 비용을 확인하는 방법이 지원되지 않습니다. 대안으로, 각 사용자가 리소스를 생성할 때 Label(혹은 tag)를 붙여서 빌링 정보를 Label 별로 확인하는 방법이 있습니다. 

참고 : Understand the Cloud Billing data tables in BigQuery

본 가이드는 다음과 같은 구성으로 되어 있습니다.

본 가이드 2편은 ‘Billing 정보를 BigQuery로 내보내기’에 대해 설명합니다.

내용

1단계: Cloud Billing 데이터가 저장될 프로젝트에 결제 설정하기

1. 결제 계정 관리 페이지 > 내 프로젝트 탭으로 이동합니다.

https://console.cloud.google.com/billing/projects?hl=ko

2. Cloud Billing 데이터가 저장될 대상 프로젝트의 메뉴를 클릭 후, [결제 변경]을 클릭합니다.

3. Cloud Billing 계정을 선택 후, [계정 설정]을 클릭합니다.

2단계: 프로젝트 및 Cloud Billing 계정에 대한 권한을 구성하기

다음 권한이 필요합니다.

  • 해당 Billing 계정의 ‘Billing Account Administrator’
  • 해당 Billing 데이터를 저장하는 용도로 사용할 BigQuery 데이터 세트가 포함된 프로젝트의 ‘BigQuery User’
  • BigQuery Admin role for the Cloud project
  • 대상 데이터 세트가 포함된 프로젝트에 대한 ‘resourcemanager.projects.update’
    • 기본 editor역할에 포함되어 있음

3단계: BigQuery Data Transfer Service API를 사용 설정하기

1. Cloud Billing 가격 책정 데이터를 BigQuery로 내보내기 위해, BigQuery Data Transfer Service API를 활성화 설정합니다.

https://console.cloud.google.com/apis/library/bigquerydatatransfer.googleapis.com

4단계: Cloud Billing 데이터를 받을 BigQuery 데이터세트를 생성하기

BigQuery로 Cloud Billing 내보내기를 사용 설정하면 Cloud Billing 데이터 테이블이 BigQuery 데이터 세트에 자동으로 생성됩니다.

1. Cloud Billing 데이터를 저장할 BigQuery 데이터 세트를 생성합니다.

2. 이 때, 데이터세트의 정보는 다음과 같이 설정합니다.

  • Dataset ID : all_billing_data와 같이 프로젝트를 포함하는 ID 사용 권장
  • Data Location : 멀티리전인 us, eu 권장
  • Default table expiration : 사용 안함
  • Encryption : Google-managed encryption key

5단계: Cloud Billing을 BigQuery 데이터 세트로 내보내기 사용 설정하기

1. Billing 메뉴로 이동합니다.

https://console.cloud.google.com/billing

2. 1단계의 3번 절차에서 설정한 결제 계정을 선택합니다.

3. Billing Export 메뉴를 클릭합니다.

4. BigQuery Export 탭에서 Daily cost detail(일일 가격 세부정보) 섹션의 [Edit Setting]을 클릭합니다.

5. 대상 프로젝트와, 대상 데이터세트의 ID를 입력 후, [SAVE]를 클릭합니다. 

<설명>

  • 대상 프로젝트는 Cloud Billing 데이터가 저장되는 BigQuery 데이터 세트가 있는 프로젝트입니다.
  • 대상 데이터세트는 4단계에서 생성한 데이터세트를 말합니다.
  • 내보낸 Cloud Billing 데이터에는 동일한 Cloud Billing 계정으로 결제한 전체 클라우드 프로젝트에 대한 사용량/비용 데이터가 포함됩니다. 
    • 전체 클라우드 프로젝트가 아닌, 단일 프로젝트의 사용량/비용 데이터만 포함하려면 해당 Cloud Billing 계정에 한개의 프로젝트를 연결합니다.

6. 설정이 완료된 것을 확인합니다.

제한사항

  • BigQuery 데이터 세트에는 Cloud Billing 내보내기를 설정한 날짜부터 발생한 Google Cloud 결제 데이터만 반영됩니다. 즉, Google Cloud 결제 데이터는 소급하여 추가되지 않으므로 내보내기를 사용 설정하기 전의 Cloud Billing 데이터는 표시되지 않습니다.
  • 결제 데이터를 BigQuery로 내보낼 때는 고객 관리 암호화 키(CMEK)가 지원되지 않습니다. 데이터 세트에 CMEK를 사용 설정하면 Cloud Billing에서 해당 데이터 세트 내의 적절한 테이블에 결제 데이터를 쓰지 못하게 됩니다.

참고한 문서

You may also like