請求アカウントの管理

本節では Google Cloud リソースを扱うために必要な課金の設定について記述します。 Google Cloud は階層型のリソース構造を構成することが出来、大きく、組織、フォルダ、プロジェクト、リソースがあることを前節で説明しました。具体的には、Google Cloud の中で作成する組織と呼ばれるルートノードの配下にプロジェクトを作成し、そのプロジェクトの中で作成したコンピュート リソースやオブジェクト ストレージ等のリソースがプロジェクトに紐づく形になります。一方、課金の概念はそれとは若干違い、組織の中で別に用意する請求先アカウントというリソースに対してプロジェクトを紐付けることで、プロジェクト内で作成されたリソースに対する支払いを実現します。

請求先アカウントは 1 対多の関係で 任意のプロジェクトと紐付けることができ、紐付いたプロジェクトで発生した全ての費用を管理します。さらに請求先アカウントは 1 対 1 の関係で Google お支払いプロファイルと関連付けられており、その Google お支払いプロファイルで設定されている支払い方法に基づき、請求先アカウントに対して請求が発生する流れとなります。今までの説明を図にすると以下のようになります。

請求先アカウントへのアクセスは、前節で紹介した Cloud Identity and Access Management(Cloud IAM)のロールによって管理されているため、グループやユーザーに課金に関するロールを適切に付与することで、請求情報へのアクセスや請求先アカウントとプロジェクトの紐付けが出来るユーザーを必要最小限にすることが可能です。

本節では、以下の項目について説明していきます。

参考ドキュメント

デザイン パターン詳細

請求情報へのアクセスを制限する

解決する課題・使い所

請求先アカウントは紐付いている複数の Google Cloud プロジェクトの課金情報を管理しており、請求先アカウントの管理者もしくは閲覧者のロールを所持したユーザーは、紐付いているGoogle Cloud プロジェクトの課金情報を閲覧することが出来ます。本項では、請求先アカウントに関連するロールを理解し、請求情報へのアクセスを限られたメンバーに制限することを目的としています

アーキテクチャ

まず、事前定義の主な請求関連 IAM ロールの説明を記載します。詳細につきましては、「Cloud IAM の Cloud Billing ロールの概要※1」を御覧ください。

上記から、請求先アカウントの情報を閲覧出来るのは請求先アカウント管理者もしくは請求先アカウント閲覧者のロールを持つユーザーとなります。本ペルソナの場合ですと、以下の様に部署とロールを振り分けることが推奨されます。「Cloud Billing のアクセス制御※3」の例も参考になりますので、こちらも是非ご確認いただけますと幸いです

注意事項

利用部門自体でプロジェクトで発生する費用を確認したい場合は、次項で記載する「毎月の請求費用を分析する」を利用して課金データ全体を BigQuery へエクスポートし、個別のビューや Data Portal を使うことで利用部門に制限された課金情報を開示することが出来ます


参考文献

※1 : Cloud IAM の Cloud Billing ロールの概要

※2 : 重要な決定: 1 つの請求先アカウントか複数の請求先アカウントか

※3 : Cloud Billing のアクセス制御の例

毎月の請求費用を BigQuery を用いて分析する

解決する課題・使い所 クラウド サービスを利用するユーザーは、毎月の請求費用に関して下記のような情報を知りたいというニーズを持っていることが一般的です

こうした情報を常に把握・分析することで、サービス利用の無駄を排除し毎月のコストを削減・最適化することができます。Google Cloud ではこうしたニーズに答えるための手段として、「請求レポート」という機能を提供しています

「請求レポート」とは、毎月の請求費用のサマリーデータをグラフ表示する機能で、Google Cloud Console から利用することができます。この機能を利用することで Google Cloud の使用量を視覚的に把握し、傾向を分析することができます。請求レポートには請求先アカウントに紐付いている全プロジェクトの使用料が含まれます。目的に合わせて傾向を確認するために、対象期間やプロジェクト、プロダクト、SKU またはロケーションなどを利用して、表示するデータの範囲を絞り込むことができます。

一方で、標準で提供される「請求レポート※1」機能だけではカバーしきれない要件も存在します。下記にその一例を示します。

このような場合、毎月の詳細な請求データを BigQuery にエクスポートすることで、標準的な機能ではカバーできない粒度の集計・分析を実行することができます

アーキテクチャ

BigQuery を利用して請求データを集計・分析する場合には、まず「その請求データを誰が管理するか」について考慮する必要があります。 今回は、Google Cloud 主管部門のメンバーが部署毎の請求データを集計することを想定し、Google Cloud 主管部門フォルダ配下のプロジェクトにおいて請求データ格納用の BigQuery データセットを作成する構成としています

請求先アカウントから請求データを BIgQuery に取り込む環境を構築するまでには、大きく下記の5つのステップが存在します。

各ステップの詳細な手順については Google Cloud の公式ドキュメント※5 をご参照ください。


利点

標準で提供される請求費用分析ツール(請求レポート)では満たせない分析要件をカバーすることができます。また、 BigQuery は Data Portal※6 や Looker 、その他サードパーティのBIツールと組み合わせて利用することができるため、分析結果を簡単に可視化することも可能です


注意事項

サンプル コンフィグや Code(提供可能な場合)

BigQuery にエクスポートした「1 日の費用の詳細データ」及び「料金データ」に含まれるデータの内容については下記を参照ください

また、それぞれの請求データを活用した分析クエリの例については下記の通りです

参考文献

※1 : 請求レポートと費用傾向の表示

※2 : 1 日あたりの費用の詳細データのスキーマ

※3 : 料金データのスキーマ

※4 : BigQuery Data Transfer Service の概要

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

※6 : Google データポータルでの一定期間の利用額情報の可視化