Cloud Workstations リソースにラベルを付ける

このページでは、Cloud Workstations リソースでラベルを使用する方法について説明します。

ラベルとは

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

ラベルの要件

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

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

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

ラベルの一般的な用途

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

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

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

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

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

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

仮想マシンのラベル: 仮想マシンに設定できるラベル。過去に定義した仮想マシンのタグは、値のないラベルとして表示されます。

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

ラベルとタグ

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

Google Cloud のラベルの詳細については、ラベルを使用してリソースを整理するをご覧ください。

Cloud Workstations リソースラベル

Cloud Workstations は、すべてのリソースに次のラベルを自動的に適用します。

  • workstation_cluster_id
  • workstation_config_id
  • workstation_id
  • workstation_location
  • goog-drz-workstation-location
  • goog-drz-workstation-uuid
  • goog-workstations

カスタム Cloud Workstations ラベル

ワークステーション クラスタ、ワークステーション構成、ワークステーションにカスタムラベルを追加することもできます。これにより、基盤となる Cloud Workstations API リソースにではなく、基盤となるすべての Compute Engine リソースにカスタムラベルが再帰的に適用されます。個々のワークステーション用の Compute Engine リソースにラベルを付けるには、個々のワークステーションごとにラベルを必ず追加してください。

Cloud Workstations API を呼び出すときは、labels フィールドを使用します。

たとえば、以下のサンプル config.json ファイルでは、webserver がキー、backend が対応する値です。同様に、media がキー、images が対応する値です。

    {
      "idleTimeout": "7200s",
      "host": {
        "gce_instance": {
          "machine_type": "e2-standard-8",
          "pool_size": 1
        }
      },
      "persistentDirectories": [
        {
        "mountPath": "/home",
        "gcePd": {
          "sizeGb": 200,
          "fsType": "ext4"
        }
      }
      ],
      "labels": {
        "webserver": "backend",
        "media": "images"
      }
    }