二酸化炭素排出量をエクスポートする
Carbon Footprint データを BigQuery にエクスポートして、データ分析、カスタム ダッシュボードやレポートの作成を行います。
Carbon Footprint のエクスポートでは、選択した請求先アカウントで対象となる Google Cloud サービスの使用状況に関連付けられた温室効果ガスの推定排出量がキャプチャされます。
エクスポートを構成すると、エクスポートされたデータの保存とクエリに使用される BigQuery リソースに対して課金されます。
始める前に
Carbon Footprint エクスポートを作成するには、次の IAM ロールがあることをおすすめします。
- エクスポート先の Google Cloud プロジェクトのプロジェクト オーナーまたはプロジェクト編集者。
- 二酸化炭素データをエクスポートする請求先アカウントに対する Carbon Footprint 閲覧者または請求先アカウント閲覧者。
より正確には、Google Cloud プロジェクトに対する次の IAM 権限が必要です。
resourcemanager.projects.update
serviceusage.services.enable
bigquery.transfers.update
および、請求先アカウントに対する次の IAM 権限。
billing.accounts.getCarbonInformation
VPC Service Controls を使用する場合
組織で VPC Service Controls を使用している場合は、BigQuery API と BigQuery Data Transfer Service API の上り(内向き)ルールを定義する必要があります。
上り(内向き)ポリシールールの場合:
- [差出人] セクションで [送信元] を [すべての送信元を許可] に設定します。
- アイデンティティ
els-da-carbon@gcp-carbon-footprint-exports.iam.gserviceaccount.com
に権限を付与します。
BigQuery への Carbon Footprint エクスポートの構成
Carbon Footprint データは BigQuery Data Transfer Service 経由でエクスポートされます。データ転送により、任意の BigQuery データセットに carbon_footprint
という名前の月単位のパーティション分割テーブルが作成されます。
Carbon Footprint は、各月のデータを翌月の 15 日にエクスポートします。たとえば、2022 年 9 月の炭素データは 2022 年 10 月 15 日にエクスポートされます。
Carbon Footprint トの転送構成が作成されると、毎月 15 日に、将来の炭素レポートが自動的にエクスポートされます。バックフィルを実行して、2021 年 1 月までの履歴データをリクエストすることもできます。
コンソール
次の手順に沿ってエクスポートを開始します。
- [Carbon Footprint] に移動
- [請求先アカウント] メニューから、エクスポートする Cloud 請求先アカウントを選択します。
- [エクスポート] をクリックして [BigQuery Data Transfer Service] を有効にし、[BigQuery Data Transfer Service] ページを開きます。
- [BigQuery Data Transfer Service] ページで次の操作を行います。
- [ソース] が [Google Cloud Carbon Footprint Exports] に設定されていることを確認します。
- [転送構成名] に、表示名を入力します。
- [転送先の設定] で [データセット ID] フィールドをクリックします。新しい BigQuery データセットを作成してエクスポートされたテーブルをホストする場合は [新しいデータセットを作成] を選択します。または、既存の BigQuery データセットを選択します。
- [データソースの詳細] で、エクスポートする Cloud 請求先アカウント 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 は、転送構成の表示名です。 たとえば、「Company Carbon Report」です。
- 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 は、転送構成の表示名です。 たとえば、「Company Carbon Report」です。
DATASET は、エクスポートのターゲット データセットとして使用する
google_bigquery_dataset
Terraform リソースの名前です。BILLING_ACCOUNT_IDS は、請求先アカウント ID または請求先アカウント ID のカンマ区切りのリストです。例:
XXXXXX-XXXXXX-XXXXXX,XXXXXX-XXXXXX-XXXXXX
これで転送構成が作成され、毎月 15 日にデータがエクスポートされます。
転送構成では、過去のデータは自動的にエクスポートされません。2021 年 1 月までの履歴データをリクエストするには、次の手順でデータ バックフィルをスケジュールします。
コンソール
データ バックフィルをスケジュールするには、次の手順を行います。
- 作成した移行の詳細に移動します。
- [Schedule Backfill] をクリックします。
- [期間を指定して実行] を選択します。
- [開始日] として 2021 年 2 月 15 日を選択し、[終了日] として今日の日付を選択します。2021 年 2 月 15 日のエクスポートには 2021 年 1 月のデータが含まれるため、この日付がリクエストできる最も早い月となります。
- [OK] をクリックして、データ バックフィルをリクエストします。
選択した範囲に対してデータ バックフィルが作成され、過去の月次データが宛先データセットにエクスポートされます。
bq
バックフィルの作成には、bq mk --transfer_run
コマンドを使用します。
bq mk \ --transfer_run \ --start_time=START_TIME \ --end_time=END_TIME \ CONFIG
ここで
- START_TIME は、バックフィルする範囲の開始時間を指定するtimestampです。
例:
2021-02-15T00:00:00Z
2021 年 1 月のデータが含まれているため、ここで指定できる最も早い日付は 2021 年 2 月 15 日です。 - END_TIME は、バックフィルする範囲の終了時間を指定するtimestampです。例:
2022-09-15T00:00:00Z
現在の日付を使用できます。 - TRANSFER_CONFIG は、前の手順で作成した転送の ID です。
例:
projects/0000000000000/locations/us/transferConfigs/00000000-0000-0000-0000-000000000000
。
データがエクスポートされたら、BigQuery を使用してデータを表示してクエリできます。 詳しくは、データスキーマをご覧ください。
エクスポートしたデータを組織内の他のユーザーと共有するには、前に選択したプロジェクトに対する BigQuery ユーザー IAM ロールを付与します。または、BigQuery データ閲覧者の IAM ロールを使用して、データセット レベルまたはテーブルレベルできめ細かいアクセス権を付与することもできます。
Carbon Footprint のエクスポートの管理
Carbon Footprint のエクスポートは、BigQuery Data Transfer Service を介して管理できます。転送の操作の詳細について確認する。
Google スプレッドシートまたは CSV へのエクスポート
BigQuery への温室効果ガス排出量のエクスポートを構成し、スケジュールされたエクスポートが完了したら、BigQuery から Google スプレッドシートまたは CSV にそのデータをエクスポートできます。
- BigQuery に移動
- [Explorer] パネルで、プロジェクトとデータセットを開き、エクスポートされた二酸化炭素排出量データを含むテーブルを選択します。
- [クエリ] をクリックします。
- エクスポートするデータを返すクエリを入力します。 以下に例を示します。
- クエリの実行が完了したら、[クエリ結果] で [結果を保存] をクリックします。
- 目的のフォーマットを選択して、[保存] をクリックします。
次のクエリを使用すると、エクスポートされたテーブルのコンテンツ全体を保存できます。
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
次のステップ
- 書き出しで使用されるデータスキーマについてをご覧ください。
- Google Cloud コンソールで総カーボン フットプリントを確認する。
- エクスポートしたデータでカスタム ダッシュボードを作成する。
- Carbon Footprint の手法について理解する。