デプロイにラベルを追加する

ラベルは、関連する、または、互いに関連付けられたデプロイを整理するための手軽な方法です。たとえば、よく使用される方法としては、本番環境用、ステージング用、開発用それぞれのデプロイを個別にラベル付けして、各ステージに属しているデプロイを必要に応じて簡単に検索できるようにします。

ラベルとは

ラベルとは、デプロイなどの Google Cloud Platform リソースを整理するのに役立つ Key-Value ペアのことです。各リソースにラベルを設定し、そのラベルに基づいてリソースをフィルタリングできます。ラベルに関する情報は課金システムに転送されるため、ラベルを基準に請求料金を分析することもできます。

ラベルの一般的な用途

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

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

  • コンポーネント ラベル: たとえば component:rediscomponent:frontendcomponent:ingestcomponent:dashboard

  • 環境またはステージのラベル: たとえば、environment:productionenvironment:test

  • オーナーや連絡先のラベル: デプロイのオーナーや連絡先担当者に基づいてラベルを追加します。

  • 状態ラベル: たとえば、state:activestate:readytodeletestate:archive

ラベルの要件

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

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

ラベル付きデプロイの作成

デプロイの作成時に、1 つ以上のキーと値のペアをラベルとして指定することにより、ラベルを追加できます。既存のデプロイが存在する場合は、それを更新して、新しいラベルを追加したり、既存のラベルを変更したりできます。

ラベル付きのデプロイを作成するには、gcloud ツールまたは API を使用する必要があります。

gcloud

gcloud で、--labels フラグの後ろにキーと値のペアのカンマ区切りリストを指定して、デプロイにラベルを追加します。たとえば次のコマンドは、デプロイに devserver=backendstorage=media の 2 つのラベルを追加します。

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels devserver=backend,storage=media

デプロイに適用されたラベルを確認するには、デプロイの記述を次のように取得します。

gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: devserver
  value: backend
- key: storage
  value: media
manifest: manifest-1492533767362
name: example-deployment
operation:
  endTime: '2017-04-18T09:43:04.581-07:00'
  name: operation-1492533767010-54d7398ff76d1-7930b926-f64e72ae
  operationType: insert
  progress: 100
  startTime: '2017-04-18T09:42:48.034-07:00'
  status: DONE
  user:user@example.com

API

API で、デプロイを作成する手順に従い、新しい labels ラベルをリクエスト本文の中で指定します。次に例を示します。

{
  "name": "example-deployment",
  "target": {
    "config": {
      "content": "..."
      },
   }
  "labels": [
  {
    "key": "devserver",
    "value": "backend"
  },
  {
    "key": "storage",
    "value": "media"
  }
 ]
}

ラベルを削除する

コンソール

  1. Google Cloud Platform Console の [デプロイ] ページに移動します。

    [デプロイ] ページに移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. ラベルを削除するデプロイの横にあるボックスをオンにします。サイドパネルが表示されます。
  4. 削除するラベルの横にある [X] をクリックします。
  5. 変更を保存します。

gcloud

gclouddeployments update コマンドを使用して、--remove-labels フラグの後ろに削除するラベルキーのカンマ区切りリストを指定することにより、ラベルを削除します。

たとえば次のコマンドは、devserver キーを使用してラベルを削除します。

gcloud deployment-manager deployments update example-deployment --remove-labels devserver

API

API で、デプロイを更新する手順に従い、デプロイの更新をリクエスト本文の中で指定します。この更新に labels プロパティが含まれていなければ、実質的にラベルが削除されます。

ラベルの追加または更新

既存のデプロイで新しいラベルを追加したり、ラベルを更新したりできます。

コンソール

  1. Google Cloud Platform Console の [デプロイ] ページに移動します。

    [デプロイ] ページに移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. ラベルを更新するデプロイの横にあるボックスをオンにします。サイドパネルが表示されます。
  4. ラベル値を変更するには、該当するラベルエントリを更新します。ラベルキーを変更するには、いったんラベルを削除し、新しいキーを使ってもう一度追加する必要があります。
  5. 変更を保存します。

gcloud

gclouddeployments update コマンドを使用して、--update-labels フラグの後ろに更新するラベルのカンマ区切りリストを指定することにより、新しいラベルを更新または追加します。

たとえば、次のコマンドは devserver ラベルを更新します。

gcloud deployment-manager deployments update example-deployment --update-labels devserver=frontend

API

API で、デプロイを更新する手順に従い、リクエスト本文から labels プロパティを除外します。これで、実質的にラベルがデプロイから削除されます。

デプロイのプレビュー中にラベルを追加する

デプロイを作成する前に、それをプレビューできます。プレビューの一環として、プレビューするデプロイにラベルを割り当てることができます。次に例を示します。

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels devserver=backend --preview

プレビュー中のラベルを変更するには、新しいラベルを使ってプレビューを更新する必要があります。プレビューの詳細については、設定のプレビュー ドキュメントをご覧ください。

ラベルを使用した検索結果のフィルタリング

リソースの検索結果をラベルでフィルタリングできます。

コンソール

  1. Google Cloud Platform Console の [デプロイ] ページに移動します。

    [デプロイ] ページに移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. 検索バーに labels. を入力すると、フィルタを適用できるラベルが自動的に表示されます。

gcloud

gcloud では、list リクエストを作成し、--filter フラグを使用します。ラベルでフィルタリングを行うには、構文 labels.[KEY]=[VALUE] を使用します。たとえば、キーが env で値が dev のラベルでフィルタリングする場合は、次のコマンドを実行します。

gcloud deployment-manager deployments list --filter labels.env=dev

gcloud ツールでのフィルタ構文の詳細については、gcloud topic filters のドキュメントをご覧ください。

API

API では、list リクエストを作成し、URL エンコードされた filter クエリ パラメータを指定します。たとえば、ラベルキー env が値 dev と等しいという条件でフィルタリングするには、次の GET リクエストを行います。

GET https://www.googleapis.com/deploymentmanager/v2/deployments/list?filter=labels.env+eq+devserver

詳細については、API リファレンスの filter のドキュメントをご覧ください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Deployment Manager のドキュメント