二酸化炭素排出量をエクスポートする

Carbon Footprint データを BigQuery にエクスポートして、データ分析、カスタム ダッシュボードやレポートの作成を行います。

Carbon Footprint のエクスポートでは、選択した請求先アカウントで対象となる Google Cloud サービスの使用状況に関連付けられた温室効果ガスの推定排出量がキャプチャされます。

エクスポートを構成すると、エクスポートしたデータの保存とクエリのために使用される BigQuery リソースに対して課金されます。

始める前に

Carbon Footprint のエクスポートを作成するには、次の IAM ロールを使用することをおすすめします。

より正確には、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 の上り(内向き)ルールを定義する必要があります。

上り(内向き)ポリシールールの場合:

  • [From] セクションにあるソースを [すべてのソースを許可] に設定します。
  • ID 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 月まで遡ってバックフィルをリクエストすることもできます。

コンソール

次の手順に沿ってエクスポートを開始します。

  1. Carbon Footprint に移動
  2. [請求先アカウント] メニューから、エクスポートする Cloud 請求先アカウントを選択します。
  3. [エクスポート] をクリックして [BigQuery Data Transfer Service] を有効にし、[BigQuery Data Transfer Service] ページを開きます。
  4. [BigQuery Data Transfer Service] ページで次の操作を行います。
    1. [ソース] が [Google Cloud Carbon Footprint Exports] に設定されていることを確認します。
    2. [転送構成名] に表示名を入力します。
    3. [転送先の設定] で [データセット ID] フィールドをクリックします。新しい BigQuery データセットを作成してエクスポートされたテーブルをホストする場合は [新しいデータセットを作成] を選択します。または、既存の BigQuery データセットを選択します。
    4. [データソースの詳細] で、エクスポートする Cloud 請求先アカウント ID を確認します。必要に応じて、追加アカウントの ID をカンマ区切りのリストとして追加します。すべての請求先アカウント ID は、XXXXXX-XXXXXX-XXXXXX の形式にする必要があります。
  5. [保存] をクリックします。
  6. アクセス リクエスト ウィンドウで [Allow] をクリックします。

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 月までの履歴データをリクエストするには、次の手順でデータ バックフィルをスケジュールします。

コンソール

データ バックフィルをスケジュールするには、次の手順を行います。

  1. 作成した転送の詳細に移動します。
  2. [Schedule Backfill] をクリックします。
  3. [特定の期間で実行] を選択します。
  4. 2021 年 2 月 15 日を開始日として、今日の日付を終了日として選択します。2021 年 2 月 15 日のエクスポートには、2021 年 1 月のデータが含まれるため、リクエストできる最も早い月になります。
  5. [OK] をクリックして、データ バックフィルをリクエストします。

選択した範囲のデータ バックフィルが作成され、過去の月間データが宛先データセットにエクスポートされます。

bq

バックフィルの作成には、bq mk --transfer_run コマンドを使用します。

bq mk \
--transfer_run \
--start_time=START_TIME \
--end_time=END_TIME \
CONFIG

ここで

  • START_TIME は、バックフィルする範囲の開始時間を指定するタイムスタンプです。 例: 2021-02-15T00:00:00Z2021 年 2 月 15 日には 2021 年 1 月のデータが含まれているため、ここで指定できる最も早い日付です。
  • END_TIME は、バックフィルする範囲の終了時間を指定するタイムスタンプです。例: 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 にそのデータをエクスポートできます。

  1. BigQuery に移動
  2. [エクスプローラ] パネルで、プロジェクトとデータセットを開き、エクスポートされた二酸化炭素排出量データを含むテーブルを選択します。
  3. [クエリ] をクリックします。
  4. エクスポートするデータを返すクエリを入力します。 以下に例を示します。
  5. クエリが実行されたら、[クエリ結果] で [結果を保存] をクリックします。
  6. 目的のフォーマットを選択して、[保存] をクリックします。

次のクエリを使用すると、エクスポートされたテーブルの内容全体を保存できます。

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

次のステップ