タグとラベル

このページでは、Filestore リソースに設定可能なタグとラベルについて説明します。

概要

Google Cloud タグとラベルは、Filestore リソースを整理するための 2 つの方法です。

タグとラベルは互いに独立して機能するため、同じリソースにタグとラベルの両方を使用できます。

タグ

タグは Key-Value ペアで、リソースに対してきめ細かいアクセス制御を行うことができます。また、バケットレベルできめ細かい費用データを取得することもできます。

タグは、組織またはプロジェクト レベルで作成し、Google Cloud 全体で使用される Resource Manager で管理します。Filestore リソースにタグを適用すると、IAM 条件でタグを使用してリソースへのアクセス権を付与したり、組織のポリシーを使用してリソースに制約を適用したりできます。このタグを使用して、Cloud Billing にエクスポートされた詳細な使用料金データを分析することもできます。

タグは Filestore インスタンスとバックアップに適用できます。

タグを使用する場合は、次の制限事項に注意してください。

  • タグをリソースに適用できるのは、リソースの作成後のみです。

  • タグはスナップショットに直接適用することはできませんが、スナップショットは関連付けられたインスタンスに設定されたタグを継承します。

  • リソースごとに最大 50 個のタグ バインディングを使用できます。

注: タグは不変であり、編集できません。

Terraform でリソースを管理している場合、Terraform はリソースを破棄し、不変パラメータを更新しようとすると再作成します。再作成は、リソースを削除してから不変パラメータを使用してリソースを作成するプロセスで、データが失われる可能性があります。

Terraform を使用して Filestore を管理する場合は、削除保護を有効にすることをおすすめします。

必要な権限

タグは Resource Manager で管理されますが、Filestore リソースにタグを設定して管理するには、次の IAM 権限が必要です。

  • file.RESOURCE_TYPE.listTagBindings
  • file.RESOURCE_TYPE.listEffectiveTags
  • file.RESOURCE_TYPE.createTagBinding
  • file.RESOURCE_TYPE.deleteTagBinding

RESOURCE_TYPE は、インスタンスのタグを管理する場合は instances、バックアップのタグを管理する場合は backups です。

これらの権限は、カスタムロールから継承できます。また、タグユーザー(roles/resourcemanager.tagUser)ロールや Cloud Filestore エディタ(roles/file.editor)ロールなどの事前定義ロールから継承することもできます。

Filestore リソースへのタグの適用例

タグを作成して定義したら、そのタグを Filestore リソースに適用できます。

次のシナリオを考えてみます。

  • タグ値の名前空間名は 815471563813/color/blue です。
  • my-instance という名前のインスタンスが存在します。
  • インスタンスは us-central1my-project という名前のプロジェクトにあります。

次の gcloud コマンドは、my-instance にタグを適用します。

gcloud resource-manager tags bindings create \
--tag-value=815471563813/color/blue \
--parent=//file.googleapis.com/projects/my-project/locations/us-central1/instances/my-instance \
--location=us-central1

次の gcloud コマンドは、my-instance からタグの適用を解除します。

gcloud resource-manager tags bindings delete \
--tag-value=815471563813/color/blue \
--parent=//file.googleapis.com/projects/my-project/locations/us-central1/instances/my-instance \
--location=us-central1

my-instance から継承されているタグを除き、my-instance に直接接続されているタグのリストを表示するには、次の gcloud コマンドを実行します。

gcloud resource-manager tags bindings list \
--parent=//file.googleapis.com/projects/my-project/locations/us-central1/instances/my-instance \
    --location=us-central1

詳しい手順については、リソースへのタグの適用をご覧ください。

ラベル

ラベルとは

ラベルは、Google Cloud Filestore インスタンスに割り当てることができる Key-Value ペアです。ラベルはこれらのリソースを整理し、必要な粒度に基づいてコストを大規模に管理する場合に役立ちます。各リソースにラベルを設定し、そのラベルに基づいてリソースをフィルタできます。ラベルに関する情報は課金システムに転送され、請求料金をラベル別に分類できます。組み込みの請求レポートにより、リソースラベルで費用をフィルタしてグループ化できます。また、ラベルを使用して請求データ エクスポートをクエリすることもできます。

ラベルの要件

リソースに適用するラベルは、次の要件を満たす必要があります。

  • 各リソースには、最大 64 個のラベルを設定できます。
  • ラベルは、Key-Value ペアでなければなりません。
  • キーは 1 文字以上、63 文字までにする必要があります。空にすることはできません。値は 63 文字以下にします。空にすることもできます。
  • キーと値には、小文字、数字、アンダースコア、ダッシュのみを使用できます。すべての文字は UTF-8 でエンコードする必要があります。国際文字も使用できます。キーは、小文字または国際文字で始める必要があります。
  • ラベルのキー部分は、単一のリソース内では一意である必要があります。ただし、複数のリソースで同じキーを使用できます

これらの上限は、各ラベルのキーと値だけでなく、ラベルのある個々の Google Cloud リソースにも適用されます。1 つのプロジェクト内のすべてのリソースに適用できるラベルの数に上限はありません。

ラベルの一般的な用途

次に、ラベルの一般的な使用例を示します。

  • チームまたはコストセンターのラベル: チームやコストセンターに基づいてラベルを追加し、各チームが所有する Filestore インスタンスを区別します(例: team:researchteam:analytics)。この種類のラベルは、費用計算または予算作成に使用できます。

  • コンポーネント ラベル: component:rediscomponent:frontendcomponent:ingestcomponent:dashboard など。

  • 環境ラベルまたはステージのラベル: environment:productionenvironment:test など。

  • 状態のラベル: state:activestate:readytodeletestate:archive など。

  • オーナー権限ラベル: 運用担当チームの識別に使用されます(例: team:shopping-cart)。

すべての API 呼び出しにタイムスタンプや個別の値を設定するなど、一意のラベルを多数作成することはおすすめしません。このアプローチの問題は、値が頻繁に変更される場合やカタログを混乱させるキーを使用している場合に、リソースを効果的にフィルタして報告することが困難になることです。

ラベルとタグ

ラベルは、リソースに対するクエリ可能なアノテーションとして使用できますが、ポリシーの条件の設定には使用できません。タグを使用すると、ポリシーをきめ細かく制御することによって、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーを許可または拒否することが可能になります。詳細については、タグの概要をご覧ください。

次のステップ