환경 라벨 관리 및 환경 비용 분석

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

이 페이지에서는 Cloud Composer 환경에 라벨을 할당한 후 이 라벨을 기준으로 청구 비용을 분류하는 방법을 설명합니다.

환경 라벨 정보

환경 라벨은 환경에 할당할 수 있는 키-값 쌍입니다. 예를 들어 owner:engineering-team이 커스텀 라벨이면 owner는 키이고 engineering-team은 값입니다.

환경마다 라벨이 여러 개 있을 수 있지만 단일 환경의 라벨 키는 고유해야 합니다. 여러 환경에 동일한 키와 값을 할당할 수 있습니다.

결제 보고서의 환경 라벨

환경에 할당하는 환경 라벨은 결제 보고서에 표시되므로 라벨의 키와 값을 기준으로 비용을 분류할 수 있습니다.

라벨은 소급해서 적용되지 않습니다. 예를 들어 5월 15일에 라벨을 할당하면 5월 14일의 청구 비용에는 할당된 라벨이 포함되지 않습니다.

새 환경에 라벨 할당

환경을 만들 때 라벨을 할당할 수 있습니다. 자세한 내용은 환경 만들기를 참조하세요.

기존 환경에 라벨 할당

콘솔

  1. Google Cloud Console의 환경 페이지로 이동합니다.

    환경으로 이동

  2. 환경을 선택합니다.

  3. 라벨 탭으로 이동합니다.

  4. 수정을 클릭한 후 라벨 추가를 클릭합니다.

  5. 라벨의 키-값 쌍을 추가한 후 저장을 클릭합니다.

  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을 환경이 위치한 리전으로 바꿉니다.
  • 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

환경을 업데이트할 때 환경 리소스에서 환경의 새 라벨을 지정하세요.

모든 라벨 바꾸기

모든 라벨을 바꾸려면 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 Billing 계정의 Cloud Billing 보고서를 봅니다.

  2. 보고서 페이지에서 다음을 수행합니다.

    1. 필터 표시를 클릭합니다.
    2. 필터 대화상자에서 라벨 섹션을 펼칩니다.
    3. 환경 라벨의 키와 값을 기준으로 표시된 데이터를 필터링합니다.

다음 단계