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 つ作成する必要があります。同じデータセットを使用して、標準の使用料金データ、詳細な使用料金データ、料金データを格納できます。

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

新しいデータセットを作成する場合は、米国(US)欧州連合(EU)などのロケーションに対してマルチリージョン オプションを選択することをおすすめします。たとえば、詳細な使用料金データは、マルチリージョンの US データセットと EU データセットでのみサポートされています。

既存のデータセットを使用する場合は、顧客管理の暗号鍵が有効にされたデータセットを使用できないか、または詳細な使用料金データにマルチリージョン データセットが必要であるなど、課金データの 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. [データのロケーション] を選択します。注: データのロケーションにより、データが保存されるリージョンが決まります。この場所は、このデータセット内のすべてのテーブルで共有されます。

      データセットを作成する際は、米国(US)欧州連合(EU)などのロケーションに対してマルチリージョン オプションを選択することをおすすめします。これは、詳細な使用料金データをエクスポートするために必要です。

      データセットを作成した後で、そのロケーションを変更することはできません。ロケーションの詳細をご覧ください。

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

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

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

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

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

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

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

Cloud Console の Cloud Billing セクションで Cloud Billing データのエクスポートを有効にします。 エクスポートできるデータの種類は次のとおりです。

  • 標準的な使用料金データ - アカウント ID、請求書の日付、サービス、SKU、プロジェクト、ラベル、ロケーション、費用、使用量、クレジット、調整、通貨など、標準の Cloud 請求先アカウントの使用料金情報が含まれます。 リソースレベルの費用データを確認しない場合は、このオプションを有効にします。
  • 詳細な使用料金データ - Cloud 請求先アカウントの使用料金に関する詳細情報が含まれます。標準的な使用料金データのすべてと、サービス使用量を生成する仮想マシンや SSD などのリソースレベルの費用データが含まれます。リソースレベルの費用データと標準の使用料金データを分析する場合は、これを有効にします。標準と詳細の両方を有効にする必要はありません
  • 料金データ - アカウント ID、サービス、SKU、プロダクト、地理的メタデータ、料金の単位、通貨、集計、階層などの Cloud 請求先アカウントの料金情報が含まれます。

Cloud Billing の使用料金データまたは料金データを BigQuery にエクスポートできるようにするには、次のようにします。

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

    Cloud Console にログインする

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

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

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

  4. [BigQuery エクスポート] タブを選択します(このタブはデフォルトで選択されています)。

  5. エクスポートするデータの種類で [設定を編集] をクリックします。各種類のデータは個別に構成されます。

  6. [プロジェクト] リストから、BigQuery データセットを格納するように設定したプロジェクトを選択します。

    選択したプロジェクトは、エクスポートされた Cloud Billing データを BigQuery データセットに格納するために使用されます。

    標準と詳細な使用料金データのエクスポートの場合、Cloud Billing データには、同じ Cloud 請求先アカウントによって支払われた Cloud プロジェクトのすべての使用量 / 費用データが含まれます。

    料金データのエクスポートの場合、Cloud Billing データには、選択したデータセット プロジェクトに関連付けられている Cloud 請求先アカウントに固有の料金データのみが含まれます。

  7. [データセット ID] フィールドで、エクスポートした Cloud Billing データを格納するように設定したデータセットを選択します。

    BigQuery にエクスポートされたすべてのタイプの Cloud Billing データには、次が適用されます。

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

    料金データのエクスポートの場合、BigQuery にデータをエクスポートするには、BigQuery Data Transfer Service API が必要があります。選択したプロジェクトで BigQuery Data Transfer Service API が有効になっていない場合は、有効にするように求められます。必要に応じて、API を有効にする手順を行います。

  8. [保存] をクリックします。

エクスポートする Cloud Billing データを更新する

Cloud Billing データを BigQuery にエクスポートできるようにすると、さまざまなタイプを無効または有効にして、エクスポートするデータを変更できます。

データ エクスポートを無効にする前に、BigQuery にエクスポートされる課金データに与える影響について、制限事項データ可用性のガイドラインを確認してください。

BigQuery にエクスポートされる Cloud Billing のタイプを無効にする手順は次のとおりです。

  1. 必要に応じて [標準エクスポートを無効化]、[詳細なエクスポートを無効化]、[料金のエクスポートを無効化] のいずれかを選択します。
  2. [確認] を選択して選択内容を保存します。

現在無効なタイプの Cloud Billing を BigQuery にエクスポートできるようにするには、Cloud Billing データを BigQuery にエクスポートできるようにするをご覧ください。

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

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

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

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

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

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

課金データテーブル

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

データの読み込み頻度

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

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

制限事項

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

  • 標準的な使用料金と料金データを含む BigQuery データセットには、Cloud Billing のエクスポートを設定した日付以降に発生した Google Cloud 請求データのみが反映されます。すなわち、Google Cloud の課金データが過去にさかのぼって追加されることはありません。エクスポートを有効にする前の Cloud Billing データは表示されません。詳細については、データの可用性をご覧ください。
  • 詳細な使用料金データを含む BigQuery データセットには、エクスポートを最初に有効にした時点の月の初日から発生した Google Cloud の課金データが反映されます(再び有効にした場合を除く)。 つまり、Google Cloud の課金データは今月と先月のみにさかのぼって追加されます。詳細については、データの可用性をご覧ください。
  • 詳細な使用状況データをエクスポートする場合は、米国(US)や欧州連合(EU)などのマルチリージョン ロケーションで構成されたデータセットにエクスポートする必要があります。マルチリージョン ロケーションではないデータセットを選択すると、Cloud Billing で詳細な課金データがそのデータセット内の適切なテーブルに書き込まれなくなります。
  • BigQuery に請求データをエクスポートする場合、顧客管理の暗号鍵(CMEK)はサポートされません。請求データのデータセットに対して CMEK を有効にすると、Cloud Billing はデータセット内の適切なテーブルに請求データを書き込むことができなくなります。代わりに、データセットを構成して、Google が管理する鍵の暗号化を使用する必要があります。

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