使用状況レポートの表示

Google Compute Engine では、使用状況データのエクスポート機能を使用して、Compute Engine の使用状況データに関する詳細なレポートを Google Cloud Storage バケットにエクスポートすることができます。使用状況レポートには、リソースの使用期間に関する情報が表示されます。たとえば、n1-standard-1 イメージを実行しているインスタンスの数や、各インスタンスが実行されている期間を確認することができます。使用状況レポートには、お支払い情報やアクティビティ情報(API リクエストに関する情報など)は表示されません。お支払い情報については、課金データのエクスポート機能をご覧ください。アクティビティ ログについては、アクティビティ ログをご覧ください。

使用状況ログは、Compute Engine の設定ページで CSV ファイルとして入手できます。ログには、リソースレベルでの使用状況(仮想マシン インスタンスの実行時間、永続ディスクの保存容量、Compute Engine のその他の機能に関する情報など)が記述されます。

始める前に

概要

使用状況レポートを有効にすると、Compute Engine から指定の Google Cloud Storage バケットに 2 種類のレポートが配信されます。

  1. 日次使用状況レポート

    このレポートは毎日配信されるもので、前日からの使用状況データが示されています。各レポートは、前回の期間からのデータを示す個別のファイルです。このレポートのデータは変更できません。つまり、誤りがあった場合でも、Compute Engine によってログファイルが更新されたり書き換えられたりすることはありません。代わりに、データは、バケットに次回配信される新しいレポートで修正されます。

    日次使用状況レポートの名前形式は次のとおりです。

    <bucket>/<report_prefix>_<numeric_project_id>_<YYYYMMDD>.csv
    
  2. 月次ロールアップ レポート

    月次ロールアップ レポートは毎日 1 件配信されるもので、その日の前日までのそのプロジェクトに関する月次使用状況データが示されています。月次使用状況レポートは毎日新しいデータで上書きされ、その日までのリソースの月次使用状況が反映されます。月次使用状況データファイルは、月々プロジェクトごとに 1 つだけです。

    月次ロールアップ レポートの名前形式は次のとおりです。

    <bucket>/<report_prefix>_<numeric_project_id>_<YYYYMM>.csv
    

    日次レポート ファイルと月次レポート ファイルはよく似ていますが、日付形式が異なります。月次ロールアップ レポートでは年と月(YYYYMM)が使用されますが、日次使用状況レポートでは年、月、日(YYYYMMDD)が使用されます。

使用状況レポートはすべてカンマ区切り値(CSV)形式で配信されます。使用状況レポート ファイルの名前には接頭辞として <report_prefix> が付いています。<report_prefix> はユーザーが選択するカスタマイズ可能な値です。レポート接頭辞を指定しない場合は、接頭辞 usage_gce がデフォルトで使用されます。時間はすべて太平洋時間(PST)で表記されます。

サポートされている指標

日次使用状況レポートには、次のリソースに関する使用状況情報が示されます。

  • 仮想マシン
  • 永続ディスク
  • イメージ
  • スナップショット
  • 静的 IP アドレス
  • ロードバランサ

各リソースについては以下の指標を使用して記載されます。

指標名 指標プロパティ
レポート生成日
  • 指標タイプ: 文字列
  • 説明: 使用状況の日付。
  • 例: 2013-08-15
MeasurementId
  • 指標タイプ: 文字列
  • 説明: 測定されているリソースのタイプの ID。 例: n1-standard-1 マシンタイプを表す場合には VmimageN1Standard_1
  • 例: com.google.cloud/services/compute‑engine/VmimageN1Standard_1
数量
  • 指標タイプ: 整数
  • 説明: 指定した日付の使用量。
  • 例: 86400
単位
  • 指標タイプ: 文字列
  • 説明: 数、秒、時間などの単位のタイプ。
  • 例: 秒
リソースの URI
  • 指標タイプ: 文字列
  • 説明: 指定したリソースの URI。
  • 例: https://www.googleapis.com/compute/v1/projects/<project‑id>/zones/<zone>/instances/<instance>
ResourceId
  • 指標タイプ: 整数
  • 説明: 特定のリソースを識別する数値 ID。
  • 例: 16557630484925648021
ロケーション
  • 指標タイプ: 文字列
  • 説明: リソースのロケーション。ゾーン名またはリージョン名(グローバル リソースの場合は GLOBAL)。
  • 例: us-central1-a

レポート内のエントリの例は次のようになります。

レポート生成日 MeasurementId 数量 単位 リソースの URI リソース ID ロケーション
02/13/2014 com.google.cloud/services/compute-engine/VmimageN1Standard_1 86400 https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/my-instance 16557630484 us-central1-a

