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

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

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

  • [差出人] セクションで [送信元] を [すべての送信元を許可] に設定します。
  • アイデンティティ 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. アクセス権のリクエスト ウィンドウで [許可] をクリックします。

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 は、バックフィルする範囲の開始時間を指定するtimestampです。 例: 2021-02-15T00:00:00Z2021 年 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 にそのデータをエクスポートできます。

  1. BigQuery に移動
  2. [Explorer] パネルで、プロジェクトとデータセットを開き、エクスポートされた二酸化炭素排出量データを含むテーブルを選択します。
  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

次のステップ