배포에 라벨 추가

라벨은 관련이 있거나 서로 연관된 배포를 간단하게 정리할 수 있는 방법입니다. 예를 들어 일반적으로 각 단계에 속하는 배포를 쉽게 검색할 수 있도록 각각 프로덕션, 스테이징 또는 개발에 사용할 배포에 라벨을 지정할 수 있습니다.

라벨이란 무엇인가요?

라벨은 Google Cloud 배포에 할당할 수 있는 키-값 쌍입니다. 이러한 리소스를 구성하고 필요한 세부사항으로 규모에 맞게 비용을 관리하는 데 도움이 됩니다. 각 리소스에 라벨을 연결한 후 이 라벨을 기준으로 리소스를 필터링할 수 있습니다. 라벨에 대한 정보는 청구 요금을 라벨별로 분류할 수 있는 결제 시스템으로 전달됩니다. 기본 제공되는 결제 보고서를 통해 리소스 라벨별로 비용을 필터링하고 그룹화할 수 있습니다. 라벨을 사용하여 결제 데이터 내보내기를 쿼리할 수도 있습니다.

라벨 요구사항

리소스에 적용된 라벨은 다음 요구사항을 충족해야 합니다.

  • 각 리소스에 라벨을 최대 64개까지 사용할 수 있습니다.
  • 각 라벨은 키-값 쌍이어야 합니다.
  • 키는 비워 둘 수 없으며 최소 길이는 1자(영문 기준)이고 최대 길이는 63자(영문 기준)입니다. 값은 비워 둘 수 있으며 최대 길이는 63자(영문 기준)입니다.
  • 키와 값에는 소문자, 숫자, 밑줄, 대시만 사용할 수 있습니다. 모든 문자는 UTF-8 인코딩을 사용해야 하며 국제 문자가 허용됩니다. 키는 소문자나 국제 문자로 시작해야 합니다.
  • 라벨의 키 부분은 단일 리소스에서 고유해야 합니다. 그러나 여러 리소스에 같은 키를 사용할 수 있습니다.

이러한 한도는 각 라벨의 키와 값 및 라벨이 있는 개별 Google Cloud 리소스에 적용됩니다. 한 프로젝트의 모든 리소스에 적용할 수 있는 라벨 수에는 제한이 없습니다.

라벨의 일반적인 사용 사례

다음은 라벨의 몇 가지 일반적인 사용 사례입니다.

  • 팀 또는 비용 센터 라벨: 팀 또는 비용 센터를 기준으로 라벨을 추가하여 서로 다른 팀(예: team:researchteam:analytics)에서 소유하는 배포를 구분할 수 있습니다. 비용 계산이나 예산 책정에 이 유형의 라벨을 사용할 수 있습니다.

  • 구성요소 라벨: component:redis, component:frontend, component:ingest, component:dashboard를 예로 들 수 있습니다.

  • 환경 또는 단계 라벨: environment:productionenvironment:test를 예로 들 수 있습니다.

  • 상태 라벨: state:active , state:readytodelete, state:archive를 예로 들 수 있습니다.

  • 소유권 라벨: 작업을 담당하는 팀을 식별하는 데 사용됩니다(예: team:shopping-cart).

모든 API 호출의 타임스탬프 또는 개별 값과 같은 다수의 고유 라벨을 만들지 않는 것이 좋습니다. 이 접근 방식의 문제는 값이 자주 변경되거나 카탈로그를 복잡하게 하는 키로 인해 리소스를 효과적으로 필터링하고 보고하기 어렵다는 것입니다.

라벨 및 태그

라벨은 리소스에 대해 쿼리 가능한 주석으로 사용될 수 있지만 정책에 조건을 설정하는 데는 사용할 수 없습니다. 태그를 사용하면 정책을 세밀하게 제어하여 리소스에 특정 태그가 있는지 여부에 따라 정책을 조건부로 허용하거나 거부할 수 있습니다. 자세한 내용은 태그 개요를 참조하세요.

라벨로 배포 만들기

배포를 만들 때 하나 이상의 키 값 쌍을 라벨로 제공하여 라벨을 추가할 수 있습니다. 기존 배포가 있는 경우 배포를 업데이트하여 새 라벨을 추가하거나 기존 라벨을 변경할 수 있습니다.

