라벨은 Google Cloud 리소스에 할당할 수 있는 키-값 쌍입니다.
이러한 리소스를 구성하고 필요한 세부사항으로 규모에 맞게 비용을 관리하는 데 도움이 됩니다. 각 리소스에 라벨을 연결한 후 이 라벨을 기준으로 리소스를 필터링할 수 있습니다. 라벨에 대한 정보는 청구 요금을 라벨별로 분류할 수 있는 결제 시스템으로 전달됩니다. 기본 제공되는 결제 보고서를 통해 리소스 라벨별로 비용을 필터링하고 그룹화할 수 있습니다. 라벨을 사용하여 결제 데이터 내보내기를 쿼리할 수도 있습니다.
라벨 요구사항
리소스에 적용된 라벨은 다음 요구사항을 충족해야 합니다.
각 리소스에 라벨을 최대 64개까지 사용할 수 있습니다.
각 라벨은 키-값 쌍이어야 합니다.
키는 비워 둘 수 없으며 최소 길이는 1자(영문 기준)이고 최대 길이는 63자(영문 기준)입니다. 값은 비워 둘 수 있으며 최대 길이는 63자(영문 기준)입니다.
키와 값에는 소문자, 숫자, 밑줄, 대시만 사용할 수 있습니다. 모든 문자는 UTF-8 인코딩을 사용해야 하며 국제 문자가 허용됩니다. 키는 소문자나 국제 문자로 시작해야 합니다.
라벨의 키 부분은 단일 리소스에서 고유해야 합니다.
그러나 여러 리소스에 같은 키를 사용할 수 있습니다.
이러한 한도는 각 라벨의 키와 값 및 라벨이 있는 개별 Google Cloud 리소스에 적용됩니다. 한 프로젝트의 모든 리소스에 적용할 수 있는 라벨 수에는 제한이 없습니다.
라벨의 일반적인 사용 사례
다음은 라벨의 몇 가지 일반적인 사용 사례입니다.
팀 또는 비용 센터 라벨: 팀 또는 비용 센터를 기준으로 라벨을 추가하여 서로 다른 팀(예: team:research 및 team:analytics)에서 소유하는 리소스를 구분할 수 있습니다. 비용 계산이나 예산 책정에 이 유형의 라벨을 사용할 수 있습니다.
구성요소 라벨: component:redis, component:frontend, component:ingest, component:dashboard를 예시로 들 수 있습니다.
환경 또는 단계 라벨: environment:production과 environment:test를 예로 들 수 있습니다.
상태 라벨: state:active , state:readytodelete, state:archive를 예로 들 수 있습니다.
소유권 라벨: 작업을 담당하는 팀을 식별하는 데 사용됩니다(예: team:shopping-cart).
네트워크 라벨: 가상 머신에 라벨을 연결할 수 있습니다. 이전에 정의한 네트워크 태그는 값이 없는 라벨로 표시됩니다.
모든 API 호출의 타임스탬프 또는 개별 값과 같은 다수의 고유 라벨을 만들지 않는 것이 좋습니다.
이 접근 방식의 문제는 값이 자주 변경되거나 카탈로그를 복잡하게 하는 키로 인해 리소스를 효과적으로 필터링하고 보고하기 어렵다는 것입니다.
라벨 및 태그
라벨은 리소스에 대해 쿼리 가능한 주석으로 사용될 수 있지만 정책에 조건을 설정하는 데는 사용할 수 없습니다. 태그를 사용하면 정책을 세밀하게 제어하여 리소스에 특정 태그가 있는지 여부에 따라 정책을 조건부로 허용하거나 거부할 수 있습니다. 자세한 내용은 태그 개요를 참조하세요.
권한
프로젝트의 라벨을 추가, 수정, 확인해야 하는 경우 다음 권한이 필요합니다.
projects.patch() 메서드를 호출하여 라벨을 추가하거나 수정할 수 있습니다. 그러려면 resourcemanager.projects.update 권한이 필요합니다.
projects.get() 메서드를 호출하여 프로젝트의 라벨을 볼 수 있습니다. 그러려면 resourcemanager.projects.get 권한이 필요합니다.
라벨을 사용하여 비용 이해하기
리소스에 라벨을 연결한 후 라벨을 기준으로 리소스를 필터링할 수 있습니다. 라벨에 대한 정보는 청구 요금을 라벨별로 분류할 수 있는 결제 시스템으로 전달됩니다.
라벨을 사용하여 비용을 파악하는 몇 가지 방법은 다음과 같습니다.
VM 또는 Cloud Storage 버킷에 costcenter=cost_center_name, service=service_name, environment=environment_name과 같은 라벨을 추가할 수 있습니다. 이를 통해 리소스의 배포 위치 및 목적과 청구해야 할 비용 센터를 파악할 수 있습니다.
BigQuery로 결제 데이터 내보내기를 사용 설정할 수 있습니다. 라벨은 해당 Google Cloud 리소스 및 해당 사용량과 함께 BigQuery로 내보내집니다. 이렇게 하면 애플리케이션의 장바구니 서비스 실행 비용 또는 개발자 테스트 시스템 비용과 같은 요소를 모니터링할 수 있습니다.
BigQuery와 라벨을 함께 사용하면 모든 테스트 시스템 리소스의 비용과 프로덕션 리소스의 비용 또는 특정 서비스 비용을 비교 파악할 수 있습니다.
예
이 예시에서는 프로젝트의 playlist 서비스 비용이 사용량 및 라벨을 BigQuery로 내보내서 결정됩니다.
이렇게 하려면 먼저 BigQuery로 결제 내보내기를 사용 설정합니다. labels-demo-prj는 리소스 사용량의 소스이고 labels_demo_bqexport는 사용량 데이터가 저장되는 대상 데이터 세트입니다. 사용량과 라벨을 BigQuery로 내보낸 후 playlist 서비스 비용을 확인할 수 있습니다.
다음은 Compute Engine 사용량 및 BigQuery 관련 비용에 대한 세부정보입니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["# Overview\n\nThis document provides a brief overview of labels and its features.\n\nWhat are labels?\n----------------\n\nA label is a key-value pair that you can assign to Google Cloud resources.\nThey help you organize these resources and manage your costs at scale, with the\ngranularity you need. You can attach a label to each resource, then filter the\nresources based on their labels. Information about labels is forwarded to the billing system that\nlets you break down your billed charges by label. With built-in [billing reports](/billing/docs/how-to/reports),\nyou can filter and group costs by resource labels. You can also use labels to\nquery [billing data exports](/billing/docs/how-to/bq-examples).\n\nRequirements for labels\n-----------------------\n\nThe labels applied to a resource must meet the following\nrequirements:\n\n- Each resource can have up to 64 labels.\n- Each label must be a key-value pair.\n- Keys have a minimum length of 1 character and a maximum length of 63 characters, and cannot be empty. Values can be empty, and have a maximum length of 63 characters.\n- Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. Keys must start with a lowercase letter or international character.\n- The key portion of a label must be unique within a single resource. However, you can use the same key with multiple resources.\n\nThese limits apply to the key and value for each label, and to the\nindividual Google Cloud resources that have labels. There\nis no limit on how many labels you can apply across all resources\nwithin a project.\n\nCommon uses of labels\n---------------------\n\nHere are some common use cases for labels:\n\n- **Team or cost center labels** : Add labels based on team or\n cost center to distinguish resources owned by different\n teams (for example, `team:research` and `team:analytics`). You can use this\n type of label for cost accounting or budgeting.\n\n- **Component labels** : For example, `component:redis`,\n `component:frontend`, `component:ingest`, and `component:dashboard`.\n\n- **Environment or stage labels** : For example,\n `environment:production` and `environment:test`.\n\n- **State labels** : For example, `state:active`,\n `state:readytodelete`, and `state:archive`.\n\n- **Ownership labels** : Used to identify the teams that are\n responsible for operations, for example: `team:shopping-cart`.\n\n\n- **Network labels** : A label can be attached to a virtual machine. [Network tags](/vpc/docs/add-remove-network-tags) that you defined in the past will appear as a label without a value.\n\n\u003cbr /\u003e\n\n| **Note:** Don't include sensitive information in labels, including personally identifiable information, such as an individual's name or title. Labels are not designed to handle sensitive information.\n\nWe don't recommend creating large numbers of unique labels, such as\nfor timestamps or individual values for every API call.\nThe problem with this approach is that when the values change frequently or with\nkeys that clutter the catalog, this makes it difficult to effectively filter and\nreport on resources.\n\nLabels and tags\n---------------\n\nLabels can be used as queryable annotations for resources, but can't be used\nto set conditions on policies. Tags provide a way to conditionally allow or\ndeny policies based on whether a resource has a specific tag, by providing fine-grained\ncontrol over policies. For more information, see the\n[Tags overview](/resource-manager/docs/tags/tags-overview).\n\nPermissions\n-----------\n\nThe following permissions are required when you need to add, modify, and view labels for projects:\n\n- You can add or modify a label by calling the [`projects.patch()`](/resource-manager/reference/rest/v3/projects/patch) method. This requires the `resourcemanager.projects.update` permission.\n- You can view a project's label by calling the [`projects.get()`](/resource-manager/reference/rest/v3/projects/get) method. This requires the `resourcemanager.projects.get` permission.\n\nUnderstand costs using labels\n-----------------------------\n\nYou can attach a label to a resource and then filter resources based on\ntheir labels. Information about labels is forwarded to the billing system that\nallows you to [break down your billed charges](/billing/docs/how-to/bq-examples)\nby label.\n\nHere are some ways in which you can use labels to understand costs:\n\n- You can add labels such as `costcenter=`\u003cvar translate=\"no\"\u003ecost_center_name\u003c/var\u003e, `service=`\u003cvar translate=\"no\"\u003eservice_name\u003c/var\u003e, and `environment=`\u003cvar translate=\"no\"\u003eenvironment_name\u003c/var\u003e to your VMs or Cloud Storage buckets. This allows you to understand where your resources are deployed, for what purpose, and the cost center to which they should be charged.\n- You can enable the [export of billing data](/billing/docs/how-to/export-data-bigquery) to BigQuery. Labels are exported to BigQuery with the corresponding Google Cloud resources and their usage. This allows you to monitor aspects such as the cost to run the shopping cart service in the application or the cost of developer test machines.\n- You can use BigQuery in combination with labels to understand the cost of all test system resources versus production resources or how much a particular service costs.\n\n### Example\n\nIn this example, the cost of `playlist` services for a project is determined by\nexporting usage and labels to BigQuery.\nTo do this, start by enabling the billing export to BigQuery. `labels-demo-prj`\nis the source of your resource usage and `labels_demo_bqexport`\nis the destination dataset where usage data is stored. After you export your\nusage and labels to BigQuery, you can determine how much your `playlist`\nservice costs are.\n\nHere are the details of the Compute Engine usage and its associated cost in BigQuery.\n\n| **Note:** When filtering your billing breakdown by label keys, you cannot select labels applied to a project. You can select other user-created labels that you'd set up and applied to Google Cloud services."]]