このページでは、Cloud Billing からサービス ユーザーに課金するため、Service Infrastructure を使用してマネージド サービスから課金利用データを送信できるようにする方法について説明します。たとえば、library.appspot.com/books/borrowed
という指標を定義して、顧客が借りた書籍の数を測定し、その SKU と価格を定義することができます。
Service Control API は指標を受け入れ、それを一括処理して集計し、Cloud Billing に転送します。Cloud Billing は、これらの指標を取り込み、定義済みの価格モデルに基づいて請求書を生成します。定義済みの価格モデルがない場合、Cloud Billing は課金指標を無視します。価格モデルを定義するには、Google Cloud パートナー アカウント マネージャーにお問い合わせください。
課金の設定
Service Control API に課金データを送信する前に、サービス構成で次の 3 種類の情報を指定する必要があります。
モニタリング対象リソース: 各リソースの課金利用状況を収集できます。モニタリング対象リソースには、課金利用の場所を示すラベルキー
cloud.googleapis.com/location
が少なくとも 1 つ必要です。指標: 1 つ以上の指標を報告できます。各指標は、特定のタイプのリソースの使用量を測定したものです。INT64 値を使用した DELTA 指標のみが課金でサポートされます。
課金構成: Cloud Billing に送信される指標を指定できます。
次のサービス構成の例では、顧客が借りた本の数をカウントする 1 つの指標を定義しています。クライアントは services.report
メソッドを呼び出すことで、指標に関する値を報告できます。課金設定について詳しくは、billing.proto をご覧ください。
# library
monitored_resources:
- type: library.appspot.com/branch
labels:
- key: cloud.googleapis.com/location
description: The cloud location.
- key: library.appspot.com/city
description: The city where the library branch is located in.
# The metrics to be used.
metrics:
- name: library.appspot.com/books/borrowed
metric_kind: DELTA
value_type: INT64
unit: '1'
# The billing configuration.
billing:
consumer_destinations:
- monitored_resource: library.appspot.com/branch
metrics:
- library.appspot.com/books/borrowed
課金指標の報告
サービス構成でモニタリングを設定し、Service Management API を使用してその設定を push したら、Service Control API を呼び出して指標を報告できます。次の例は、gcurl
コマンドを使用した呼び出しを示しています。この設定方法については、Service Control API スタートガイドをご覧ください。
$ gcurl -d "{
'operations': [ {
'operationId': '8356d3c5-f9b5-4274-b4f9-079a3731e6e5',
'consumerId': 'project:library-consumer',
'startTime': '`date +%FT%T%:z`',
'endTime': '`date +%FT%T%:z`',
'labels': {
'cloud.googleapis.com/location': 'us-west1',
'library.appspot.com/city': 'Kirkland',
},
'metricValueSets': [ {
'metricName': 'library.appspot.com/books/borrowed',
'metricValues': [ { 'int64Value': '10' } ]
} ]
} ]
}" https://servicecontrol.googleapis.com/v1/services/library.appspot.com:report