リソース名から料金が発生している Compute Engine リソースを調査する
はじめに
弊社ではクラウドサービスの料金の可視化サービスの Vantage を使っています。
Vantage では複数のクラウドの料金を一つのプラットフォームで見ることができます。
https://www.vantage.sh/
Vantage では Google Cloud の料金も見ることができます。
今まではサービスごとの料金のみだったのですが、2023年6月から Compute Engine はリソースごとの料金が見れるようになりました。
表ではリソース名で表記されています。
リソース名とは?
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
はコンソールなどで確認できる名前)
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 インスタンスのみで、スナップショットやディスクは確認できないようです。
以上です。どなたかの参考になれば幸いです。