Google Cloud の請求情報を BigQuery に投入、さらに可視化して分析してみました(第2弾)

"Google Cloud の請求情報を BigQuery に投入、さらに可視化して分析してみました(第2弾) "

目次

こんにちは!

本記事は「Google Cloud の請求情報を BigQuery に投入、さらに可視化して分析してみました(第1弾)」に続く内容となっております。前回の記事をご覧になっていない方はぜひそちらもご覧ください。

第1弾:Google Cloud 請求データを BigQuery へつなぐ方法
第2弾:BigQuery の請求データを Connected Sheets へ接続して分析・可視化 --> ★ 今回はこちらのご紹介!
第3弾:BigQuery の請求データを DataPortal へ接続して分析・可視化
第4弾:請求データ分析してみた結果のまとめ

Connected Sheets の概要

Connected Sheets を使うことで、スプレッドシートから数十億行の BigQuery データにアクセス、分析、可視化できるようになりました。SQLの知識がなくても、ピボットテーブルやグラフ、数式などの使い慣れたスプレッドシートの機能を用いることが可能です。

Connected Sheetsを利用するには、以下のいずれかの契約が必要です。

  • Google Workspace Enterprise Essentials
  • Google Workspace Enterprise Standard
  • Google Workspace Enterprise Plus

Connected Sheets ⇒ BigQuery に保存された請求データへの接続

Connected Sheets を利用して BigQuery にエクスポートされた請求データへ接続する方法をご紹介していきたいと思います。

前提条件

1. 課金が有効になっている Google Cloud プロジェクトが用意されていること
2. BigQuery へ Google Cloud 請求データがエクスポートされていること
3. Google Cloud プロジェクトおよび BigQuery のデータセットへのアクセス権限をユーザーが持っていること

上記1と2に関しまして、前回記事にて手順をご紹介しておりますのでそちらをご覧ください。
請求データのエクスポート設定をしてからBigQueryにデータが格納しはじめるまでタイムラグがありますので、請求データが格納されていることを確認してからConnected Sheets をご利用ください。

3に関しましては、GCP の Identity and Access Management(IAM)のロールを使用して設定します。スプレッドシートで BigQuery プロジェクトを追加または使用するには、BigQuery でユーザーの IAM ロールが次のいずれかである必要があります。

  • bigquery.user
  • bigquery.jobUser と bigquery.dataViewer

ユーザーが行える操作は、スプレッドシートのオーナーの権限ではなく、IAM ロールとスプレッドシートに対する権限によって決まります。組織外のユーザーは、管理者が許可した場合にのみ、組織のスプレッドシートを操作できます。
必要な権限についての詳細は下記の公式ドキュメントをご覧ください。
組織でコネクテッド シートを使用する

接続作業手順

1.スプレッドシートを新規作成し、[データ] > [データコネクタ] > [ BigQuery に接続]をクリックします。

f:id:AQ_ryosuke-nagae:20211201161953p:plain

2. データ接続の追加の画面にて、前提条件で用意した対象のプロジェクトを選択します。

f:id:AQ_ryosuke-nagae:20211201162139p:plain

3. 前提条件で用意したデータセット名をクリックします。

f:id:AQ_ryosuke-nagae:20211201162230p:plain

4. 請求データのテーブル名をクリックし、[接続]をクリックします。

f:id:AQ_ryosuke-nagae:20211201162321p:plain

5. データへの接続が開始されます。接続完了するとスプレッドシートに新しいシートが追加されており、接続したBigQuery テーブルのプレビューが表示されます。
※スプレッドシート上で表示されるのは最初の500行までですが、グラフやピボットテーブルなど作成する際はテーブルのデータが全て反映されます。

f:id:AQ_ryosuke-nagae:20211201162426p:plain

f:id:AQ_ryosuke-nagae:20211201162508p:plain

以上で Connected Sheets から BigQuery の請求データへアクセスする手順は終了です。
次は請求データの分析方法をご紹介します。

Connected Sheets での請求データ分析

