この記事は個人ブログと同じ内容です
GCP コスト管理の重要性と可視化の必要性
クラウドコンピューティングの普及に伴い、多くの企業が Google Cloud Platform (GCP) を利用しています。しかし、クラウドサービスの利用が拡大するにつれて、コスト管理の重要性も増しています。効果的なコスト管理は、ビジネスの収益性と持続可能性に直接影響を与える重要な要素です。
GCP の課金システムは柔軟で詳細ですが、その複雑さゆえに、実際の使用状況と費用を把握することが困難な場合があります。特に、複数のプロジェクトや多様なサービスを利用している場合、全体像を把握することは容易ではありません。
そこで重要になるのが、コストデータの可視化です。
データを視覚的に表現することで、以下のような利点が得られます:
- 費用の傾向を素早く把握できる
- 異常な支出を迅速に発見できる
- リソースの最適化の機会を特定しやすくなる
- 部門間や経営陣とのコミュニケーションが円滑になる
本記事では、GCPの課金データを Looker Studio を使って可視化する方法を詳しく解説します。この方法を実践することで、データドリブンなコスト管理が可能となり、クラウド利用の最適化につながります。
それでは、具体的な手順を見ていきましょう。
BigQuery にデータセットを作成
まずは、Cloud Billing から BigQuery にデータをエクスポートするためのデータセットを作成します。
作成するデータセットは全部で 3 つです。データセット名は任意の名前で問題ありません。
データセット名 | 用途 |
---|---|
billing_standard | 標準使用料金データ用 |
billing_detail | 詳細使用料金データ用 |
billing_dashboard_views | ビューテーブル用 |
それぞれのデータセットの中には、以下の形式を持ったパーティション分割テーブルが作成されます。
- billing_standard
- gcp_billing_export_v1_<BILLING_ACCOUNT_ID>
- billing_detail
- gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>
請求アカウント別にテーブルが出来上がるようですね。
BigQuery の Cloud Billing データテーブルについて - Google Cloud
課金データをエクスポートする
GCP コンソール画面の「課金データをエクスポート」から、「標準の使用料金」「詳細な使用料金」それぞれに、作成したデータセットを指定します。
この設定を行うと、翌日ないし翌々日から Billing データが BigQuery へエクスポートされてくるようになります。
今回の例でいうと、データセット billing_standard と billing_detail にテーブルが作成されデータ入ります。
BigQuery への Cloud Billing データのエクスポートを設定する - Google Cloud
ちなみに、ここでエクスポートを有効にした日以降に発生した Google Cloud の使用量と費用のデータが BigQuery へ反映されます。過去のものは入りません。
Looker Studio: 課金利用状況と費用に関する分析情報のダッシュボード
Looker Studio で Google Cloud の費用情報を可視化していくにあたり、GCP の方で既にダッシュボードが公開されているので、こちらを使用していきます。
課金利用状況と費用に関する分析情報のダッシュボード - Google Cloud
GCP Professional Services
この、公開されているダッシュボードを、エクスポートした私たちのコスト情報に置き換えて新たに自分のダッシュボードを作成していきます。それには以下のツールを使用します。
GoogleCloudPlatform/professional-services - GitHub
このリポジトリは、Google Cloud のプロフェッショナルサービスチームが開発したツール、スクリプト、およびベストプラクティスのコレクションです。このリポジトリは、ユーザーが Google Cloud Platform (GCP) 環境を効果的に実装、管理、最適化するのを支援することを目的としています。
- tools: GCPの各種サービスを利用・管理するためのツール群
- examples: App Engine、BigQuery、Cloud Functions、Kubernetes などGCPサービスごとの活用例
- tutorials: 機械学習、データ分析、アプリ開発などの分野に分類されたチュートリアル
- templates: ソリューションアーキテクチャのテンプレート (Terraform、Deployment Managerなど)
ここで提供しているツールの 1 つに、今回のダッシュボードを自分のデータにアタッチして新たなダッシュボードを作成できるスクリプトがあります。
ダッシュボード作成
では Looker Studio にダッシュボードを作成していきます。
Professional Services のスクリプトを使用するために、Cloud shell を使います。
Cloud Shell を利用して、Professional Services の GitHub リポジトリを clone します。
Cloud Shell で GitHub リポジトリを clone する(実際にあなたの GCP 環境へ遷移し Cloud Shell を開きます)
上記 URL へアクセスすると、以下の確認モーダルが表示されるので、「確認」を押下します。
環境構築が開始されるのでしばし待ちます。
Cloud Shell の環境構築が完了すると、Professional Services リポジトリをクローンした状態で Cloud Shell Editor が起動します。
この画面の下半分にある cloud shell コンソールに、以下のコマンドを順番に入力し、実行していきます。
# 1. 移動 cd examples/billboard # 2. bill-env が既に存在する場合は削除 rm -rf bill-env # 3. virtualenv をインストール pip3 install virtualenv # 4. 仮想環境を作成 virtualenv bill-env # 5. 仮想環境をアクティベート source bill-env/bin/activate # 6. 必要なパッケージをインストール pip3 install -r requirements.txt # 7. ダッシュボード作成スクリプトを実行 python3 billboard.py \ -pr '<<YOUR_PROJECT_ID>>' \ -se 'billing_standard' \ -de 'billing_detail' \ -bb 'billing_dashboard_views'
7 つ目のコマンドを実行すると Looker Studio にダッシュボードが作成され、レポートの URL が Cloud Shell に出力されるので、これをクリックします。
これで、請求情報のダッシュボードを作成することができました。最後に、このダッシュボードを保存することで、継続的に請求情報を Looker Studio から確認できるようになります。
数日経過後
まとめ:Looker Studioで効果的なGCPコスト管理を実現
本記事では、Google Cloud Platform (GCP) の課金データを Looker Studio で可視化する方法について解説しました。主なポイントは以下の通りです:
- BigQuery にデータセットを作成し、Cloud Billing からデータをエクスポート
- Google 提供の「課金利用状況と費用に関する分析情報のダッシュボード」テンプレートを活用
- GCP Professional Services のツールを使用して、自身のデータに適用したダッシュボードを作成
この方法を実践することで、以下のメリットが得られます:
- GCP の利用コストを視覚的に把握できる
- 課金データは定期的に自動更新され、費用の推移を確認できる
- プロジェクトやサービスごとの詳細な費用分析が可能
コスト管理は、クラウドサービスを効率的に利用する上で非常に重要です。Looker Studioを活用することで、データドリブンな意思決定が可能となり、最適なリソース配分やコスト削減の機会を見出すことができます。
とはいえ、GCP が提供するサービスは多岐にわたるため、1 から自分で請求情報のダッシュボードを作成するのは本当に手間がかかります。今回は Professional Services が提供しているスクリプトを利用し、公開されているレポートレイアウトを使用しましたが、こういったところも予め用意されているのは非常にありがたいです。
定期的にダッシュボードを確認し、必要に応じて最適化を行うことで、GCP の利用をより効果的かつ経済的なものにすることができると思います。是非試してみてください。