環境ラベルを管理して環境費用の内訳を調べる

このページでは、Cloud Composer 環境にラベルを割り当て、ラベルに基づいて請求額の内訳を調べる方法について説明します。

環境ラベルについて

環境ラベルは、環境に割り当てることができる Key-Value ペアです。たとえば、owner:engineering-team がカスタムラベルの場合は、owner がキー、engineering-team が値です。

各環境には複数のラベルを付加できますが、1 つの環境のラベルキーは一意であることが必要です。同じキーと値を複数の環境に割り当てることができます。

請求レポートの環境ラベル

環境に割り当てる環境ラベルは請求レポートに表示されるため、ラベルのキーと値の両方に基づいて費用の内訳を調べることができます。

ラベルは過去にさかのぼって適用されません。たとえば、5 月 15 日にラベルを割り当てた場合、割り当てたラベルは 5 月 14 日分の請求額の対象には含まれません。

新しい環境にラベルを割り当てる

環境を作成するときにラベルを割り当てることができます。詳細については、環境の作成をご覧ください。

既存の環境にラベルを割り当てる

Console

  1. Google Cloud Console の [環境] ページに移動します。

    [環境] に移動

  2. 環境を選択します。

  3. [ラベル] タブに移動します。

  4. [編集] をクリックし、[ラベルを追加] をクリックします。

  5. ラベルの Key-Value ペアを追加し、[保存] をクリックします。

  6. 環境が更新されるまで待ちます。

gcloud

gcloud composer コマンドを使用して環境を更新する場合は、次の引数で環境のラベルを指定します。

  • --clear-labels はすべてのラベルを削除します。

  • --update-labels は、指定されたラベルを更新します。ラベルが存在しない場合は、新しいラベルを作成します。

  • --remove-labels は指定されたラベルを削除します。指定されたラベルが存在しない場合は無視します。

これらの引数のうち複数の引数を使用すると、--clear-labels--update-labels--remove-labels の順で適用されます。

ラベルを更新または作成する

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --update-labels LABEL_KEY=LABEL_VALUE

指定したラベルを削除する

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --remove-labels LABEL_KEY

すべてのラベルを削除する

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --clear-labels

以下のように置き換えます。

  • ENVIRONMENT_NAME を環境の名前にする。
  • LOCATION は、環境が配置される Compute Engine のリージョンに置き換えます。
  • LABEL_KEY は、作成、更新、または削除する環境ラベルキーに置き換えます。
  • LABEL_VALUE は、環境ラベルの値に置き換えます。

次の例では、owner ラベルを更新し、新しい env ラベルを作成して、misc ラベルを削除します。

gcloud composer environments update example-environment \
    --location us-central1 \
    --update-labels owner=engineering-team,env=production \
    --remove-labels misc

API

環境を更新するときに、Environment リソース内で環境の新しいラベルを指定します。

すべてのラベルを置き換える

すべてのラベルを置き換えるには、updateMask クエリ パラメータに labels を含め、リクエスト本文に置換を指定します。

// PATCH https://composer.googleapis.com/v1/
// ?{name=projects/*/locations/*/environments/*}
// &updateMask.fieldPaths=labels

{
  "labels":{
      "LABEL_KEY": "LABEL_VALUE"
    }
}

以下のように置き換えます。

  • LABEL_KEY は、環境ラベルのキーに置き換えます。
  • LABEL_VALUE は、環境ラベルの新しい値に置き換えます。

例:

// PATCH https://composer.googleapis.com/v1/
// ?{name=projects/*/locations/*/environments/*}
// &updateMask.fieldPaths=labels

{
  "labels": {
    "owner": "engineering-team",
    "env": "production"
  }
}

すべてのラベルを削除する

すべてのラベルを削除するには、updateMask クエリ パラメータに labels を含め、置換値を指定しません。

個々のラベルを更新する

ラベルを更新するか、既存のラベルに新しいラベルを追加するには、updateMask クエリ パラメータに labels.LABEL_KEY を含め、リクエスト本文に置換を指定します。

// PATCH https://composer.googleapis.com/v1/
// ?{name=projects/*/locations/*/environments/*}
// &updateMask=labels.LABEL_KEY

{
  "labels":{
      "LABEL_KEY": "LABEL_VALUE"
    }
}

以下のように置き換えます。

  • LABEL_KEY は、環境ラベルのキーに置き換えます。
  • LABEL_VALUE は、環境ラベルの新しい値に置き換えます。

例:

// PATCH https://composer.googleapis.com/v1/
// ?name=projects/example-project/locations/
// us-central1/environments/example-environment
// &updateMask=labels.owner,labels.env

{
  "labels": {
    "owner": "engineering-team",
    "env": "production"
  }
}

個々のラベルを削除する

ラベルを削除するには、updateMask クエリ パラメータに labels.LABEL_KEY を含め、置換値を指定しません。

Terraform

デフォルトのパラメータを使用して環境を作成するには、指定された場所でTerraform 構成の labels ブロックを編集し、terraform apply を実行します。

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  labels = {
    LABEL_KEY = "LABEL_VALUE"
  }

}

以下のように置き換えます。

  • LABEL_KEY は、作成または更新する環境ラベルのキーに置き換えます。ラベルを削除するには、ラベルのフィールドを削除します。
  • LABEL_VALUE は、環境ラベルの値に置き換えます。

例:

resource "google_composer_environment" "example" {
  name = "example-environment"
  region = "us-central1"

  labels = {
    owner = "engineering-team"
    env = "production"
  }
}

レポートでラベルを表示する

環境のラベルが請求レポートに反映されたら、これらのラベルに基づいて請求額の内訳を調べることができます。

  1. Cloud 請求先アカウントの Cloud Billing レポートを表示します

  2. [レポート] ページで次の操作を行います。

    1. [フィルタを表示] をクリックします。
    2. [フィルタ] ダイアログで [ラベル] セクションを展開します。
    3. 環境ラベルのキーと値に基づいて表示されるデータをフィルタします。

次のステップ