Google Cloud Billing export 설정
이 가이드에서는 Google Cloud의 billing export 서비스를 사용하여 BigQuery에서 사용할 수 있는 데이터 세트를 내보낼 수 있도록 합니다.
빌링 서비스에서 빌링 내보내기 기능 활성화 하기
왼쪽 상단의 탐색 메뉴(☰)에서 ‘Billing’ > ‘Go to Linked billing account’선택.
- 왼쪽 결재계정 드롭다운에서 올바른 결제계정을 선택.
- ‘Billing Export’ 선택.
- Standard usage cost 에서 edit settings 선택.
- 적절한 프로젝트 선택.
- 새로운 데이터세트 생성 선택.
- 우측 활성화된 사이드바에서 데이터 세트 이름을 기입.
- 위치 타입을 지정하고 위치를 선택. 아래 가이드를 확인한 후 선택하세요.
데이터 세트 위치 설정 가이드
1. 왜 리전 선택이 가장 중요한가요?
- 변경 불가: 데이터세트 리전은 생성 후 절대 변경할 수 없습니다. 잘못 선택하면 데이터세트를 삭제하고 다시 만들어야 합니다.
- 비용 직결: 리전 선택이 잘못되면 불필요한 네트워크 비용이 지속적으로 발생할 수 있습니다.
- 성능 저하: 리전이 다르면 데이터를 분석(쿼리)할 때마다 속도가 느려집니다.
2. 어떤 리전을 선택해야 하나요? (Action Plan)
- 1순위 원칙: 내가 사용하는 서버(Compute Engine), 스토리지(Cloud Storage) 등 주요 GCP 서비스가 있는 리전과 동일하게 설정하세요.
- 확인 방법: 내 프로젝트의 다른 서비스들이 어느 리전에 있는지 먼저 확인하고 데이터세트 리전을 결정하세요.
3. 잘못된 리전 선택의 예시 (비용 발생 시나리오)
- 상황 - 내 서버와 스토리지는 모두 서울 리전에 있지만, 실수로 BigQuery 데이터세트를 미국 리전에 만든 경우
- 문제 - 서울에 있는 데이터를 분석하기 위해 쿼리를 날릴 때마다 미국에 있는 BigQuery와 통신해야 합니다. 이 과정에서 리전 간 데이터 이동(네트워크 이그레스) 요금이 추가로 발생하며, 응답 속도도 느려집니다.
4. “단일 리전” vs “멀티 리전”
- 단일 리전 (Single Region): asia-northeast3 (서울)처럼 특정 도시 하나를 의미합니다. 성능과 비용 예측에 가장 유리하므로 특별한 경우가 아니면 단일 리전을 선택하세요.
- 멀티 리전 (Multi-Region): ASIA처럼 여러 국가를 포함하는 넓은 권역입니다. 데이터가 아시아 내 여러 데이터센터 중 한 곳에 저장될 수 있습니다. 법규 준수 등 특수한 목적이 아니라면 결제 데이터 분석 용도로는 잘 사용하지 않습니다.
5. 시나리오 예시
- 데이터세트 위치: BigQuery 테이블 데이터가 물리적으로 저장 및 관리되는 GCP 리전입니다. (예: asia-northeast3)
- 소스 데이터 위치: BigQuery로 수집될 원본 데이터가 저장된 위치입니다. (예: Cloud Storage 버킷 리전, Compute Engine 리전)
- 이그레스(egress): 타 리전과 네트워크 통신으로 발생하는 데이터 이동 비용
시나리오 1: 최적 구성 - 모든 구성 요소의 위치 일치
- 데이터세트 위치: asia-northeast3 (서울)
- 소스 데이터 위치: asia-northeast3 (서울)
분석: 비용 (Cost)
소스 데이터에서 BigQuery 데이터세트로 데이터를 로드할 때, 동일 리전 내의 데이터 전송은 과금되지 않으므로 네트워크 비용이 발생하지 않습니다. 이는 가장 비용 효율적인 아키텍처입니다.
성능 (Performance)
데이터 수집(Ingestion) 및 쿼리 처리 과정에서 발생하는 네트워크 지연 시간(Latency)이 최소화됩니다. 결과적으로 가장 높은 처리 속도와 성능을 보장합니다.
결론
데이터 분석 시스템의 표준 아키텍처로서, 비용과 성능 측면에서 가장 권장되는 구성입니다.
시나리오 2: 비효율 구성 - 데이터세트와 소스 데이터의 위치 불일치
- 데이터세트 위치: asia-northeast3 (서울)
- 소스 데이터 위치: us-central1 (미국 중부)
분석: 비용 (Cost)
미국 리전의 소스 데이터가 서울 리전의 BigQuery로 전송될 때, 리전 간 네트워크 송신(Egress) 비용이 발생합니다. 데이터의 양이 클수록 이 비용은 상당한 부담으로 작용할 수 있습니다.
성능 (Performance)
물리적 거리가 먼 리전 간의 데이터 전송은 로딩 작업의 지연 시간을 크게 증가시켜 전체 데이터 파이프라인의 성능 저하를 야기합니다.
결론
데이터 수집 단계에서 지속적인 비용 발생과 성능 저하를 유발하므로 반드시 지양해야 하는 구성입니다.
위 가이드를 숙지한 후 설정한 프로젝트와 데이터 세트의 위치가 성공적으로 설정되었는지 확인합니다.
모든 내용이 성공적으로 완료된 후 다음 BigQuery 설정으로 넘어갑니다.