라벨 구성

Cloud Run 라벨은 Cloud Run 서비스 및 버전에 적용되는 키-값 쌍입니다. 이 페이지에서는 Cloud Run 서비스 및 버전에서 라벨을 설정, 수정, 삭제하는 방법을 보여줍니다. Cloud Run 서비스에서 라벨을 설정하면 이 서비스에 대해 이 라벨이 적용된 새 서비스 버전이 생성됩니다. 이전 버전에는 적용되지 않습니다.

가능한 용도는 다음과 같습니다.

  • 비용 할당 및 청구액 분석에 사용합니다.
  • 개별 팀 또는 비용 센터에서 사용되는 리소스를 식별합니다.
  • 배포 환경(프로덕션, 스테이징, QA, 테스트)을 구분합니다.
  • 소유자, 상태 라벨을 식별합니다.
  • Logging에서 로그를 필터링합니다.

라벨 사용 규칙

다음 규칙은 Cloud Run 서비스에 설정된 라벨을 사용할 때 적용됩니다.

Cloud Run에서는 유효한 Google Cloud 라벨만 사용할 수 있습니다.

필요한 역할

Cloud Run 서비스를 구성하고 배포하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

Cloud Run과 연결된 IAM 역할 및 권한 목록은 Cloud Run IAM 역할Cloud Run IAM 권한을 참조하세요. Cloud Run 서비스가 Cloud 클라이언트 라이브러리와 같은 Google Cloud API와 상호작용하는 경우에는 서비스 ID 구성 가이드를 참조하세요. 역할 부여에 대한 자세한 내용은 배포 권한액세스 관리를 참조하세요.

라벨 설정 또는 수정

구성을 변경하면 새 버전이 생성됩니다. 이를 변경하는 명시적 업데이트가 없으면 이후 버전에도 이 구성 설정이 자동으로 적용됩니다.

새 버전을 배포할 때 Google Cloud 콘솔, gcloud 명령줄 또는 YAML 파일을 사용하여 라벨을 설정하거나 변경할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud Run으로 이동합니다.

    Cloud Run으로 이동

  2. 라벨을 설정할 서비스의 왼쪽에 있는 체크박스를 선택합니다.

  3. 맨 오른쪽에 있는 정보 패널이 사용 설정되어 있는지 확인합니다(정보 패널 표시).

  4. 라벨을 클릭하여 라벨 창을 표시합니다.

    라벨 설정

  5. 기존 라벨 키 값을 수정하려면 라벨을 찾아서 원하는 대로 을 변경합니다.

  6. 서비스에서 새 라벨을 설정하려면 라벨 추가를 클릭하고 키와 값을 제공합니다.

  7. 저장을 클릭합니다.

gcloud

다음 명령어를 사용하여 서비스의 라벨을 업데이트할 수 있습니다.

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

라벨을 2개 이상 업데이트하려면 쉼표로 구분된 키-값 쌍 목록을 입력합니다. update-labels 명령어는 라벨이 이미 있으면 라벨 키에 새 값을 설정하고, 그렇지 않으면 새 라벨을 만듭니다.

다음과 같이 바꿉니다.

  • SERVICE: Cloud Run 서비스 이름
  • KEY: 라벨 키 이름
  • VALUE: 키 값

배포 도중 라벨을 설정할 수도 있습니다.

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

배포 도중 라벨을 2개 이상 만들려면 쉼표로 구분된 키-값 쌍 목록을 입력하세요.

YAML

  1. 새 서비스를 만드는 경우에는 이 단계를 건너뜁니다. 기존 서비스를 업데이트하는 경우 YAML 구성을 다운로드합니다.

    gcloud run services describe SERVICE --format export > service.yaml
  2. 두 위치에서 labels 속성을 업데이트합니다.

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

    다음과 같이 바꿉니다.

    • SERVICE: Cloud Run 서비스 이름
    • LABEL: 라벨 이름
    • VALUE: 원하는 값
    • REVISION: 새 버전 이름, 또는 버전이 있는 경우 삭제 가능. 새 버전 이름을 제공할 경우 다음 기준을 반드시 충족해야 합니다.
      • SERVICE-로 시작해야 합니다.
      • 소문자, 숫자, -만 포함합니다.
      • -로 끝나면 안 됩니다.
      • 63자(영문 기준) 이하여야 합니다.

    metadata.labels는 서비스 객체에 라벨을 설정하고 spec.template.metadata.label은 생성된 버전에 라벨을 설정합니다. 버전에 설정된 라벨만 로그 및 결제로 전달됩니다.

  3. 다음 명령어를 사용하여 서비스를 만들거나 업데이트합니다.

    gcloud run services replace service.yaml

Terraform

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

다음 스니펫은 Terraform 구성의 google_cloud_run_v2_service 리소스를 사용하여 Cloud Run 인스턴스에 2개의 라벨 foo(값: bar) 및 baz(값: quux)를 추가합니다.

다음과 같이 template 아래에 라벨을 추가하면 버전의 라벨이 설정됩니다. 버전에 설정된 라벨만 로그와 결제로 전달됩니다. template 아래 이외의 위치에 라벨을 추가하면 버전이 아닌 서비스에 라벨이 설정됩니다.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-labels"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    # Labels
    labels = {
      foo : "bar"
      baz : "quux"
    }
  }
}

다음을 바꿉니다.

  • name 속성을 서비스 이름으로 바꿉니다.
  • location 속성을 서비스에 사용되는 위치로 바꿉니다.
  • image 속성을 컨테이너 이미지로 바꿉니다.
  • foobaz를 자체 라벨 이름으로 바꿉니다.
  • barquux를 자체 라벨 값으로 바꿉니다.

라벨별로 서비스 나열

Google Cloud CLI 필터를 사용하여 라벨을 기준으로 서비스를 나열할 수 있습니다.

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

다음과 같이 바꿉니다.

  • LABEL을 라벨 이름으로 바꿉니다.
  • VALUE: 필터링된 목록에 포함할 값

서비스의 라벨 삭제

Console 또는 명령줄을 사용하여 서비스의 라벨을 삭제할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud Run으로 이동합니다.

    Cloud Run으로 이동

  2. 라벨을 삭제할 서비스의 왼쪽에 있는 체크박스를 선택합니다.

  3. 맨 오른쪽에 있는 정보 패널이 사용 설정되어 있는지 확인합니다(정보 패널 표시).

  4. 라벨을 클릭하여 라벨 창을 표시합니다.

  5. 삭제할 라벨을 찾습니다.

  6. 마우스 커서를 라벨의 텍스트 상자 오른쪽으로 가져가서 휴지통 아이콘을 표시하고 클릭합니다.

  7. 저장을 클릭합니다.

gcloud

서비스에서 모든 라벨을 삭제하려면 다음 명령어를 사용하세요.

gcloud run services update SERVICE --clear-labels

서비스에서 특정 라벨을 삭제하려면 쉼표로 구분된 키 목록을 입력하세요.

gcloud run services update SERVICE --remove-labels LABEL

다음과 같이 바꿉니다.

  • SERVICE: Cloud Run 서비스 이름
  • LABEL을 라벨 이름으로 바꿉니다.