ラベルの使用

このページでは、Cloud Run サービスとリビジョンのラベルを設定、変更、削除する方法について説明します。Cloud Run の場合、ラベルはサービスとリビジョンに適用される Key-Value ペアです。Cloud Run サービスにラベルを設定すると、このラベルが付いた新しいリビジョンがこのサービスに作成されます。ラベルは古いリビジョンには適用されません。

たとえば、次のような用途が考えられます。

  • 費用の割り当てと請求の内訳に使用する
  • 個々のチームやコストセンターで使用されているリソースを特定する
  • デプロイ環境(本番、ステージング、検証、テスト)を区別する
  • 所有者、状態のラベルを特定する

ラベルの使用ルール

Cloud Run サービスで設定されたラベルを使用する場合、次のルールが適用されます。

Cloud Run で使用できるのは、有効な Google Cloud ラベルのみです。

ラベルの設定または変更

構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。

新しいリビジョンをデプロイするときに、Cloud Console、gcloud コマンドライン、または YAML ファイルを使用してラベルを設定または変更できます。

Console

  1. Cloud Run に移動します

  2. ラベルを設定するサービスの左側にあるチェックボックスをオンにします。

  3. 右端の情報パネルがオンになっていることを確認します(情報パネルを表示)。

  4. [ラベル] をクリックして、ラベルペインを表示します。

    ラベルを設定

  5. 既存のラベル Key-Value を編集するには、ラベルを探して、値を必要に応じて変更します。

  6. サービスに新しいラベルを設定するには、[ラベルを追加] をクリックしてキーと値を指定します。

  7. [保存] をクリックします。

コマンドライン

次のコマンドを使用して、サービスのラベルを更新できます。

gcloud run services update SERVICE --update-labels KEY=VALUE

複数のラベルを更新するには、Key-Value ペアのカンマ区切りリストを指定します。ラベルがすでに存在する場合、update-labels コマンドはラベルキー用に新しい値を設定します。それ以外の場合は、新しいラベルを作成します。

次のように置き換えます。

  • SERVICE は、Cloud Run サービスの名前に置き換えます。
  • KEY は、ラベルキーの名前に置き換えます。
  • VALUE は、キーの値に置き換えます。

デプロイ中にラベルを設定することもできます。

gcloud run deploy SERVICE --image IMAGE --labels KEY=VALUE

デプロイ中に複数のラベルを作成するには、Key-Value ペアのカンマ区切りのリストを指定します。

YAML

既存のサービス構成をダウンロードして表示するには、gcloud run services describe --format export コマンドを使用します。読みやすく整えられた結果が YAML 形式で出力されます。次に、下記の手順に沿ってフィールドを変更し、gcloud beta run services replace コマンドを使用して変更後の YAML ファイルをアップロードします。必ず説明されているとおりにフィールドを変更してください。

  1. 次のコマンドで、構成を表示してダウンロードします。

    gcloud run services describe SERVICE --format export > service.yaml
  2. labels 属性を更新します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      labels:
        LABEL: 'VALUE'

    次のように置き換えます。

    • SERVICE は、Cloud Run サービスの名前に置き換えます。
    • LABEL は、ラベルの名前に置き換えます。
    • VALUE は、目的の値に置き換えます。
  3. 次のコマンドを使用して、サービスを新しい構成に置き換えます。

    gcloud beta run services replace service.yaml

ラベル別にサービスを一覧表示する

Cloud SDK フィルタを使用して、ラベル別にサービスを一覧表示できます。

  gcloud run services list --filter metadata.labels.LABEL=VALUE
  

次のように置き換えます。

  • LABEL は、ラベルの名前に置き換えます。
  • VALUE は、フィルタ後のリストに含める値に置き換えます。

ラベルを削除する

Console またはコマンドラインの削除ラベルを使用できます。

Console

  1. Cloud Run に移動します

  2. ラベルを削除するサービスの左側にあるチェックボックスをオンにします。

  3. 右端の情報パネルがオンになっていることを確認します(情報パネルを表示)。

  4. [ラベル] をクリックして、ラベルペインを表示します。

  5. 削除するラベルを見つけます。

  6. ラベルの [値] テキストボックスの右にカーソルを合わせ、表示されるゴミ箱アイコンをクリックします。

  7. [保存] をクリックします。

コマンドライン

サービスからラベルをすべて消去するには:

gcloud run services update SERVICE --clear-labels

サービスから特定のラベルを削除するには、キーのカンマ区切りリストを指定します。

gcloud run services update SERVICE --remove-labels LABEL

次のように置き換えます。

  • SERVICE は、Cloud Run サービスの名前に置き換えます。
  • LABEL は、ラベルの名前に置き換えます。