BigQuery への Cloud Billing データのエクスポートを設定する

このガイドでは、BigQuery への Cloud Billing データのエクスポートを有効にするために必要なすべての設定手順を説明します。

概要

Cloud Billing データを BigQuery にエクスポートするには、次の手順を行う必要があります。

  • Cloud Billing データを保存するプロジェクトを作成し、そのプロジェクトで課金を有効にします(まだ行っていない場合)。
  • プロジェクトと Cloud 請求先アカウントで権限を構成します。
  • BigQuery Data Transfer Service API を有効にします(料金データのエクスポートに必要です)。
  • データを保存する BigQuery データセットを作成します。
  • データセットに書き込む費用データと料金データの Cloud Billing エクスポートを有効にします。

このドキュメントでは、これらの各ステップについて詳しく説明します。

Cloud Console について

Google Cloud Console(ドキュメントを表示コンソールを開く)は、Google Cloud プロダクトを使用するシステムのプロビジョニング、構成、管理、モニタリングに使用されるウェブ UI です。Cloud Console を使用して、Google Cloud と Cloud Billing リソースを設定して管理します。

このタスクに必要な権限

Google Cloud 課金データの BigQuery データセットへのエクスポートを有効にして構成するには、次の権限が必要です。

また、Cloud Billing 料金データのエクスポートを有効にして構成するには、次の権限が必要です。

  • Cloud Billing 料金データの保存に使用する BigQuery データセットを含む Cloud プロジェクトに対する BigQuery 管理者のロール
  • ターゲット データセットを含む Cloud プロジェクトに対する resourcemanager.projects.update 権限。これは roles/editor ロールに含まれています。

場合によってはプロジェクトの権限も必要です。Google Cloud 組織のメンバーである場合、新しいプロジェクトを作成するには、組織またはフォルダに対するプロジェクト作成者のロールが必要です。新しいプロジェクトを作成するには、次の権限が必要です。

  • resourcemanager.organizations.get
  • resourcemanager.projects.create

Google Cloud の権限の詳細については、以下をご覧ください。

BigQuery への Cloud Billing データのエクスポートを有効にする

このセクションで詳細に説明する手順を完了して、BigQuery への Cloud Billing データのエクスポートを有効にします。

1. プロジェクトを選択または作成する

BigQuery にエクスポートされた Cloud Billing データは、BigQuery データセットに格納されます。データセットは、指定した Cloud プロジェクトに格納されています。

プロジェクトに関する推奨事項: エクスポートされた Cloud Billing データなど、請求管理に必要なリソースを格納する Cloud プロジェクトを作成することをおすすめします。この請求管理用の Cloud プロジェクトは、Cloud Billing API へのアクセスや、プログラムによる予算通知の Pub/Sub チャンネルなどの Cloud Billing 管理タスクにも使用できます。

重要: データセットの格納用に選択する Cloud プロジェクトは、BigQuery データセットへのエクスポートを予定しているデータを格納する同じ Cloud 請求先アカウントにリンクする必要があります。Cloud プロジェクトは、一度に 1 つの Cloud 請求先アカウントにのみリンクされます。Cloud 請求先アカウントは、1 つ以上のプロジェクトにリンクされます

Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

プロジェクト セレクタに移動

詳細については、プロジェクトの作成と管理をご覧ください。

2. 課金が有効になっていることを確認する

データセットの格納用に選択した Cloud プロジェクトで課金が有効になっており、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 データセットの格納用に使用しているのと同じ Cloud プロジェクトで有効にする必要があります。プロジェクト セクションの推奨事項に従っている場合、これは請求管理用の Google Cloud プロジェクトです。

BigQuery Data Transfer Service API を有効にする方法は次のとおりです。

  1. Google Cloud Console にログインし、API ページに移動します。

    BigQuery Data Transfer Service API ページに移動

  2. プロンプトが表示されたら、プロジェクトを選択します。BigQuery データセットの格納用に使用しているのと同じプロジェクトで BigQuery Data Transfer Service API を有効にする必要があります。プロジェクト セクションの推奨事項に従っている場合、これは請求管理用の Google Cloud プロジェクトです。

  3. BigQuery Data Transfer Service API ページで、[有効にする] をクリックして、選択したプロジェクトで API を有効にします。

API の有効化の詳細については、サービス使用状況のドキュメントをご覧ください。

4.BigQuery データセットを作成する

BigQuery への Cloud Billing データのエクスポートを有効にするには、まずエクスポートしたデータを管理するための BigQuery データセットを少なくとも 1 つ作成する必要があります。同じデータセットを使用して、1 日あたりの費用の詳細データと料金データの両方を格納できます。

