このドキュメントでは、ラベルとその機能の概要について説明します。
ラベルとは
ラベルは、Google Cloud リソースに割り当てることができる Key-Value ペアです。ラベルはこれらのリソースを整理し、必要な粒度に基づいて費用を大規模に管理する場合に役立ちます。各リソースにラベルを設定し、そのラベルに基づいてリソースをフィルタできます。ラベルに関する情報は課金システムに転送され、請求料金をラベル別に分類できます。組み込みの請求レポートにより、リソースラベルで費用をフィルタしてグループ化できます。また、ラベルを使用して請求データ エクスポートをクエリすることもできます。
ラベルの要件
リソースに適用するラベルは、次の要件を満たす必要があります。
- 各リソースには、最大 64 個のラベルを設定できます。
- ラベルは、Key-Value ペアでなければなりません。
- キーは 1 文字以上、63 文字までにする必要があります。空にすることはできません。値は 63 文字以下にします。空にすることもできます。
- キーと値には、小文字、数字、アンダースコア、ダッシュのみを使用できます。すべての文字は UTF-8 でエンコードする必要があります。国際文字も使用できます。キーは、小文字または国際文字で始める必要があります。
- ラベルのキー部分は、単一のリソース内では一意である必要があります。ただし、複数のリソースで同じキーを使用できます
これらの上限は、各ラベルのキーと値だけでなく、ラベルのある個々の Google Cloud リソースにも適用されます。1 つのプロジェクト内のすべてのリソースに適用できるラベルの数に上限はありません。
ラベルの一般的な用途
次に、ラベルの一般的な使用例を示します。
チームまたはコストセンターのラベル: チームやコストセンターに基づいてラベルを追加し、各チームが所有するリソースを区別します(例:
team:research
、team:analytics
)。この種類のラベルは、費用計算または予算作成に使用できます。コンポーネント ラベル:
component:redis
、component:frontend
、component:ingest
、component:dashboard
など。環境ラベルまたはステージのラベル:
environment:production
、environment:test
など。状態のラベル:
state:active
、state:readytodelete
、state:archive
など。オーナー権限ラベル: 運用担当チームの識別に使用されます(例:
team:shopping-cart
)。
- ネットワーク ラベル: 仮想マシンに設定できるラベル。過去に定義したネットワーク タグは、値のないラベルとして表示されます。
すべての API 呼び出しにタイムスタンプや個別の値を設定するなど、一意のラベルを多数作成することはおすすめしません。このアプローチの問題は、値が頻繁に変更される場合やカタログを混乱させるキーを使用している場合に、リソースを効果的にフィルタして報告することが困難になることです。
ラベルとタグ
ラベルは、リソースに対するクエリ可能なアノテーションとして使用できますが、ポリシーの条件の設定には使用できません。タグを使用すると、ポリシーをきめ細かく制御することによって、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーを許可または拒否することが可能になります。詳細については、タグの概要をご覧ください。
権限
プロジェクトのラベルを追加、変更、表示するには、次の権限が必要です。
- ラベルを追加または変更するには、
projects.patch()
メソッドを呼び出します。これにはresourcemanager.projects.update
権限が必要です。 - プロジェクトのラベルを表示するには、
projects.get()
メソッドを呼び出します。これにはresourcemanager.projects.get
権限が必要です。
ラベルを使用して費用を把握する
リソースにラベルを設定し、そのラベルに基づいてリソースをフィルタリングできます。ラベルに関する情報は課金システムに転送され、請求料金をラベル別に分類できます。
ラベルを使用して費用を把握する方法は次のとおりです。
- VM または Cloud Storage バケットに
costcenter=cost_center_name
、service=service_name
、environment=environment_name
などのラベルを追加できます。これにより、リソースのデプロイ先、その目的、費用を負担するコストセンターを把握できます。 - BigQuery への課金データのエクスポートを有効にできます。ラベルは、対応する Google Cloud リソースとその使用量とともに BigQuery にエクスポートされます。これにより、アプリケーションでのショッピング カートサービスの実行費用やデベロッパー テストマシンの費用などの要素をモニタリングできます。
- BigQuery とラベルを組み合わせて使用すると、すべてのテストシステム リソースと本番環境リソースの費用、または特定のサービスにかかる費用を把握できます。
例
この例では、使用量とラベルを BigQuery にエクスポートすることで、プロジェクトの playlist
サービスの費用が決定されます。そのためには、まず BigQuery への課金データのエクスポートを有効にします。labels-demo-prj
はリソース使用量のソースで、labels_demo_bqexport
は使用状況データが保存される宛先データセットです。使用状況とラベルを BigQuery にエクスポートした後、playlist
サービスの費用を決めることができます。
以下に、Compute Engine の使用量と BigQuery での関連費用の詳細を示します。