Pub/Sub のラベルは、費用の管理とリソースの整理に役立ちます。たとえば、さまざまな種類のニュース速報を複数定期購読しているとします。各定期購入に、関連するカテゴリ(news_category=sports
や news_category=entertainment
など)のラベルを付けることができます。
ラベルとは
ラベルは、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 呼び出しにタイムスタンプや個別の値を設定するなど、一意のラベルを多数作成することはおすすめしません。このアプローチの問題は、値が頻繁に変更される場合やカタログを混乱させるキーを使用している場合に、リソースを効果的にフィルタして報告することが困難になることです。
ラベルとタグ
ラベルは、リソースに対するクエリ可能なアノテーションとして使用できますが、ポリシーの条件の設定には使用できません。タグを使用すると、ポリシーをきめ細かく制御することによって、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーを許可または拒否することが可能になります。詳細については、タグの概要をご覧ください。
Pub/Sub でのラベルの管理
Pub/Sub では、特定の請求先アカウントの料金を整理するためにラベルがよく使用されています。料金は、リクエストされたリソースを含むプロジェクトの請求先アカウントに関連付けられますが、関連付けを追加することもできます。たとえば、あるプロジェクトに属するサブスクリプションが、別のプロジェクトに属するトピックに対して作成されたとします。この場合、ラベルを使用して、そのトピックとサブスクリプションを共通のコストセンターに関連付けます。
Pub/Sub リソース間でラベルが継承されることはありません。上記の例でトピックとサブスクリプションの料金を関連付けるには、この 2 つに同じラベルを設定します。
Pub/Sub リソースにラベルを適用するには、次の機能を使用できます。
- Google Cloud コンソール: リソースを選択し、[ラベル] タブに移動します。
- Pub/Sub クライアント ライブラリ(具体的には Java と Python)。
- Pub/Sub 用 Google Cloud CLI。例としては、create topic コマンドをご覧ください。