データセットは、指定した Cloud プロジェクトに格納されています。データセットは、テーブルビューへのアクセスを整理して制御するために使用される最上位のコンテナです。テーブルまたはビューはデータセットに属していなければなりません。したがって、データを BigQuery に読み込む前に、1 つ以上のデータセットを作成する必要があります。

既存のデータセットを使用する場合は、顧客管理の暗号鍵が有効にされたデータセットを使用できないなど、課金データの BigQuery へのエクスポートに影響する制限事項を確認してください。

BigQuery データセットの作成手順は次のとおりです。

  1. Google Cloud Console にログインし、BigQuery ページに移動します。

    BigQuery ページに移動

  2. Google Cloud Console ページの上部にある [プロジェクト] プルダウン リスト( マイ プロジェクト )で、データセットの格納用に設定したプロジェクトを選択します。 次の手順で使用するため、プロジェクト ID をメモしておきます。

  3. [エクスプローラ] パネルの [固定したプロジェクト] セクションで、 your-project-ID クリックしてプロジェクトを開きます。プロジェクト ID の横にオーバーフロー メニュー)が表示される場合は、メニューをクリックして、[開く] を選択します。

  4. [データセットを作成] をクリックします。[データセットを作成] パネルが開きます。

    1. [データセット ID] を入力します。 プロジェクト固有の ID ではなく、all_billing_data など、プロジェクトにまたがる ID をおすすめします。
    2. [データのロケーション] を選択します。

      ロケーションについて: データのロケーションにより、データが保存されるリージョンが決まります。この場所は、このデータセット内のすべてのテーブルで共有されます。 データセットを作成するとき、デフォルトのロケーションは米国のマルチリージョンです。データセットを作成した後で、そのロケーションを変更することはできません。ロケーションの詳細をご覧ください。

    3. [デフォルトのテーブルの有効期限] を [無期限] に設定します。

      [無期限] を選択すると、データは保持されます。日数を入力した場合、このデータセットに作成された新しいテーブルは、作成日から指定日数が経過すると自動的に削除されます。重要: エクスポートされた Cloud Billing データレコードを含むテーブルを削除すると、それらのレコードは削除され、削除されたレコードをバックフィルすることはできません。

    4. [暗号化] オプションを [Google が管理する鍵] に設定します。

      Cloud Billing データレコードを BigQuery にエクスポートする場合、顧客管理の暗号鍵サポートされません

    5. 保存するには、[データセットを作成] をクリックします。

BigQuery への請求データのエクスポートに影響する可能性がある制限事項をご確認ください。

5. Cloud Billing の BigQuery データセットへのエクスポートを有効にする

Cloud Console の Cloud Billing セクションで Cloud Billing データのエクスポートを有効にします。

BigQuery への Cloud Billing データのエクスポートを有効にする手順は次のとおりです。

  1. Google Cloud Console にログインします。

    Cloud Console にログインする

  2. Console のナビゲーション メニュー)を開き、[お支払い] を選択します。

    複数の Cloud 請求先アカウントがある場合は、次のいずれかを行います。

    • 現在の Cloud プロジェクトの Cloud Billing を管理するには、[リンクされた請求先アカウントに移動] を選択します。
    • 別の Cloud 請求先アカウントを確認するには、[請求先アカウントを管理] を選択し、Cloud Billing データの BigQuery へのエクスポートを有効にする対象のアカウントを選択します。
  3. [お支払い] ナビゲーション メニューで [課金データのエクスポート] を選択します。

  4. [BigQuery エクスポート] タブを選択します(このタブはデフォルトで選択されています)。[BigQuery エクスポート] タブで、エクスポートする次の 2 種類のデータを有効にできます。

1 日あたりの費用の詳細データをエクスポートする

