ラベルを使用して、関連するリポジトリを特定してグループ化します。リポジトリに複数のラベルを指定できます。
Google Cloud 組織のレポート、監査、アクセス制御のために Google Cloud 全体のリポジトリやその他のリソースをグループ化するには、タグを使用します。タグとラベルは互いに独立して機能するため、両方を同じリポジトリに適用できます。ラベルとは
ラベルは、 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 呼び出しにタイムスタンプや個別の値を設定するなど、一意のラベルを多数作成することはおすすめしません。このアプローチの問題は、値が頻繁に変更される場合やカタログを混乱させるキーを使用している場合に、リソースを効果的にフィルタして報告することが困難になることです。
ラベルとタグ
ラベルは、リソースに対するクエリ可能なアノテーションとして使用できますが、ポリシーの条件の設定には使用できません。タグを使用すると、ポリシーをきめ細かく制御することによって、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーを許可または拒否することが可能になります。詳細については、タグの概要をご覧ください。
ラベルの追加と更新
リポジトリに 1 つ以上のラベルを追加できます。既存のラベルの値を編集することもできます。
リポジトリにラベルを付けるには、次の手順を行います。
コンソール
Google Cloud コンソールで [リポジトリ] ページを開きます。
リポジトリを選択します。
リポジトリ リスト横に情報パネルが開いていない場合は、[情報パネルを表示] をクリックします。
情報パネルで [ラベル] タブをクリックします。
ラベルの追加、編集
- ラベルを追加するには、[ラベルを追加] をクリックします。ラベルのキーと値のペアを指定し、[保存] をクリックします。
- 既存のラベルを編集するには、ラベルの値を変更して、[保存] をクリックします。
gcloud
1 つ以上のラベルを指定して追加または編集できます。
- ラベルが存在する場合は、対応する値が更新されます。
- ラベルが存在しない場合は、ラベルが作成されます。
- コマンドに
--clear-labelsフラグが含まれている場合、新しいラベルを追加する前に既存のすべてのラベルが削除されます。
次のコマンドを実行します。
gcloud artifacts repositories update REPOSITORY [--project=PROJECT] \
[--location=LOCATION] --update-labels="KEY=VALUE,..."
以下を置き換えます。
REPOSITORYはリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。PROJECTは、 Google Cloud プロジェクト ID です。このフラグを省略すると、現在のプロジェクトまたはデフォルトのプロジェクトが使用されます。-
LOCATIONは、リポジトリのリージョンまたはマルチリージョンのロケーションです。 `--location` フラグを省略してデフォルトを使用できます。 KEY=VALUE,...は、Key-Value ペアとして指定されたカンマ区切りのラベルのリストです。例:team=team-1,product=example_product,stage=development。
このコマンドの詳細をご覧になるには、次のコマンドを実行します。
gcloud artifacts repositories update --help
ラベルでリポジトリをフィルタする
リポジトリ リストは、 Google Cloud コンソールまたは Google Cloud CLI を使用してラベルでフィルタリングできます。
コンソール
Google Cloud コンソールで [リポジトリ] ページを開きます。
[フィルタ] フィールドで、フィルタ条件として [ラベル] を選択し、Key-Value、Key-Value ペアを入力します。
たとえば、
env:devというラベルのリポジトリのみを表示するには、次のいずれかを入力します。- キー
envを入力します。 - 値
devを入力します。 - Key-Value ペア
env:devを入力します。
- キー
gcloud
ラベルに基づいてフィルタするには、gcloud artifacts repositories list コマンドで --filter フラグを使用します。
--filter フラグの値は labels.KEY=VALUE 形式にする必要があります。たとえば、キーが env で値が dev のラベルでアクティブなプロジェクトのリポジトリをフィルタする場合は、次のコマンドを実行します。
gcloud artifacts repositories list --filter labels.env=dev
gcloud CLI のフィルタ構文の詳細については、gcloud topic filters のドキュメントをご覧ください。
ラベルの削除
ラベルを削除するには、次の手順を行います。
コンソール
Google Cloud コンソールで [リポジトリ] ページを開きます。
[リポジトリを選択] をクリックします。
リポジトリ リスト横に情報パネルが開いていない場合は、[情報パネルを表示] をクリックします。
情報パネルで [ラベル] タブをクリックします。
削除するラベルの横にある [アイテムを削除] をクリックします。
gcloud
特定のラベルを削除することも、リポジトリのすべてのラベルの削除することもできます。
特定のラベルを削除するには、次のコマンドを実行します。
gcloud artifacts repositories update REPOSITORY [--project=PROJECT] \
[--location=LOCATION] --remove-labels="LABEL,..."
すべてのラベルを削除するには、次のコマンドを実行します。
gcloud artifacts repositories update REPOSITORY \
[--project=PROJECT] [--location=LOCATION] --clear-labels
以下を置き換えます。
REPOSITORYはリポジトリの名前です。デフォルト リポジトリを構成した場合は、このフラグを省略してデフォルトを使用できます。PROJECTは、 Google Cloud プロジェクト ID です。このフラグを省略すると、現在のプロジェクトまたはデフォルトのプロジェクトが使用されます。-
LOCATIONは、リポジトリのリージョンまたはマルチリージョンのロケーションです。 このフラグを使用して、特定のロケーションのリポジトリを表示します。デフォルト ロケーションを構成している場合は、このフラグを省略してデフォルトを使用できます。 LABELは、各KEY=VALUEペアの鍵、カンマ区切りのラベルのリストです。次に例を示します:team,product
このコマンドの詳細をご覧になるには、次のコマンドを実行します。
gcloud artifacts repositories update --help