LoginSignup
0
0

リソース名から料金が発生している Compute Engine リソースを調査する

Posted at

リソース名から料金が発生している Compute Engine リソースを調査する

はじめに

弊社ではクラウドサービスの料金の可視化サービスの Vantage を使っています。
Vantage では複数のクラウドの料金を一つのプラットフォームで見ることができます。
https://www.vantage.sh/

Vantage では Google Cloud の料金も見ることができます。
今まではサービスごとの料金のみだったのですが、2023年6月から Compute Engine はリソースごとの料金が見れるようになりました。
表ではリソース名で表記されています。
vantage_gce一覧.PNG

リソース名とは?

Google Cloud 内部でリソースごとに割り当てられている文字列で、一意の値です。

各リソースには、独自の一意のリソース名が必要です。

Compute Engine インスタンスのリソース名の形式は

//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_ID

となっています。
そのほか、例えば Compute Engine スナップショットだと上記の instances の部分が snapshot になります。

Vantage では Compute Engine のリソース名のみ表示されていますが、BigQuery など他のサービスでもリソース名を持っています。

Vantage の参照元

Vantage は BigQuery にエクスポートされた請求書データテーブルを参照しています。
Vantage の Resource 列に表示されている値は「詳細な使用料金テーブル gcp_billing_export_resource 」の resource.global_name を参照していると思われます。
resource の中身は画像のようになっています。
resource.name はコンソールなどで確認できる名前)
resource.PNG

BigQuery にエクスポートされる請求書テーブルの詳細は公式ドキュメントを確認してください。

リソース名からリソースを特定する方法

BigQuery の請求書データテーブルから検索できます。

実行するクエリは以下のように、WHERE 句に調べたいリソース名を指定します。

SELECT resource FROM `<PROJECT ID>.billing_data.gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID>`
 WHERE TIMESTAMP_TRUNC(_PARTITIONTIME, DAY) = TIMESTAMP("2023-07-27")
 AND resource.global_name = '検索したいリソース名'

※指定する TIMESTAMP について、データセットタブからクエリタブを開いたときは当日の日付になりますが、データが格納されておらsず 0 ヒットになる場合があります。数日前の日付を入力してください。

Compute Engine VM インスタンスのリソースIDを特定する方法

特定のインスタンスのリソースIDは、コンソールや gcloud などで確認できるようですが、対応しているのは VM インスタンスのみで、スナップショットやディスクは確認できないようです。

以上です。どなたかの参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0