アクセス制御

Cloud Storage バケットの使用状況データのエクスポート機能を有効にすると、使用状況レポートを配信するために、Compute Engine が書き込みアクセス権のある状態でバケットに自動的に追加されます。Compute Engine がバケットにアクセスできて、使用状況データのエクスポート機能が有効になっている限り、Compute Engine は指定された Cloud Storage バケットに使用状況レポートをエクスポートし続けます。

バケットのアクセス制御リストに追加された次の ID から、Compute Engine がバケットにアクセスできることがわかります。

cloud-cluster-analytics-export@google.com

プロジェクトのオーナーであるユーザーは、Google Cloud Storage バケットへの完全アクセス権を持っています。書き込み権限を持つユーザーや読み取り権限を持つユーザーなどの他のユーザーは、バケットへのアクセスレベルが異なります。バケットの ACL について詳しくは、Cloud Storage のアクセス制御のドキュメントをご覧ください。

使用状況データのエクスポート機能を無効にすると、Compute Engine からバケットへの書き込みアクセス権が自動的に削除されます。cloud-cluster-analytics-export@google.com アカウントの権限を変更してから使用状況データのエクスポート機能を無効にすると、使用状況データのエクスポート機能は無効になりますが、アカウントはプロジェクトのアクセスリストから削除されません。必要に応じてアカウントを手動で削除することができます。

事前準備

Compute Engine の使用状況データのエクスポートを使用する前に、Google Cloud Storage に登録していない場合はまず登録する必要があります。

使用状況データのエクスポートを設定する

使用状況データのエクスポート機能を初めて有効にしたときは、その翌日に、前日の使用状況の詳細を示す最初のレポートが送信されます。その後、レポートは 24 時間間隔で届きます。

使用状況データのエクスポート機能を設定するには、gcloud compute ツールでこの機能を有効にします。この機能を有効にするときは、2 つのプロパティを定義する必要があります。

  1. レポートの配信先にする Google Cloud Storage バケット

    所有している任意の Cloud Storage バケット(異なるプロジェクトのバケットを含む)を選択できます。このバケットはレポートのエクスポートを開始する前に存在している必要があり、このバケットに対するオーナー アクセス権も必要です。Google Cloud Storage の料金は使用量に応じて課金されるため、サービスに対してどのように課金されるかについては、Cloud Storage の価格表をご覧ください。

    Cloud Storage バケットへの読み取りアクセス権を持つユーザーは、バケット内の使用状況レポートを表示することができます。バケットへの書き込みアクセス権を持つユーザーは、バケット内の既存のファイルを作成、表示、変更することができます。詳しくは、アクセス制御のセクションをご覧ください。

  2. ファイルのレポート接頭辞。

    使用状況レポートに使用するレポート接頭辞を指定できます。使用状況レポートには、この接頭辞を含むファイル名が付けられます。たとえば、レポート接頭辞として「my-cool-project-report」を指定すると、my-cool-project-report_1234567890_20131230.csv のような形式のファイル名になります。レポート接頭辞を指定しない場合は、デフォルトの接頭辞 usage_gce が使用されます。

これら 2 つのプロパティを決定したら、使用状況データのエクスポート機能を次の方法で有効にすることができます。

Console


  1. Compute Engine の設定ページに移動します。
  2. [使用量データのエクスポートを有効にする] をクリックします。
  3. 必要に応じて、[バケット名] フィールドと [レポート接頭辞] フィールドにデータを入力します。レポート接頭辞を空のままにした場合は、デフォルトの接頭辞 usage_gce が使用されます。
  4. [保存] をクリックします。

gcloud


gcloud compute でこの機能を有効にするには、gcloud compute project-info set-usage-bucket コマンドを使用します。

 gcloud compute project-info set-usage-bucket --bucket URI [--prefix PREFIX]

バケットへの URI は、gs://<bucket-name> または https://storage.googleapis.com/<bucket-name> という形式にすることができます。

API

クライアント ライブラリ

使用状況データのエクスポートを有効にするには、クライアント ライブラリを使用して、Projects コレクションで setUsageExportBucket() メソッドを設定します。たとえば、Python クライアント ライブラリでは、この機能を次のように有効にすることができます。

def setUsageExport(gce_service, auth_http):
  body = {
    "bucketName": "https://storage.googleapis.com/usage-export-sample",
    "reportNamePrefix": "exampleprefix"
  }

request = gce_service.projects().setUsageExportBucket(project=PROJECT_ID, body=body)
response = request.execute(http=auth_http)