Cloud Billing の使用量と費用のデータのエクスポートを有効にするには、次のようにします。

  1. エクスポートを有効にする、またはエクスポート設定を更新するには、[設定を編集] をクリックします。
  2. [プロジェクト] リストから、BigQuery データセットを格納するように設定したプロジェクトを選択します。

    選択したプロジェクトは、エクスポートされた Cloud Billing データを BigQuery データセットに格納するために使用されます。エクスポートされた Cloud Billing データには、同じ Cloud 請求先アカウントによって支払われた Cloud プロジェクトすべての使用量 / 費用データが含まれます。

  3. [課金データのエクスポート先データセット] リストから、エクスポートした Cloud Billing データを格納するように設定したデータセットを選択します。

    ヒント:

    • BigQuery にデータをエクスポートするには、BigQuery API が必要です。選択したプロジェクトで BigQuery API が有効になっていない場合は、有効にするように求められます。[BigQuery API を有効にする] をクリックすると、API が有効になります。
    • 選択したプロジェクトに BigQuery データセットが含まれていない場合は、データセットを作成するよう求められます。必要に応じて、この手順に沿って新しいデータセットを作成します
    • 既存のデータセットを使用している場合は、データを顧客管理の暗号鍵を使用するように構成されたデータセットにエクスポートできないなど、BigQuery への請求データのエクスポートに影響する可能性がある制限事項を確認します。
  4. [保存] をクリックします。

料金データをエクスポートする

Cloud Billing 料金データのエクスポートを有効にするには、次の手順に従います。

  1. エクスポートを有効にする、またはエクスポート設定を更新するには、[設定を編集] をクリックします。
  2. [プロジェクト] リストから、BigQuery データセットを格納するように設定したプロジェクトを選択します。

    選択したプロジェクトは、エクスポートされた Cloud Billing の料金データを BigQuery データセットに格納するために使用されます。料金データは、選択したデータセット プロジェクトに関連付けられている Cloud 請求先アカウントに固有のものです。

  3. [課金データのエクスポート先データセット] リストから、エクスポートした Cloud Billing データを格納するように設定したデータセットを選択します。

    ヒント:

    • BigQuery にデータをエクスポートするには、BigQuery API が必要です。選択したプロジェクトで BigQuery API が有効になっていない場合は、有効にするように求められます。[BigQuery API を有効にする] をクリックすると、API が有効になります。
    • BigQuery Data Transfer Service API は、BigQuery に料金データをエクスポートする必要があります。選択したプロジェクトで BigQuery Data Transfer Service API が有効になっていない場合は、有効にするように求められます。必要に応じて、API を有効にする手順を行います。
    • 選択したプロジェクトに BigQuery データセットが含まれていない場合は、データセットを作成するよう求められます。必要に応じて、この手順に沿って新しいデータセットを作成します
    • 既存のデータセットを使用している場合は、データを顧客管理の暗号鍵を使用するように構成されたデータセットにエクスポートできないなど、BigQuery への請求データのエクスポートに影響する可能性がある制限事項を確認します。
  4. [保存] をクリックします。

データセットの権限について

BigQuery への Cloud Billing エクスポートでは、サービス アカウントを使用してデータセットの権限を管理します。

BigQuery への Cloud Billing のエクスポートを有効にすると、指定したデータセットにサービス アカウントがオーナーとして自動的に追加されます。サービス アカウントは次のようになります。

  • billing-export-bigquery@system.gserviceaccount.com

サービス アカウントは Google が所有、管理し、オフライン プロセスでテーブルを作成して Cloud Billing レコードを書き込むために必要な権限を備えています。

BigQuery への請求データのエクスポートに影響する可能性がある制限事項をご確認ください。

課金データテーブル

BigQuery への Cloud Billing のエクスポートを有効にした直後に、課金データテーブルが BigQuery データセットに自動的に作成されます。これらの BigQuery テーブルとテーブル スキーマの詳細については、BigQuery で自動作成されるデータテーブルについてをご覧ください。

データの読み込み頻度

  • BigQuery への 1 日あたりの費用詳細データのエクスポートを最初に有効にした際には、Google Cloud の費用データが表示されるまでに数時間かかる場合があります。
  • BigQuery への料金データのエクスポートを最初に有効にした際には、Google Cloud の料金データが表示されるまでに最大 48 時間かかる場合があります。

BigQuery テーブルへのデータの読み込み頻度の詳細については、データ読み込みの頻度をご覧ください。

制限事項

Cloud Billing データを BigQuery にエクスポートする場合、次の制限があります。

  • BigQuery データセットには、Cloud Billing エクスポートの設定日以降に発生した Google Cloud の請求データのみが反映されます。Google Cloud の請求データが過去にさかのぼって追加されることはありません。エクスポートを有効にする前の Cloud Billing データは表示されません。
  • BigQuery に請求データをエクスポートする場合、顧客管理の暗号鍵(CMEK)はサポートされません。請求データのデータセットに対して CMEK を有効にすると、Cloud Billing はデータセット内の適切なテーブルに請求データを書き込むことができなくなります。代わりに、データセットを構成して、Google が管理する鍵の暗号化を使用する必要があります。

Google Cloud Console で利用可能な費用と料金のレポート