このページでは、ラベルの概要を説明し、Resource Manager API と Google Cloud Console を使用してラベルを作成および管理する方法について説明します。
ラベルとは
ラベルは、Google Cloud のリソースを整理する際に役立つ Key-Value ペアです。各リソースにラベルを設定し、そのラベルに基づいてリソースをフィルタリングできます。ラベルに関する情報は課金システムに転送されるため、ラベルを基準に請求料金を分析することもできます。
ラベルは、リソースに対するクエリ可能なアノテーションとして使用できますが、ポリシーの条件の設定には使用できません。タグを使用すると、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーの許可や拒否を行えます。詳細については、タグの概要をご覧ください。
ラベルとタグ
タグは、ポリシーを詳細に制御するために使用される個別のツールです。タグの詳細については、タグの概要をご覧ください。
ラベルの一般的な用途
タイムスタンプやすべての API 呼び出しに個別に値を作成するなど、一意のラベルを多数作成することはおすすめしません。次に、ラベルの一般的なユースケースを示します。
チームまたはコストセンターのラベル: チームやコストセンターに基づいてラベルを追加し、各チームが所有するリソースを区別します(例:
team:research
、team:analytics
)。この種類のラベルは、費用計算または予算作成に使用できます。コンポーネント ラベル:
component:redis
、component:frontend
、component:ingest
、component:dashboard
など。環境ラベルまたはステージのラベル:
environment:production
、environment:test
など。状態のラベル:
state:active
、state:readytodelete
、state:archive
など。
- 仮想マシンのラベル: 仮想マシンに設定できるラベル。過去に定義した仮想マシンのタグは、値のないラベルとして表示されます。
ラベルの要件
リソースに適用するラベルは、次の要件を満たす必要があります。
- 1 つのリソースには、最大 64 個のラベルを適用できます。
- ラベルは、Key-Value ペアでなければなりません。
- キーは 1 文字以上、63 文字までにする必要があります。空にすることはできません。値は 63 文字以下にします。空にすることもできます。
- キーと値には、小文字、数字、アンダースコア、ダッシュのみを使用できます。すべての文字は UTF-8 でエンコードする必要があります。国際文字も使用できます。
- ラベルのキー部分は、単一のリソース内では一意である必要があります。ただし、複数のリソースで同じキーを使用できます
- キーは、小文字または国際文字で始める必要があります。
これらの上限は、各ラベルのキーと値だけでなく、ラベルのある個々の Google Cloud リソースにも適用されます。1 つのプロジェクト内のすべてのリソースに適用できるラベルの数に上限はありません。
権限
ラベルを追加または変更するには、projects.projects.patch()
メソッドを呼び出します。これには resourcemanager.projects.update
権限が必要です。
プロジェクトのラベルを表示するには、projects.get()
メソッドを呼び出します。これには resourcemanager.projects.get
権限が必要です。
ラベルを作成
Console
単一のプロジェクトにラベルを追加するには:
Google Cloud コンソールで [ラベル] ページを開きます。
[プロジェクトを選択] プルダウンからプロジェクトを選択します。
新しいラベルエントリを追加するには、[+ ラベルを追加] をクリックして、追加するラベルのラベルキーと値を入力します。
ラベルの追加が完了したら、[保存] をクリックします。
同時に複数のプロジェクトにラベルを追加するには:
Google Cloud コンソールで [リソースの管理] ページを開きます。
[リソースの管理] ページで、ラベルを追加したいプロジェクトを選択します。
情報パネルの [ラベル] タブで [+ ラベルを追加] をクリックして、追加したい各ラベルのラベルキーと値を入力します。
ラベルの追加が完了したら、[保存] をクリックします。
ラベルの追加後、プロジェクト リストの上にあるフィルタ ボックスにラベルキーまたは値を入力すると、プロジェクトをフィルタリングできます。フィルタ ボックスにキーと値が表示され、結果をプレビューできます。
REST
ラベルがある新しいプロジェクトを作成するには、プロジェクトの作成時にlabels
フィールドを設定します。
リクエスト:
POST https://cloudresourcemanager.googleapis.com/v3/projects { "labels": { "color": "red" }, "name": "myproject", "projectId": "our-project-123" }
レスポンス:
{ "projectNumber": "333197460082", "projectId": "our-project-123", "lifecycleState": "ACTIVE", "name": "myproject", "labels": { "color": "red" }, "createTime": "2016-01-12T22:18:28.633Z", }
既存のプロジェクトにラベルを追加するには:
projects.get()
メソッドを使用してプロジェクトを取得します。labels
フィールドを変更します。projects.patch()
メソッドを使用して、プロジェクトを更新します。
ラベルを追加すると、ラベルに基づいてプロジェクトをフィルタリングできます。ラベルを使用してプロジェクトをフィルタリングする方法については、プロジェクトの一覧作成をご覧ください。
ラベルの更新
Console
1 つのプロジェクトのラベルを更新するには:Google Cloud コンソールで [ラベル] ページを開きます。
[プロジェクトを選択] プルダウンからプロジェクトを選択します。
プロジェクトのラベルを更新します。
- ラベルを編集するには、編集する値をクリックして、必要な変更を加えます。
- ラベルを削除するには、ポインタをキーまたは値の上に置き、 をクリックします。
ラベルの更新が完了したら、[保存] をクリックします。
同時に複数のプロジェクトのラベルを更新するには:
Google Cloud コンソールで [リソースの管理] ページを開きます。
[リソースの管理] ページで、ラベルを更新するプロジェクトを選択します。
情報パネルで [ラベル] タブをクリックして、選択したプロジェクトのラベルを更新します。
- ラベルを編集するには、編集する値をクリックして、必要な変更を加えます。
- ラベルを削除するには、ポインタをキーまたは値の上に置き、 をクリックします。
ラベルの更新が完了したら、[保存] をクリックします。
REST
プロジェクトのラベルを更新するには、次の操作を行います。
projects.get()
メソッドを使用して、project
オブジェクトを取得します。更新するラベルを修正します。
projects.patch
メソッドを呼び出します。
次の例では、ラベル color:blue
を更新します。
次のコード スニペットによって、color
ラベルの値は blue
から red
に変更されます。
リクエスト:
PATCH https://cloudresourcemanager.googleapis.com/v3/{project.name=PROJECT_NAME}
{
updateMask=labels
}
プロジェクト名を PROJECT_NAME
に更新したい場所。
JSON 本文のリクエスト
{
"labels":
{
"color": "red"
}
}
対応:
{
"projects": [
{
"name": "projects/123456789012",
"parent": "folders/123456789012",
"projectId": "my-project",
"state": "ACTIVE",
"displayName": "PROJECT_NAME"
"createTime": "2013-11-13T20:31:53.308Z"
"updateTime": "2013-11-13T20:35:42.308Z"
"etag": "BwWUlZ6XEfY="
"labels": {
"color": "red"
},
}
]
}
ラベルをサポートするサービス
現在、次の Google Cloud サービスでラベルがサポートされています。
- AI Platform
- App Engine(フレキシブル環境とスタンダード環境の両方)
- Artifact Registry
- BigQuery
- Certificate Authority Service
- Cloud Bigtable
- Cloud Composer
- Cloud Deployment Manager
- Cloud Functions
- Cloud Healthcare API
- Cloud Key Management Service
- Cloud Run
- Cloud Spanner
- Cloud SQL
- Cloud Storage
- Cloud Translation
- Compute Engine
- Dataflow
- Dataproc
- Filestore
- Google Kubernetes Engine
- Memorystore
- ネットワーキング
- Pub/Sub
- reCAPTCHA Enterprise
- Resource Manager(プロジェクトのみ)
- Transcoder API
- Vertex AI