가상 머신 인스턴스 및 디스크와 같은 클러스터 리소스와 연결된 Compute Engine 리소스에 라벨을 추가할 수도 있습니다.
라벨이란 무엇인가요?
라벨은 Google Cloud Dataproc 클러스터 및 작업에 할당할 수 있는 키-값 쌍입니다. 이러한 리소스를 구성하고 필요한 세부사항으로 규모에 맞게 비용을 관리하는 데 도움이 됩니다. 각 리소스에 라벨을 연결한 후 이 라벨을 기준으로 리소스를 필터링할 수 있습니다. 라벨에 대한 정보는 청구 요금을 라벨별로 분류할 수 있는 결제 시스템으로 전달됩니다. 기본 제공되는 결제 보고서를 통해 리소스 라벨별로 비용을 필터링하고 그룹화할 수 있습니다. 라벨을 사용하여 결제 데이터 내보내기를 쿼리할 수도 있습니다.
라벨 요구사항
리소스에 적용된 라벨은 다음 요구사항을 충족해야 합니다.
- 각 리소스에 라벨을 최대 64개까지 사용할 수 있습니다.
- 각 라벨은 키-값 쌍이어야 합니다.
- 키는 비워 둘 수 없으며 최소 길이는 1자(영문 기준)이고 최대 길이는 63자(영문 기준)입니다. 값은 비워 둘 수 있으며 최대 길이는 63자(영문 기준)입니다.
- 키와 값에는 소문자, 숫자, 밑줄, 대시만 사용할 수 있습니다. 모든 문자는 UTF-8 인코딩을 사용해야 하며 국제 문자가 허용됩니다. 키는 소문자나 국제 문자로 시작해야 합니다.
- 라벨의 키 부분은 단일 리소스에서 고유해야 합니다. 그러나 여러 리소스에 같은 키를 사용할 수 있습니다.
이러한 한도는 각 라벨의 키와 값 및 라벨이 있는 개별 Google Cloud 리소스에 적용됩니다. 한 프로젝트의 모든 리소스에 적용할 수 있는 라벨 수에는 제한이 없습니다.
라벨의 일반적인 사용 사례
다음은 라벨의 몇 가지 일반적인 사용 사례입니다.
팀 또는 비용 센터 라벨: 팀 또는 비용 센터 기준의 라벨을 추가하여
team:research
및team:analytics
와 같이 여러 팀에서 소유한 Dataproc 클러스터와 작업을 구별할 수 있습니다. 이 유형의 라벨은 비용 계산 또는 예산 책정에 사용할 수 있습니다.구성요소 라벨:
component:redis
,component:frontend
,component:ingest
,component:dashboard
를 예로 들 수 있습니다.환경 또는 단계 라벨:
environment:production
과environment:test
를 예로 들 수 있습니다.상태 라벨:
state:active
,state:readytodelete
,state:archive
를 예로 들 수 있습니다.소유권 라벨: 작업을 담당하는 팀을 식별하는 데 사용됩니다(예:
team:shopping-cart
).
모든 API 호출의 타임스탬프 또는 개별 값과 같은 다수의 고유 라벨을 만들지 않는 것이 좋습니다. 이 접근 방식의 문제는 값이 자주 변경되거나 카탈로그를 복잡하게 하는 키로 인해 리소스를 효과적으로 필터링하고 보고하기 어렵다는 것입니다.
라벨 및 태그
라벨은 리소스에 대해 쿼리 가능한 주석으로 사용될 수 있지만 정책에 조건을 설정하는 데는 사용할 수 없습니다. 태그를 사용하면 정책을 세밀하게 제어하여 리소스에 특정 태그가 있는지 여부에 따라 정책을 조건부로 허용하거나 거부할 수 있습니다. 자세한 내용은 태그 개요를 참조하세요.
Dataproc 라벨 만들기 및 사용
gcloud 명령
Google Cloud CLI를 사용하여 만들거나 제출할 때 Dataproc 클러스터나 작업에 적용할 라벨을 한 개 이상 지정할 수 있습니다.
gcloud dataproc clusters create args --labels environment=production,customer=acme
gcloud dataproc jobs submit args --labels environment=production,customer=acme
Dataproc 클러스터나 작업이 생성되면 Google Cloud CLI를 사용하여 리소스와 연결된 라벨을 업데이트할 수 있습니다.
gcloud dataproc clusters update args --update-labels environment=production,customer=acme
gcloud dataproc jobs update args --update-labels environment=production,customer=acme
마찬가지로 Google Cloud CLI를 사용하여 labels.<key=value>
형식의 필터 표현식을 사용하여 라벨을 기준으로 Dataproc 리소스를 필터링할 수 있습니다.
gcloud dataproc clusters list \ --region=region \ --filter="status.state=ACTIVE AND labels.environment=production"
gcloud dataproc jobs list \ --region=region \ --filter="status.state=ACTIVE AND labels.customer=acme"
필터 표현식 작성에 대한 자세한 내용은 clusters.list 및 jobs.list Cloud Dataproc API 문서를 참조하세요.
REST API
라벨은 Dataproc REST API를 통해 Dataproc 리소스에 연결될 수 있습니다. clusters.create, jobs.submit API를 사용하여 만들거나 제출할 때 클러스터나 작업에 라벨을 연결할 수 있습니다.
clusters.patch, jobs.patch API를 사용하면 리소스를 만든 후에 라벨을 수정할 수 있습니다. 다음은 key1:value
라벨을 클러스터에 연결을 포함한 cluster.create 요청의 JSON 본문입니다.
{ "clusterName":"cluster-1", "projectId":"my-project", "config":{ "configBucket":"", "gceClusterConfig":{ "networkUri":".../networks/default", "zoneUri":".../zones/us-central1-f" }, "masterConfig":{ "numInstances":1, "machineTypeUri":"..../machineTypes/n1-standard-4", "diskConfig":{ "bootDiskSizeGb":500, "numLocalSsds":0 } }, "workerConfig":{ "numInstances":2, "machineTypeUri":"...machineTypes/n1-standard-4", "diskConfig":{ "bootDiskSizeGb":500, "numLocalSsds":0 } } }, "labels":{ "key1":"value1" } }
clusters.list 및 jobs.list API를 사용하면 labels.<key=value>
형식을 사용하는 지정된 필터와 일치하는 리소스를 나열할 수 있습니다.
다음은 key=value
라벨 필터를 지정하는 Dataproc API clusters.list HTTPS GET 요청의 샘플입니다. 호출자는 project
, region
, 필터 label-key
및 label-value
, api-key
를 삽입합니다. 이 요청 예는 가독성을 위해 두 개의 줄로 나누어져 있습니다.
GET https://dataproc.googleapis.com/v1/projects/project/regions/region/clusters? filter=labels.label-key=label-value&key=api-key
필터 표현식 작성에 대한 자세한 내용은 clusters.list 및 jobs.list Cloud Dataproc API 문서를 참조하세요.
콘솔
Google Cloud 콘솔을 사용하여 만들거나 제출할 때 Dataproc 리소스에 추가할 라벨 집합을 지정할 수 있습니다.
Dataproc 리소스를 만든 후에는 이 리소스와 연결된 라벨을 업데이트할 수 있습니다. 라벨을 업데이트하려면 먼저 페이지 왼쪽 상단의 SHOW INFO PANEL
을 클릭해야 합니다. 다음은 Dataproc→클러스터 나열 페이지의 예시입니다.
정보 패널이 표시되면 Dataproc 리소스의 라벨을 업데이트할 수 있습니다. 다음은 Dataproc 클러스터의 라벨을 업데이트하는 예시입니다.
또한 한 작업에서 여러 항목의 라벨을 업데이트할 수도 있습니다. 이 예시에서는 라벨을 동시에 여러 Dataproc 작업에 업데이트합니다.
라벨을 사용하면 Dataproc→클러스터 나열 및 Dataproc→작업 나열 페이지에 표시된 Dataproc 리소스를 필터링할 수 있습니다. 페이지 상단에서 검색 패턴 labels.<labelname>=<value>
를 사용하여 라벨별로 리소스를 필터링할 수 있습니다.
라벨 자동 적용
클러스터를 만들거나 업데이트할 때 Dataproc은 자동으로 클러스터와 클러스터 리소스에 라벨을 여러 개 적용합니다. 예를 들어 Dataproc은 클러스터가 생성될 때 가상 머신, 영구 디스크, 가속기에 라벨을 적용합니다. 자동으로 적용되는 라벨에는 특별한 goog-dataproc
프리픽스가 있습니다.
다음 goog-dataproc
라벨은 Dataproc 리소스에 자동으로 적용됩니다. 클러스터를 만들 때 지정되는 goog-dataproc
라벨에 다른 값을 입력하면 자동 적용된 값이 재정의됩니다. 따라서 자체 값을 입력하는 것은 권장되지 않습니다.
라벨 | 설명 |
---|---|
goog-dataproc-cluster-name |
사용자가 지정한 클러스터 이름 |
goog-dataproc-cluster-uuid |
고유한 클러스터 ID |
goog-dataproc-location |
Dataproc 리전 클러스터 엔드포인트 |
다음과 같은 다양한 방법으로 자동으로 적용되는 라벨을 사용할 수 있습니다.
- Dataproc 리소스 검색 및 필터링
- 결제 데이터를 필터링하여 Dataproc 비용 계산