このガイドでは、BigQuery への Cloud Billing データのエクスポートを有効にするために必要なすべての設定手順を説明します。
Cloud Billing データを BigQuery にエクスポートするには、次の手順を行います。
- Cloud Billing データを保存するプロジェクトを作成し、そのプロジェクトで課金を有効にします(まだ行っていない場合)。
- プロジェクトと Cloud 請求先アカウントで権限を構成します。
- BigQuery Data Transfer Service API を有効にします(料金データのエクスポートに必要です)。
- データを保存する BigQuery データセットを作成します。
- データセットに書き込む費用データと料金データの Cloud Billing エクスポートを有効にします。
このドキュメントでは、これらの各ステップについて詳しく説明します。
Google Cloud コンソールについて
Google Cloud コンソール(ドキュメントを表示、コンソールを開く)は、Google Cloud プロダクトを使用するシステムのプロビジョニング、構成、管理、モニタリングに使用するウェブ UI です。Google Cloud コンソールを使用して、Google Cloud リソースと Cloud Billing リソースを設定して管理します。
このタスクに必要な権限
BigQuery データセットへの Google Cloud Billing の使用料金データのエクスポートを有効にして構成するには、次の権限が必要です。
- Cloud Billing については、対象の Cloud 請求先アカウントに対する、請求先アカウントの費用管理者ロールまたは請求先アカウント管理者ロールが必要です。
- BigQuery については、Cloud Billing データが格納される BigQuery データセットを含む Google Cloud プロジェクトに対して、BigQuery ユーザーのロールが必要です。
また、Cloud Billing 料金データのエクスポートを有効にして構成するには、次の権限が必要です。
- Cloud Billing については、対象の Cloud 請求先アカウントに対する、請求先アカウント管理者のロールが必要です。
- BigQuery については、Cloud Billing 料金データが格納される BigQuery データセットを含む Google Cloud プロジェクトに対して、BigQuery 管理者のロールが必要です。
- 対象のデータセットを含む Google Cloud プロジェクトには、
resourcemanager.projects.update
権限が必要です。この権限は、roles/editor
のロールに含まれています。
他のプロジェクト権限が必要になる場合もあります。Google Cloud 組織のメンバーで、新しいプロジェクトを作成するには、組織またはフォルダに対するプロジェクト作成者のロールが必要です。新しいプロジェクトを作成するには、次の権限が必要です。
resourcemanager.organizations.get
resourcemanager.projects.create
Google Cloud の権限の詳細については、以下をご覧ください。
Cloud Billing データを BigQuery にエクスポートできるようにする
このセクションで説明する 5 つの手順を完了して、BigQuery への Cloud Billing データのエクスポートを有効にします。
課金データのエクスポートを有効にして、BigQuery で Cloud Billing データのサンプルクエリを実行する方法については、課金データのエクスポートのインタラクティブなチュートリアルをご覧ください。
販売パートナーは、Partner Sales Console を使用して、チャネル サービスの課金データに対して販売パートナー固有のエクスポートを設定できます。その場合は、このページの手順 1~4 に沿って、プロジェクトと BigQuery データセットを作成します。さらに、手順 5 では、チャネル サービスのデータを BigQuery にエクスポートするの説明に従ってエクスポートを有効にします。
1. プロジェクトを選択または作成する
BigQuery にエクスポートされた Cloud Billing データは、BigQuery データセットに格納されます。データセットは、指定した Google Cloud プロジェクトに格納されます。
プロジェクトに関する推奨事項: 請求管理に必要なリソース(エクスポートされた Cloud Billing データを含む)を格納する Google Cloud プロジェクトを作成することをおすすめします。この請求管理用の Google Cloud プロジェクトは、Cloud Billing API へのアクセスや、プログラムによる予算通知の Pub/Sub チャンネルなどの Cloud Billing 管理タスクにも使用できます。
重要: データセットの格納用に選択する Google Cloud プロジェクトは、BigQuery データセットにエクスポートする予定のデータが含まれる同じ Cloud 請求先アカウントにリンクされている必要があります。Google Cloud プロジェクトは、常に 1 つの Cloud 請求先アカウントのみにリンクされています。Cloud 請求先アカウントは、1 つ以上のプロジェクトにリンクされています。
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
詳細については、プロジェクトの作成と管理をご覧ください。
2. 課金が有効になっていることを確認する
データセットの格納用に選択した Google Cloud プロジェクトで課金が有効になっていて、その Google Cloud プロジェクトが、BigQuery データセットにエクスポートする予定のデータが含まれる同じ Cloud 請求先アカウントにリンクされていることを確認する必要があります。
3. BigQuery Data Transfer Service API を有効にする
Cloud Billing の料金データを BigQuery にエクスポートする場合は、BigQuery Data Transfer Service API を有効にする必要があります。Cloud Billing の料金データをエクスポートする予定がない場合は、手順 4 BigQuery データセットを作成するにスキップします。
BigQuery Data Transfer Service API は、BigQuery データセットの格納に使用しているのと同じ Google Cloud プロジェクトで有効にする必要があります。プロジェクト セクションの推奨事項に従っている場合、これは請求管理用の Google Cloud プロジェクトです。
BigQuery Data Transfer Service API を有効にする方法は次のとおりです。
Google Cloud Console にログインし、API のページに移動します。
ページの左上で、プロジェクトを選択します。BigQuery データセットの格納に使用している同じプロジェクトで BigQuery Data Transfer Service API を有効にする必要があります。プロジェクト セクションの推奨事項に従っている場合、これは請求管理用の Google Cloud プロジェクトです。
BigQuery Data Transfer Service API ページで、[有効] をクリックして、選択したプロジェクトで API を有効にします。
API の有効化の詳細については、Service Usage のドキュメントをご覧ください。
4. BigQuery データセットを作成する
BigQuery への Cloud Billing データのエクスポートを有効にするには、エクスポートしたデータを管理する BigQuery データセットを事前に少なくとも 1 つ作成しておく必要があります。同じデータセットに標準の使用料金データ、詳細な使用料金データ、料金データを格納できます。
データセットは、指定した Google Cloud プロジェクトに格納されます。データセットは、テーブルとビューへのアクセスを整理して制御するために使用されるトップレベル コンテナです。テーブルまたはビューはデータセットに属していなければなりません。したがって、データを BigQuery に読み込む前に、1 つ以上のデータセットを作成する必要があります。
既存のデータセットを使用する場合は、BigQuery への課金データのエクスポートに影響する可能性のある制限事項を確認してください。たとえば、顧客管理の暗号鍵による暗号化を使用するように構成されたデータセットにデータをエクスポートしたり、サポート対象外のリージョン ロケーションで構成されたデータセットを使用したりすることはできません。
BigQuery データセットの作成手順は次のとおりです。
Google Cloud コンソールにログインし、[BigQuery] ページに移動します。
Google Cloud Console ページの上部にある [プロジェクト] プルダウン リスト(マイ プロジェクト 設定したプロジェクトを選択します。次のステップで使用するため、プロジェクト ID をメモしておきます。
)で、データセットの格納用に[エクスプローラ] パネルの固定したプロジェクトのセクションで、
your-project-ID をクリックしてプロジェクトを開き、既存のデータセットと保存済みクエリを確認します。プロジェクト ID の横にある [アクションを表示] メニュー(
)をクリックして、[データセットを作成] をクリックします。[データセットを作成] パネルが開きます。- データセット ID を入力します。プロジェクト固有の ID ではなく、all_billing_data など、プロジェクトにまたがる ID をおすすめします。
[データのロケーション] を選択します。データのロケーションは、データが保存されるマルチリージョンまたはリージョンを指定します。このロケーションは、このデータセット内のすべてのテーブルで共有されます。
マルチリージョン ロケーション(EU または米国)を選択することをおすすめします。標準の使用料金と詳細な使用料金データのエクスポートでは、選択したロケーションにより、前月のデータが遡及的にデータセットに追加されるかどうかが決まります。データセットのロケーションとデータの可用性について詳しくは、制限事項をご確認ください。
なお、Cloud Billing データのエクスポートでは、すべてのマルチリージョン ロケーション(EU または米国)がサポートされています。BigQuery への Cloud Billing データのエクスポートでは、データセットのリージョン ロケーションのサブセットのみがサポートされています。データセットのロケーションの詳細については、制限事項をご覧ください。
データセットを作成した後で、そのロケーションを変更することはできません。ロケーションに関する詳細をご覧ください。
[テーブルの有効期限を有効にする] オプションがオフになっていることを確認します。
テーブルの有効期限を有効にして日数を入力すると、このデータセットに作成された新しいテーブルは、作成後、指定した日数が経過すると自動的に削除されます。重要: エクスポートされた Cloud Billing データレコードを含むテーブルを削除すると、それらのレコードは消去され、削除されたレコードのバックフィルはできません。
[詳細オプション] セクションで、[暗号化] の設定が「Google が管理する暗号鍵」になっていることを確認します。
顧客管理の暗号鍵(CMEK)オプションは使用しないでください。Cloud Billing データレコードを BigQuery にエクスポートする場合、CMEK 暗号化はサポートされていません。
保存するため、[データセットを作成] をクリックします。
BigQuery への課金データのエクスポートに影響する可能性がある制限事項をご確認ください。
販売パートナーは、チャネル サービスの課金データに対して販売パートナー固有のエクスポートを有効にするときに作成したプロジェクトとデータセットを再利用できます。
5. Cloud Billing の BigQuery データセットへのエクスポートを有効にする
Google Cloud コンソールの Cloud Billing セクションで Cloud Billing データのエクスポートを有効にします。エクスポートできるデータの種類は次のとおりです。
標準的な使用料金データ - アカウント ID、請求書の日付、サービス、SKU、プロジェクト、ラベル、ロケーション、費用、使用量、クレジット、調整、通貨など、標準の Cloud 請求先アカウントの使用料金情報が含まれます。
標準的な使用量データのエクスポートを使用して、費用データの幅広い傾向を分析できます。
詳細な使用料金データ - Cloud 請求先アカウントの費用の詳細が含まれます。標準的な使用料金データに加えて、リソースレベルの費用データ(サービスの使用状況を生成する仮想マシンや SSD など)も含まれます。
詳細なエクスポートを使用して、リソースレベルでの費用を分析し、コスト増加を引き起こしている可能性のあるリソースを特定します。
詳細なエクスポートには、Compute Engine に関するリソースレベルの情報が自動的に含まれます。詳細なデータ エクスポートで Google Kubernetes Engine(GKE)クラスタの費用の内訳を表示するには、GKE の費用割り当ても有効にする必要があります。
料金データ - アカウント ID、サービス、SKU、プロダクト、地理的メタデータ、料金の単位、通貨、集計、階層など、Cloud 請求先アカウントの料金情報が含まれます。
Cloud Billing の使用料金データまたは料金データを BigQuery にエクスポートできるようにするには、次のようにします。
Google Cloud コンソールで [課金データのエクスポート] ページに移動します。
プロンプトで、課金データのエクスポートする Cloud 請求先アカウントを選択します。選択した請求先アカウントの [課金データをエクスポート] ページが表示されます。
[BIGQUERY EXPORT] タブで、エクスポートするデータの種類ごとに [設定を編集] をクリックします。各種類のデータを個別に構成します。
[プロジェクト] リストから、BigQuery データセットの格納用に設定したプロジェクトを選択します。
選択したプロジェクトは、エクスポートされた Cloud Billing データを BigQuery データセットに格納するために使用されます。
標準と詳細な使用料金データのエクスポートの場合、Cloud Billing データには、同じ Cloud 請求先アカウントによって支払われた Google Cloud プロジェクトのすべての使用量 / 費用データが含まれます。
料金データのエクスポートの場合、Cloud Billing データには、選択したデータセット プロジェクトにリンクされている Cloud 請求先アカウントに固有の料金データのみが含まれます。
[データセット ID] フィールドで、エクスポートした Cloud Billing データの格納用に設定したデータセットを選択します。
BigQuery にエクスポートされたすべてのタイプの Cloud Billing データには、以下が適用されます。
- BigQuery にデータをエクスポートするには、BigQuery API が必要です。選択したプロジェクトで BigQuery API が有効になっていない場合は、有効にするように求められます。[BigQuery API を有効化] をクリックして API を有効にします。
- 選択したプロジェクトに BigQuery データセットが含まれていない場合は、データセットを作成するよう求められます。必要に応じて、この手順に沿って新しいデータセットを作成します。
- 既存のデータセットを使用する場合は、BigQuery への課金データのエクスポートに影響する可能性のある制限事項を確認してください。たとえば、顧客管理の暗号鍵(CMEK)を使用するように構成されたデータセットにデータをエクスポートしたり、サポートされていないリージョン ロケーションで構成されたデータセットを使用したりすることはできません。
料金データのエクスポートの場合、BigQuery にデータをエクスポートするために BigQuery Data Transfer Service API が必要です。選択したプロジェクトで BigQuery Data Transfer Service API が有効になっていない場合は、有効にするように求められます。必要に応じて、API を有効にする手順を行います。
[保存] をクリックします。
エクスポートする Cloud Billing データを更新する
BigQuery への Cloud Billing データのエクスポートを有効にした後は、さまざまなタイプを無効または有効にすることで、エクスポートするデータを変更できます。
いずれかのタイプのデータ エクスポートを無効にする前に、BigQuery にエクスポートされる課金データに与える影響について、制限事項とデータ可用性のガイドラインを確認してください。
BigQuery にエクスポートされる Cloud Billing データのうち、いずれかのタイプを無効にする手順は次のとおりです。
- 必要に応じて [標準エクスポートを無効化]、[詳細なエクスポートを無効化]、[料金のエクスポートを無効化] のいずれかを選択します。
- [確認] を選択して、選択内容を保存します。
BigQuery へのエクスポートで現在無効なタイプの Cloud Billing を有効にするには、Cloud Billing データを BigQuery にエクスポートできるようにするをご覧ください。
データセットの権限について
BigQuery への Cloud Billing データのエクスポートでは、サービス アカウントを使用してデータセットの権限を管理します。
BigQuery への Cloud Billing データのエクスポートを有効にすると、指定したデータセットにサービス アカウントがオーナーとして自動的に追加されます。サービス アカウントは次のようになります。
- 標準の使用料金と詳細な使用料金のデータセットの場合:
billing-export-bigquery@system.gserviceaccount.com
- 価格データセットの場合:
cloud-account-pricing@cloud-account-pricing.iam.gserviceaccount.com
サービス アカウントは Google が所有、管理し、オフライン プロセスでテーブルを作成して Cloud Billing レコードを書き込むために必要な権限を備えています。
BigQuery への課金データのエクスポートに影響する可能性がある制限事項をご確認ください。
課金データテーブル
BigQuery への Cloud Billing のエクスポートを有効にした直後に、課金データテーブルが BigQuery データセットに自動的に作成されます。これらの BigQuery テーブルとテーブル スキーマの詳細については、BigQuery で自動作成されるデータテーブルについてをご覧ください。
データの読み込み頻度
- BigQuery への標準の使用料金または詳細な使用料金のエクスポートを最初に有効にしたとき、Google Cloud の費用データが BigQuery データセットに表示されるまでに数時間かかる場合があります。データは時系列でエクスポートされます。エクスポートに今月と前月に遡ってデータが含まれるように構成されている場合、エクスポートしたデータが現在の使用状況データに追いつくまでに最大 5 日ほどかかることがあります。
- BigQuery への料金データのエクスポートを初めて有効にした際には、Google Cloud の料金データが表示されるまでに最大 48 時間を要する場合があります。
BigQuery テーブルへのデータの読み込み頻度について学習する。
制限事項
Cloud Billing データを BigQuery にエクスポートする場合、次の制限があります。
Cloud Billing データの使用に対応している BigQuery データセットのロケーション
BigQuery データセットは、マルチリージョン(EU または米国)かリージョンのいずれかのロケーションを使用するように構成されています。データセットのロケーションは、データセットの作成時に設定します。データセットの作成後にロケーションを変更することはできません。
Cloud Billing データのエクスポートは、すべてのマルチリージョン ロケーション(EU または米国)をサポートしていますが、リージョン ロケーションではサブセットのみをサポートしています。Cloud Billing データのエクスポート設定を構成するときに、サポート対象外のリージョン ロケーションを使用するように構成されたデータセットを作成または選択すると、エクスポートの設定を保存する際に無効なデータセット リージョン エラーが表示されます。
次の表に、Cloud Billing データを保存する BigQuery データセットに使用可能なマルチリージョン ロケーションとリージョン ロケーションを示します。
南北アメリカ アジア太平洋 ヨーロッパ マルチリージョン: 米国
リージョン:
- northamerica-northeast1(モントリオール)
- southamerica-east1(サンパウロ)
- us-central1(アイオワ)
- us-east1(サウスカロライナ)
- us-east4(北バージニア)
- us-west1(オレゴン)
- us-west2(ロサンゼルス)
- us-west3(ソルトレイクシティ)
- us-west4(ラスベガス)
リージョン:
- asia-east1(台湾)
- asia-east2(香港)
- asia-northeast1(東京)
- asia-northeast2(大阪)
- asia-northeast3(ソウル)
- asia-south1(ムンバイ)
- asia-southeast1(シンガポール)
- asia-southeast2(ジャカルタ)
- australia-southeast1(シドニー)
マルチリージョン: EU
リージョン:
- europe-central2(ワルシャワ)
- europe-north1(フィンランド)
- europe-west1(ベルギー)
- europe-west2(ロンドン)
- europe-west3(フランクフルト)
- europe-west4(オランダ)
- europe-west6(チューリッヒ)
標準的な使用料金データまたは詳細な使用料金データを格納する BigQuery データセットの場合、データセットで構成したロケーションのタイプにより、データセットにエクスポートされる Google Cloud 課金データの対象期間が変わります。
- データセットがマルチリージョン ロケーション(EU または米国)を使用するように構成されている場合、エクスポートの再有効化を実施しない限り、エクスポートを最初に有効にした日の前月の始め以降に発生した Google Cloud 課金データがデータセットに保存されます。つまり、当月と前月の Google Cloud 課金データが遡及的に追加されます。エクスポートされたデータの最初のバックフィルでは、Cloud Billing データの遡及的なエクスポートが完了して現在の使用状況データが表示されるまでに最大で 5 日ほどかかる場合があります。
データセットがサポート対象のリージョン ロケーションを使用するよう構成されている場合、標準的な使用料金データと詳細な使用料金データには、Cloud Billing エクスポートを有効にした日付以降に発生した Google Cloud 課金データのみが反映されます。つまり、マルチリージョン以外のデータセット ロケーションの場合、Google Cloud の課金データが過去に遡って追加されることはなく、エクスポートを有効にする前の Cloud Billing データは表示されません。
詳細については、データの可用性をご覧ください。
料金データを格納する BigQuery データセットには、Cloud Billing データのエクスポートの設定日以降に発生した Google Cloud 課金データのみが保存されます。つまり、Google Cloud の料金データが過去に遡って追加されることはなく、エクスポートを有効にする前の Cloud Billing の料金データは表示されません。詳細については、データの可用性をご覧ください。
詳細な使用料金データをエクスポートすると、Compute Engine に関するリソースレベルの情報も自動的にエクスポートされます。詳細なデータ エクスポートで Google Kubernetes Engine(GKE)クラスタの費用の内訳を表示する場合は、GKE の費用割り当ても有効にする必要があります。
データセットの暗号化: BigQuery に課金データをエクスポートする際、顧客管理の暗号鍵(CMEK)はサポートされません。課金データを格納するデータセットで CMEK による暗号化を有効にすると、Cloud Billing はデータセット内の該当テーブルに課金データを書き込むことができなくなります。代わりに、Google が所有して管理する鍵をデータセットが使用できるようにする必要があります。
エクスポートされたデータを格納するテーブルで BigQuery の行レベルのセキュリティを使用するには、BigQuery の
TRUE
フィルタを使用して、テーブルに対する完全アクセス権を Cloud Billing エクスポート サービス アカウントbilling-export-bigquery@system.gserviceaccount.com
に付与する必要があります。次のコマンドで Cloud Billing サービス アカウントにアクセス権を付与します。CREATE ROW ACCESS POLICY cloud_billing_export_policy ON `__project_id__.__dataset_id__.__table_id__` GRANT TO ('serviceAccount:billing-export-bigquery@system.gserviceaccount.com') FILTER USING (TRUE);
リソースレベルのタグが BigQuery のエクスポートに反映されるまで、最長で 1 時間ほどかかることがあります。1 時間以内にタグが追加または削除された場合、あるいはリソースの存在時間が 1 時間に満たない場合、タグがエクスポートに含まれない可能性があります。
リソースレベルのタグは、次のリソースで使用できます。
- Compute Engine インスタンス
- Spanner インスタンス
- Cloud Run サービス
- Artifact Registry リポジトリ
VPC Service Controls を使用している場合、BigQuery のエクスポートがブロックされることがあります。この問題を解決するには、VPC を手動で除外する必要があります。
関連トピック
エクスポートされた Cloud Billing データに関連するトピック
- BigQuery の Cloud Billing データテーブルについて
- BigQuery への Cloud Billing エクスポート データに対するクエリの例
- Looker Studio で一定期間の利用額を可視化する
Google Cloud コンソールで利用可能な費用と料金のレポート
- Cloud Billing レポートと費用傾向の表示
- 請求書または明細書の費用詳細の表示とダウンロード
- Google のクラウド サービスの料金を表示し、ダウンロードする
- 費用の内訳レポートでコスト削減を把握する
- 確約利用割引の効果の分析
- 費用とお支払い履歴の表示