Connected Sheets で BigQuery に保存されている請求データを分析・可視化する方法はいくつかありますが、本記事では以下3つの方法をピックアップしてご紹介します。

  • スプレッドシートの関数を使う
  • グラフを使う
  • ピボットテーブルを使う

共通手順

それぞれの機能を使用する際は、下記画像の通り請求データに接続したシート上にボタンがあるのでクリックします。
ボタンをクリックすると、挿入先のシートを選ぶことができます。
新しいシートか既存のシートかどちらかを選択して、作成をクリックします。

f:id:AQ_ryosuke-nagae:20211201162702p:plain

スプレッドシートの関数を使う

[関数]ボタンをクリックすると、BigQuery のデータに対してスプレッドシートの関数の一部を使用することができます。
下記の例では、COUNTUNIQUE関数を使ってproject.nameを指定することで、請求データ内にプロジェクトが42個あることが分かりました。

f:id:AQ_ryosuke-nagae:20211201162813p:plain

f:id:AQ_ryosuke-nagae:20211201162931p:plain

グラフを使う

[グラフ]ボタンをクリックすると、グラフの作成画面が表示されます。
グラフの種類は自由に変更が可能です。[設定]タブではグラフに表示する情報を指定でき、[カスタマイズ]タブではグラフのレイアウトなど細かく指定することができます。
下記の例では、請求データ内においてどのサービスが多く使われているかについて、横棒グラフを降順に並べ替えて見やすくしました。

f:id:AQ_ryosuke-nagae:20211201163034p:plain

ピボットテーブルを使う

同様に、[ピボットテーブル]ボタンからピボットテーブルの作成が可能です。行列や値の並べ替えをしたり、フィルタで余計な情報を取り除くこともできます。
下記の例では、プロジェクト毎に利用しているサービスを表示して利用料金の合計を降順に並べ替えをしました。

f:id:AQ_ryosuke-nagae:20211201163130p:plain

[cost の SUM]のカラムを見るといくつか0円の行があるので、フィルタを適用して課金が発生しているサービスだけ表示するように変更しました。

f:id:AQ_ryosuke-nagae:20211201163214p:plain

ここまで Connected Sheets での請求データ分析方法のご紹介となります。

結びに

Connected Sheets を利用することによって、SQLの知識を使わなくても大量の請求データから知りたい情報を見やすくまとめることができました。
スプレッドシートの操作に慣れている方であれば抵抗感なく業務に取り入れられるのではないかと思います。

ご紹介したほかにも、必要なデータのみ抽出しておく機能や、新しく計算された列を追加する機能があります。
また、カスタムクエリを作成して複数の BigQuery テーブルのデータを結合するなど、より複雑な分析を行うこともできます。こちらはSQLを利用します。

Connected Sheets を利用する注意点として、BigQuery のデータと Connected Sheets のデータの同期は自動で行われません。
手動で実施するか、定期更新するようにスケジュールすることができます。
更新のスケジュール設定については公式ドキュメントをご覧ください。

料金に関しまして、Google Workspace の月額ライセンス料金のほかに BigQuery のクエリ料金が発生します。グラフやピボットテーブルなどのデータを更新する際にクエリ料金が発生するため、自動更新の頻度には注意が必要です。
BigQuery には毎月1TBまでのクエリデータ無料利用枠もありますので、詳細については BigQuery の料金についてのページをご覧ください。
なお、ソフトバンクでは、Google Workspace と GCP の料金を1つの請求書にまとめることが可能です。

次回は、第3弾として BigQuery の請求データを DataPortal へ接続して分析・可視化する方法をご紹介したいと思います。どうぞ楽しみにお待ちください。

Google Cloud (GCP) に関する課題やご興味のある方はぜひ、ソフトバンク法人向けページよりお問い合わせください。

あわせて読みたい記事

Google Cloud の請求情報を BigQuery に投入、さらに可視化して分析してみました(第1弾)

【事例】先進的なAIサービスを展開するSENSY株式会社のGoogle Cloud 活用方法とは

グループウェアリソース管理アプリ「Provii!!」にて、オンプレミスからGCPへの移行事例