라벨로 배포를 만들려면 gcloud CLI 또는 API를 사용해야 합니다.

gcloud

gcloud에서 --labels 플래그와 쉼표로 구분된 키 값 쌍 목록을 제공하여 라벨을 배포에 추가합니다. 예를 들어 다음 명령어는 배포에 라벨 두 개(environment=productionstorage=media)를 추가합니다.

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

배포에 적용된 라벨을 보려면 배포 설명을 가져옵니다.

gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: environment
  value: production
- 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": "environment",
    "value": "production"
  },
  {
    "key": "storage",
    "value": "media"
  }
 ]
}

라벨 삭제

콘솔

  1. Google Cloud 콘솔에서 배포 페이지로 이동합니다.

    배포 페이지로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.

  3. 라벨을 삭제하려는 배포 옆에 있는 상자를 선택합니다. 측면 패널이 표시됩니다.

  4. 삭제하려는 각 라벨 옆에 있는 X를 클릭합니다.

  5. 변경사항을 저장합니다.

gcloud

gcloud에서 deployments update 명령어를 사용하고 --remove-labels 플래그와 쉼표로 구분된 삭제할 라벨 키 목록을 제공하여 라벨을 삭제합니다.

예를 들어 다음은 environment 키가 있는 라벨을 삭제합니다.

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

API

API에서 안내를 따라 배포를 업데이트하고 요청 본문에 labels 속성이 없는 배포 업데이트를 포함하면 효과적으로 라벨을 삭제할 수 있습니다.

라벨 추가 또는 업데이트

기존 배포에서 새 라벨을 추가하거나 라벨을 업데이트할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 배포 페이지로 이동합니다.

    배포 페이지로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.

  3. 라벨을 업데이트하려는 배포 옆의 상자를 선택합니다. 측면 패널이 열립니다.

  4. 라벨 값을 변경하려면 적합한 라벨 항목을 업데이트합니다. 라벨 키를 변경하려면 라벨을 삭제하고 새 키를 사용해서 라벨을 다시 추가해야 합니다.

  5. 변경사항을 저장합니다.

gcloud

gcloud에서 deployments update 명령어를 사용하고 --update-labels 플래그와 함께 쉼표로 구분된 업데이트된 라벨 목록을 제공하여 라벨을 업데이트하거나 새 라벨을 추가합니다.

예를 들어 다음은 environment 라벨을 업데이트합니다.

gcloud deployment-manager deployments update example-deployment --update-labels environment=production

API

API에서 안내를 따라 배포를 업데이트하고 요청 본문에서 labels 속성을 생략하여 배포에서 라벨을 삭제합니다.

배포 미리보기 중 라벨 추가

배포를 만들기 전 배포 미리보기를 수행할 수 있습니다. 미리보기 중에는 미리보기로 표시된 배포에 라벨을 할당할 수 있습니다. 예를 들면 다음과 같습니다.

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels environment=production --preview

미리보기 중에 라벨을 변경하려면 미리보기를 새 라벨로 업데이트해야 합니다. 미리보기에 대한 자세한 내용은 구성 미리보기 문서를 참조하세요.

라벨을 사용한 검색 필터링

리소스를 검색하고 결과를 라벨을 기준으로 필터링할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 배포 페이지로 이동합니다.

    배포 페이지로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.

  3. 검색창에서 labels.를 입력하면 검색창에 필터링할 수 있는 라벨이 자동으로 나열됩니다.

gcloud

gcloud에서 list 요청을 수행하고 --filter 플래그를 사용합니다. 라벨을 필터링하려면 labels.[KEY]=[VALUE] 구문을 사용합니다. 예를 들어 environment 키 및 production 값으로 라벨을 필터링하려면 다음 명령어를 실행하면 됩니다.

gcloud deployment-manager deployments list --filter labels.environment=production

gcloud CLI의 필터 구문에 대한 자세한 내용은 gcloud topic filters 문서를 참조하세요.

API

API에서 URL이 인코딩된 filter 쿼리 매개변수를 사용하여 목록 요청을 실행합니다. 예를 들어 environment 라벨 키 값을 production로 하여 필터링하려면 다음 GET 요청을 실행합니다.

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

자세한 내용은 API 참조의 filter 문서를 참조하세요.

다음 단계