ラベルを使用すると、互いに関連するリソースを簡単にグループ化できます。ラベルを使用すると、App Engine サービスのリソースへの課金方法をよりきめ細かく表示できます。ネストされたフィルタリングなどの機能を利用して、リソースのより正確な検索を実行することもできます。
ラベルは、次のように使用します。
作成するサービスの種類にラベルを付けます。たとえば、
service:default
、service:backend
、service:frontend
などのラベルを App Engine サービスに追加した場合、これらの異なるサービスによる送信帯域幅、インスタンス時間、その他のリソースの使用方法を比較できます。チームまたはコストセンターごとにラベルを付けて、異なるチームが所有するプロジェクトを識別します。これは、原価計算や予算編成などで使用します。たとえば、
team:marketing
やteam:research
です。サービスが実行されている環境にラベル付けします。たとえば、
environment:prod
やenvironment:test
です。リソースの担当者が存在する場合には、オーナーまたは連絡先担当者でラベル付けします。
サービスのステータスにラベルを付けます。たとえば、
state:inuse
やstate:readyfordeletion
です。
ラベルは課金データにのみ使用でき、他のツール(Metrics Explorer など)には使用できません。
制限事項
- 各リソースには最大 64 個のラベルを割り当てることができます。
- 明示的にラベルを付けることができるのはサービスのみです。バージョンとインスタンスは、親サービスからラベルを継承します。
- App Engine フレキシブル環境では、Datastore モードの Firestore(Datastore)の使用に対する課金ラベルがサポートされていません。
ラベルを追加または変更する
App Engine サービスにラベルを追加するには:
Console
App Engine の [サービス] ページに移動します。
ラベルを付けるサービスの横にあるチェックボックスを選択します。
[情報パネルを表示] をクリックし、[ラベル] タブを選択してラベル列を展開します。
[ラベルを追加] をクリックして、選択したサービスに Key-Value ペアを追加します。たとえば、ラベル
env:prod
を追加するには、[キー] に「env
」、[値] に「prod
」と入力します。変更を保存します。
Admin API
ラベルの追加と設定には Service
リソースを使用します。Admin API のリファレンス ドキュメントをご覧ください。
ラベル付きのサービスに関連付けられた課金データの表示
アプリケーションでラベルを使用すると、課金データを細かく分類できるようになります。たとえば、日ごと、サービスごとの送信帯域幅など、特定のリソースのコストを表示できます。これにより、アプリケーションの 1 日あたりのコストを把握し、アプリケーションのリソース使用量を最適化できます。
課金のラベルを表示するには、BigQuery にデータをエクスポートしてから、そのデータに対してクエリを実行します。
-
BigQuery Export を有効にしてからデータが表示されるまでに、数時間かかる場合があります。
Google Cloud コンソールの [BigQuery] ページで、プロジェクトと課金データセットを選択します。
BigQuery Export から作成されたテーブルに対してクエリを実行します。
ラベルは繰り返しフィールドとしてデータセットに追加されます。そのため、コスト データセットの場合には 1 行に複数のラベルが追加されることがあります。そのような場合には、ラベルで簡単にクエリを実行できるようにテーブルをラベル フィールドでフラット化することをおすすめします。
たとえば、次のクエリは、ラベルが存在する送信帯域幅のコストデータ、ラベルキー、ラベル値を取得します。
SELECT
product,
resource_type,
start_time,
end_time,
labels.key,
labels.value,
cost
FROM (FLATTEN([YOUR_DATASET.TABLEID], labels))
WHERE
cost > 0.0
and labels.key is not null
and resource_type = 'Out Bandwidth'
LIMIT 100
BigQuery は、フラット化された出力でデータを返します。
product | resource_type | start_time | end_time | labels_key | labels_value | cost |
---|---|---|---|---|---|---|
App Engine | Out Bandwidth | 2017-10-07 22:00:00 | 2017-10-07 23:00:00 | service | default | 0.020033 |
App Engine | Out Bandwidth | 2017-10-07 13:00:00 | 2017-10-07 14:00:00 | service | frontend | 0.016042 |
App Engine | Out Bandwidth | 2017-10-07 06:00:00 | 2017-10-07 07:00:00 | service | backend_task | 0.013125 |
App Engine | Out Bandwidth | 2017-10-07 21:00:00 | 2017-10-07 22:00:00 | service | default | 0.020722 |
App Engine | Out Bandwidth | 2017-10-07 19:00:00 | 2017-10-07 20:00:00 | service | frontend | 0.020725 |
App Engine | Out Bandwidth | 2017-10-08 04:00:00 | 2017-10-08 05:00:00 | service | backend_task | 0.02072 |
App Engine | Out Bandwidth | 2017-10-08 02:00:00 | 2017-10-08 03:00:00 | service | default | 0.020723 |
App Engine | Out Bandwidth | 2017-10-07 14:00:00 | 2017-10-07 15:00:00 | service | frontend | 0.020724 |
App Engine | Out Bandwidth | 2017-10-07 23:00:00 | 2017-10-08 00:00:00 | service | backend_task | 0.021417 |
請求レポートの期間
レポートの各日が 24 時間全体をカバーするように、エクスポートする課金データには、直近の太平洋時間午前 0 時までのデータのみが含まれます。たとえば、12 月 3 日の正午に課金データをエクスポートする場合、エクスポートには 12 月 2 日午後 11 時 59 分までのデータが含まれます。
レポートの各日付について、その日の初めに存在するラベルに課金データが関連付けられます。たとえば、12 月 3 日の太平洋時間正午にラベルを作成した場合、その日の初めにはそのラベルは存在していないため、12 月 3 日のレポートではそのラベルに対してデータは関連付けられません。そのラベルに対するデータは 12 月 4 日から関連付けられます。
正午に作成され、同じ 24 時間以内に削除されたラベルには、データは関連付けられません。
Google Cloud コンソールでのラベルの表示
リソースにラベルを付けると、Google Cloud コンソールでラベルを表示できます。
App Engine の [サービス] ページに移動します。
サービスごとに、[Labels] 列にすべてのラベルが表示されます。
ラベルの削除
サービスからラベルを削除するには:
App Engine の [サービス] ページに移動します。
ラベルを削除するリソースの横にあるチェックボックスをオンにします。
[情報パネルを表示] をクリックし、[ラベル] タブを選択してラベル列を展開します。
削除するすべてのラベルの横にある X をクリックします。
変更を保存します。