사용량 보고서 보기

Google Compute Engine에서는 사용량 내보내기 기능을 사용하여 Compute Engine 사용량의 세부 보고서를 Google Cloud Storage 버킷으로 내보낼 수 있습니다. 사용량 보고서는 리소스의 전체 기간에 관한 정보를 제공합니다. 예를 들어, n1-standard-1 이미지를 실행 중인 인스턴스가 몇 개이고 각 인스턴스가 얼마 동안 실행되고 있는지 확인할 수 있습니다. 사용량 보고서는 API 요청에 대한 정보 같은 결제 또는 활동 정보는 제공하지 않습니다. 결제 정보는 결제 내보내기 기능에서 확인하세요. 활동 로그에 대한 자세한 내용은 활동 로그를 참조하세요.

사용량 로그는 Compute Engine 설정 페이지에서 CSV 파일 형식으로 제공됩니다. 이 로그는 가상 머신 인스턴스의 실행 시간, 영구 디스크의 저장공간, 기타 Compute Engine 기능에 대한 정보와 같이 리소스 수준에서 사용량을 설명하는 보고서입니다.

시작하기 전에

개요

사용량 보고서를 사용 설정하면 Compute Engine에서 사용자가 지정한 Google Cloud Storage 버킷에 다음과 같은 두 가지 보고서를 전달합니다.

  1. 일일 사용량 보고서

    이 보고서는 매일 제공되며 전날의 사용량 데이터를 담고 있습니다. 각각의 보고서는 마지막 기간의 데이터를 담고 있는 별도의 파일입니다. 이 보고서의 데이터는 변경이 불가능합니다. 즉, 부정확한 내용이 있더라도 Compute Engine이 로그 파일을 업데이트하거나 다시 작성하지 않습니다. 그 대신, 버킷에 제공되는 다음 신규 보고서에서 해당 데이터가 수정됩니다.

    일일 사용량 보고서의 이름은 다음과 같은 형식으로 지정됩니다.

    <bucket>/<report_prefix>_<numeric_project_id>_<YYYYMMDD>.csv
    
  2. 월간 롤업 보고서

    단일 월간 롤업 보고서는 매일 제공되며 해당 프로젝트의 전일 누계(해당일 제외) 월간 사용량 데이터를 담고 있습니다. 월간 사용량 보고서는 해당일까지의 월간 리소스 사용량을 반영하는 새 데이터로 매일 덮어 써집니다. 프로젝트마다 월간 사용량 데이터 파일이 월별로 하나씩 존재합니다.

    월간 롤업 보고서의 이름은 다음과 같은 형식으로 지정됩니다.

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

    일일 보고서 파일과 월간 보고서 파일은 날짜 형식의 차이를 제외하면 아주 비슷해 보입니다. 즉, 월간 롤업 보고서는 연도와 월을 사용하여 표시되고(YYYYMM) 일일 사용량 보고서는 연도, 월, 일을 사용하여 표시됩니다(YYYYMMDD).

모든 사용량 보고서는 쉼표로 구분된 값(CSV) 형식으로 제공되고, 사용량 보고서 파일 앞에는 <report_prefix>가 붙습니다. <report_prefix>는 사용자가 선택하는 맞춤설정이 가능한 값입니다. 보고서 프리픽스를 지정하지 않으면 기본적으로 프리픽스 usage_gce가 사용됩니다. 모든 시간은 태평양 표준시(PST)를 기준으로 제공됩니다.

지원되는 측정항목

일일 사용량 보고서는 다음 리소스에 대한 사용량 정보를 제공합니다.

  • 가상 머신
  • 영구 디스크
  • 이미지
  • 스냅샷
  • 고정 IP 주소
  • 부하 분산기

각 리소스의 사용량은 다음과 같은 측정항목을 사용하여 기술됩니다.

측정항목 이름 측정항목 속성
보고서 작성일
  • 측정항목 유형: 문자열
  • 설명: 사용 날짜
  • 예: 2013-08-15
측정 ID
  • 측정항목 유형: 문자열
  • 설명: 측정 대상 리소스 유형의 ID. 예를 들어 VmimageN1Standard_1n1-standard-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>
리소스 ID
  • 측정항목 유형: 정수
  • 설명: 특정 리소스를 식별하는 숫자 ID
  • 예: 16557630484925648021
위치
  • 측정항목 유형: 문자열
  • 설명: 리소스의 위치. 영역 또는 지역 이름 또는 GLOBAL(전역 리소스의 경우).
  • 예: us-central1-a

다음은 이 보고서의 예시 항목입니다.

보고서 작성일 측정 ID 수량 단위 리소스 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은 사용량 내보내기 기능을 사용 중지하되 프로젝트 액세스 목록에서 계정을 삭제하지는 않습니다. 필요하다면 계정을 직접 삭제할 수 있습니다.

기본 요건

Compute Engine 사용량 내보내기를 사용하기 시작하려면 먼저 Google Cloud Storage에 가입해야 합니다(아직 가입하지 않은 경우).

사용량 내보내기 설정

사용량 내보내기 기능을 처음 사용 설정하면 다음 날, 그 전날의 사용량을 자세히 보여주는 첫 번째 보고서가 발송됩니다. 그 다음부터 24시간 간격으로 보고서가 수신됩니다.

사용량 내보내기 기능을 설정하려면 gcloud compute 도구에서 해당 기능을 사용 설정합니다. 이 기능을 사용 설정할 때 다음 두 가지 속성을 정의해야 합니다.

  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가 사용됩니다.

이 두 가지 속성을 결정하였으면 다음과 같은 방법으로 사용량 내보내기 기능을 사용 설정할 수 있습니다.

콘솔


  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 버킷에 대한 자신의 쓰기 액세스 권한을 자동으로 삭제하고 새 보고서의 전송을 중단합니다.

콘솔


  1. Compute Engine 설정 페이지로 이동합니다.
  2. 사용량 내보내기 사용 중지를 클릭합니다.

gcloud


gcloud compute에서 gcloud compute project-info set-usage-bucket 명령어와 빈 --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 문서