print response

HTTP

setUsageExportBucket メソッドに HTTP リクエストを直接送信することもできます。次の例では、httplib2 ライブラリを使用して使用状況データのエクスポートを有効にしています。

#!/usr/bin/python

import urllib
import argparse
import logging
import sys
import random
from json import load,dumps
...

PROJECT_ID = "myproject"
API_VERSION = "v1"
API_URL = "https://www.googleapis.com/compute/" + API_VERSION + "/projects/" + PROJECT_ID
OAUTH_FILE = "oauth-dev.dat"

def main(argv):
  logging.basicConfig(level=logging.INFO)

  parser = argparse.ArgumentParser(
    description=__doc__,
    formatter_class=argparse.RawDescriptionHelpFormatter,
    parents=[tools.argparser])

  # Parse the command-line flags.
  flags = parser.parse_args(argv[1:])

  http = httplib2.Http()

  # Add code to authenticate to the service
  ....

  url = API_URL + "/setUsageExportBucket"

  body = {
    "bucketName": "https://storage.googleapis.com/usage-export-sample",
    "reportNamePrefix": "exampleprefix"
  }

  formattedBody = dumps(body)
  resp,content = http.request(url,
                              "POST",
                              headers=listOfHeaders,
                              body=formattedBody)

  print str(content)

if __name__ == "__main__":
    main(sys.argv)

詳しくは、API リファレンス ドキュメントをご覧ください。

使用状況レポートが有効になっているかどうかを確認する

プロジェクトに関する情報を取得して、プロジェクトの使用状況データのエクスポート設定を確認できます。

gcloud compute project-info describe

usageExportLocation フィールドを探します。

+-------------------------+----------------------------------------------------+
| name                    | myproject                                          |
| description             |                                                    |
| creation-time           | 2012-10-18T16:31:52.308-07:00                      |
| usage                   |                                                    |
|   snapshots             | 1.0/1000.0                                         |
|   networks              | 2.0/2.0                                            |
|   firewalls             | 3.0/10.0                                           |
|...                      |                                                    |
| usageExportLocation     |                                                    |
|   bucketName            | https://storage.googleapis.com/usage-export-sample |
|   reportNamePrefix      |                                                    |
+-------------------------+----------------------------------------------------+

使用状況レポートを無効にする

使用状況レポートを無効にすると、Compute Engine から Cloud Storage バケットへの書き込みアクセス権が自動的に削除され、新しいレポートの送信が中止されます。

Console


  1. Compute Engine の設定ページに移動します。
  2. [使用量データのエクスポートを無効にする] をクリックします。

gcloud


gcloud compute で使用状況データのエクスポート機能を無効にするには、空の --bucket フラグを設定して gcloud compute project-info set-usage-bucket コマンドを実行します。

gcloud compute project-info set-usage-bucket --bucket

API

クライアント ライブラリ

クライアント ライブラリを使用するには、空のバケット名を設定して setUsageExportBucket() メソッドにリクエストを送信します。たとえば、Python クライアント ライブラリでは、この機能を次のように無効にすることができます。

def disableUsageExport(gce_service, auth_http):
  body = {
    "bucketName": "",
}

request = gce_service.projects().setUsageExportBucket(project=PROJECT_ID, body=body)
response = request.execute(http=auth_http)

print response

HTTP

setUsageExportBucket メソッドに HTTP リクエストを直接送信することもできます。次の例では、httplib2 ライブラリを使用して、使用状況データのエクスポート バケットを無効にするリクエストを送信しています。

#!/usr/bin/python

import urllib
import argparse
import logging
import sys
import random
from json import load,dumps
...

PROJECT_ID = "myproject"
API_VERSION = "v1"
API_URL = "https://www.googleapis.com/compute/" + API_VERSION + "/projects/" + PROJECT_ID
OAUTH_FILE = "oauth-dev.dat"

def main(argv):
  logging.basicConfig(level=logging.INFO)

  parser = argparse.ArgumentParser(
    description=__doc__,
    formatter_class=argparse.RawDescriptionHelpFormatter,
    parents=[tools.argparser])

  # Parse the command-line flags.
  flags = parser.parse_args(argv[1:])

  http = httplib2.Http()

  # Add code to authenticate to the service
  ....

  url = API_URL + "/setUsageExportBucket"

  body = {
     "bucketName": ""
  }

  formattedBody = dumps(body)
  resp,content = http.request(url,
                              "POST",
                              headers=listOfHeaders,
                              body=formattedBody)

  print str(content)

if __name__ == "__main__":
    main(sys.argv)
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント