탄소 발자국 내보내기
데이터 분석을 수행하거나 커스텀 대시보드 및 보고서를 만들기 위해 탄소 발자국 데이터를 BigQuery로 내보낼 수 있습니다.
탄소 발자국 내보내기를 수행하면 선택한 결제 계정에 대한 포함된 Google Cloud 서비스 사용과 관련된 추정 온실가스 배출량이 캡처됩니다.
내보내기를 구성한 후에는 내보낸 데이터를 저장하고 쿼리하는 데 사용된 BigQuery 리소스에 대한 비용이 부과됩니다.
시작하기 전에
탄소 발자국 내보내기를 만들려면 다음 IAM 역할이 권장됩니다.
- 내보낼 Google Cloud 프로젝트에 대한 프로젝트 소유자 또는 프로젝트 편집자
- 탄소 데이터를 내보낼 청구 계정에 대한 탄소 발자국 뷰어 또는 청구 계정 뷰어
더 자세히 말하자면 Google Cloud 프로젝트에 대해 다음 IAM 권한이 있어야 합니다.
resourcemanager.projects.updateserviceusage.services.enablebigquery.transfers.update
그리고 청구 계정에 대해 다음 IAM 권한이 있어야 합니다.
billing.accounts.getCarbonInformation
VPC 서비스 제어를 사용하는 경우
조직에서 VPC 서비스 제어를 사용하는 경우 BigQuery API 및 BigQuery Data Transfer Service API에 대해 인그레스 규칙을 정의해야 합니다.
인그레스 정책 규칙의 경우:
- '시작' 섹션에서 소스를 '모든 소스 허용'으로 설정합니다.
els-da-carbon@gcp-carbon-footprint-exports.iam.gserviceaccount.comID에 권한을 부여합니다.
BigQuery에 탄소 발자국 내보내기 구성
탄소 발자국 데이터는 BigQuery Data Transfer Service를 통해 내보냅니다.
데이터 전송을 수행하면 선택한 BigQuery 데이터 세트에 carbon_footprint라는 월별 파티션을 나눈 테이블이 생성됩니다.
탄소 발자국은 매월 데이터를 다음 달 15일에 내보냅니다. 예를 들어 2022년 9월의 탄소 데이터는 2022년 10월 15일에 내보���집니다.
탄소 발자국 전송 구성이 생성된 다음에는 매월 15일 탄소 보고서 내보내기가 자동으로 수행됩니다. 또한 백필을 실행하여 2021년 1월까지 이전 데이터를 요청할 수 있습니다.
콘솔
내보내기를 시작하려면 다음 단계를 수행합니다.
- 탄소 발자국으로 이동
- 청구 계정 메뉴에서 내보내려는 Cloud Billing 계정을 선택합니다.
- 데이터 내보내기를 클릭하여 내보내기를 구성하는 측면 패널을 엽니다.
- 탄소 발자국 데이터 내보내기를 위한 프로젝트를 선택한 다음 내보내기 만들기를 클릭합니다.
- BigQuery Data Transfer Service 페이지에서 다음을 수행합니다.
- 소스가 'Google Cloud 탄소 발자국 내보내기'로 설정되어 있는지 확인합니다.
- 전송 구성 이름에 표시 이름을 입력합니다.
- 대상 설정에서 데이터 세트 ID 필드를 클릭한 후 내보낸 테이블을 호스팅하려는 BigQuery 데이터 세트를 새로 만들려면 새 데이터 세트 만들기를 선택하고, 그렇지 않으면 기존 BigQuery 데이터 세트를 선택합니다.
- 데이터 소스 세부정보에서 내보낼 Cloud Billing 계정 ID를 확인합니다. 선택적으로 추가 계정 ID를 쉼표로 구분된 목록으로 추가합니다. 모든 청구 계정 ID는
XXXXXX-XXXXXX-XXXXXX형식이어야 합니다.
- 저장을 클릭합니다.
- 액세스 요청 창에서 허용을 클릭합니다.
bq
bq mk --transfer_config 명령어를 사용하여 내보내기를 시작합니다.
bq mk \ --transfer_config \ --target_dataset=DATASET \ --display_name=NAME \ --params='{"billing_accounts":"BILLING_ACCOUNT_IDS"}' \ --data_source='61cede5a-0000-2440-ad42-883d24f8f7b8'
각 항목의 의미는 다음과 같습니다.
- DATASET는 전송 구성 대상 데이터 세트입니다.
- NAME은 전송 구성의 표시 이름입니다. 예를 들면 '회사 탄소 보고서'입니다.
- BILLING_ACCOUNT_IDS는 청구 계정 ID 또는 쉼표로 구분된 청구 계정 ID 목록입니다. 예를 들면
XXXXXX-XXXXXX-XXXXXX,XXXXXX-XXXXXX-XXXXXX입니다.
Terraform
bigquery_data_transfer_config Terraform 리소스를 사용하여 내보내를 만듭니다.
resource "google_bigquery_data_transfer_config" "RESOURCE_NAME" { display_name = "NAME" data_source_id = "61cede5a-0000-2440-ad42-883d24f8f7b8" destination_dataset_id = google_bigquery_dataset.DATASET.dataset_id params = { billing_accounts = "BILLING_ACCOUNT_IDS" } }
각 항목의 의미는 다음과 같습니다.
- RESOURCE_NAME은 Terraform 리소스의 이름입니다.
예를 들면
carbon_export입니다. - NAME은 전송 구성의 표시 이름입니다. 예를 들면 '회사 탄소 보고서'입니다.
DATASET는 내보내기 대상 데이터 세트로 사용할
google_bigquery_datasetTerraform 리소스의 이름입니다.BILLING_ACCOUNT_IDS는 청구 계정 ID 또는 쉼표로 구분된 청구 계정 ID 목록입니다. 예를 들면
XXXXXX-XXXXXX-XXXXXX,XXXXXX-XXXXXX-XXXXXX입니다.
이제 전송 구성이 생성되었고 다음 달 15일마다 데이터를 내보냅니다.
전송 구성은 이전 데이터를 자동으로 내보내지 않습니다. 2021년 1월까지 이전 데이터를 다시 요청하려면 다음 단계에 따라 데이터 백필을 예약합니다.
콘솔
다음 단계에 따라 데이터 백필을 예약합니다.
- 바로 전에 만든 데이터 세부정보로 이동합니다.
- 백필 예약을 클릭합니다.
- 특정 기간에 실행을 선택합니다.
- 시작 날짜를 2021년 2월 15일로 선택하고 종료 날짜를 오늘 날짜로 선택합니다. 2021년 2월 15일 내보내기는 2021년 1월 데이터를 포함하므로, 요청할 수 있는 가장 이른 달입니다.
- 확인을 클릭하여 데이터 백필을 요청합니다.
선택한 범위에 대해 데이터 백필이 생성되고 대상 데이터 세트로 이전 월간 데이터를 내보냅니다.
bq
bq mk --transfer_run 명령어를 사용하여 백필을 만듭니다.
bq mk \ --transfer_run \ --start_time=START_TIME \ --end_time=END_TIME \ CONFIG
각 항목의 의미는 다음과 같습니다.
- START_TIME은 백필 범위의 시작 시간을 지정하는 타임스탬프입니다.
예를 들면
2021-02-15T00:00:00Z입니다. 2021년 2월 15일은 2021년 1월 데이터를 포함하므로 여기에서 지정할 수 있는 가장 이른 날짜입니다. - END_TIME은 백필 범위의 종료 시간을 지정하는 타임스탬프입니다.
예를 들면
2022-09-15T00:00:00Z입니다. 현재 날짜를 사용할 수 있습니다. - TRANSFER_CONFIG는 이전 단계에서 만든 전송의 식별자입니다.
예를 들면
projects/0000000000000/locations/us/transferConfigs/00000000-0000-0000-0000-000000000000입니다.
데이터를 내보낸 후에는 BigQuery를 사용하여 데이터를 보고 쿼리할 수 있습니다. 데이터 스키마에 대해 자세히 알아보세요.
앞에서 선택한 프로젝트에 대해 BigQuery 사용자 IAM 역할을 부여하여 조직 내 다른 사용자에게 내보낸 데이터를 공유할 수 있습니다. 또는 BigQuery 데이터 뷰어 IAM 역할을 사용하여 데이터 세트 또는 테이블 수준에서 미세하게 조정된 액세스 권한을 부여할 수 있습니다.
탄소 발자국 내보내기 관리
데이터 내보내기를 클릭하고 측면 패널을 열면 기존의 모든 탄소 발자국 내보내기를 확인할 수 있습니다.
그런 다음 전송 이름을 클릭하여 BigQuery Data Transfer Service로 이동하거나 데이터 세트 이름을 클릭하여 대상 데이터 세트를 확인하여 각 탄소 발자국 내보내기를 관리할 수 있습니다. 전송 작업에 대해 자세히 알아보세요.
Google Sheets 또는 CSV로 내보내기
BigQuery로 탄소 발자국 내보내기를 구성하고 예약된 내보내기가 완료되었으면 BigQuery에서 Google Sheets 또는 CSV로 데이터를 내보낼 수 있습니다.
- BigQuery로 이동
- 탐색기 패널에서 프로젝트 및 데이터 세트를 확장한 후 내보낸 탄소 발자국 데이터가 포함된 테이블을 선택합니다.
- 쿼리를 클릭합니다.
- 내보내려는 데이터를 반환하는 쿼리를 입력합니다. 아래에서 예시를 참조하세요.
- 쿼리가 실행된 후 쿼리 결과에서 결과 저장을 클릭합니다.
- 원하는 형식을 선택하고 저장을 클릭합니다.
다음 쿼리를 사용하면 내보낸 테이블의 전체 콘텐츠를 저장할 수 있습니다.
SELECT
usage_month,
billing_account_id,
project.number AS project_number,
project.id AS project_id,
service.id AS service_id,
service.description AS service_description,
location.location AS location,
location.region AS region,
carbon_model_version,
carbon_footprint_kgCO2e.scope1 AS carbon_footprint_scope1,
carbon_footprint_kgCO2e.scope2.location_based AS carbon_footprint_scope2_location_based,
carbon_footprint_kgCO2e.scope3 AS carbon_footprint_scope3,
carbon_footprint_total_kgCO2e.location_based AS carbon_footprint_total_location_based
FROM
`PROJECT.DATASET.carbon_footprint`
ORDER BY
usage_month DESC,
carbon_footprint_total_location_based DESC