Google Cloud 리소스 계층 구조는 리소스를 트리 구조로 구성하는 방법입니다. 이 계층 구조는 리소스를 규모에 맞춰 관리하는 데 도움이 되지만 조직 구조, 리전, 워크로드 유형, 비용 센터를 포함한 몇 가지 비즈니스 차원만 모델링합니다. 계층 구조에는 여러 비즈니스 차원을 함께 계층화할 수 있는 유연성이 없습니다.
태그를 사용하면 리소스의 주석을 만들 수 있으며 리소스에 특정 태그가 있는지 여부에 따라 정책을 조건부로 허용하거나 거부합니다. 태그 및 조건부 정책 적용을 사용하여 리소스 계층 구조 전반을 세밀하게 제어할 수 있습니다.
태그 및 라벨
라벨은 리소스의 주석을 만드는 별도의 방법입니다. 다음 표에는 태그와 라벨 간의 몇 가지 차이점이 나와 있습니다.
태그 | 라벨 | |
---|---|---|
리소스 구조 | 태그 키, 태그 값, 태그 binding 모두 개별 리소스입니다. | 자체 리소스가 아닌 리소스의 메타데이터입니다. |
정의 | 조직 또는 프로젝트 수준에서 정의됩니다. | 각 리소스에서 정의합니다. |
액세스 제어 | 태그 관리 및 연결에는 Identity and Access Management(IAM) 역할이 필요합니다. | 라벨 연결에는 서비스 리소스에 따라 달라지는 IAM 역할이 필요합니다. |
연결 기본 요건 | 태그를 리소스에 연결하려면 먼저 태그 키와 태그 값을 정의해야 합니다. | 연결 기본 요건이 없습니다. |
상속 | 태그 binding은 Google Cloud 계층 구조의 리소스 하위 항목에 상속됩니다. | 리소스의 하위 요소에서 상속하지 않습니다. |
삭제 요구사항 | 태그에 대한 태그 바인딩이 없으면 태그를 삭제할 수 없습니다. | 언제든지 리소스에서 삭제할 수 있습니다. |
이름 지정 요구사항 | 태그 값 및 태그 키 요구사항 | 라벨 요구사항 |
키/값 이름 길이 | 최대 256자(영문기준) | 최대 63자(영문 기준) |
IAM 정책 지원 | IAM 정책 조건에서 태그를 참조할 수 있습니다. | 지원되는 IAM 정책이 없습니다. |
조직 정책 지원 | 조직 정책 조건부 제약조건에서 일부 리소스의 태그를 참조할 수 있습니다. | 지원되는 조직 정책이 없습니다. |
Cloud Billing 통합 | 지불 거절, 감사, 기타 비용 할당 분석을 수행하고 Cloud Billing 비용 데이터를 BigQuery로 내보냅니다. | Cloud Billing에서 라벨별로 리소스 필터링하고, Cloud Billing 데이터를 BigQuery로 내보냅니다. |
라벨에 대한 자세한 내용은 라벨 만들기 및 관리를 참조하세요.
태그 생성
태그는 키-값 쌍으로 구성됩니다. 태그 키 리소스를 조직 또는 프로젝트 리소스 아래에 만들 수 있으며 태그 값은 키에 연결된 리소스입니다. 예를 들어 값이 production
및 development
인 태그 키 environment
입니다.
태그 관리
관리자는 태그를 리소스에 생성, 업데이트, 삭제, 첨부할 수 있는 사용자를 제한하여 태그 사용을 제어할 수 있습니다. 값 추가 또는 제거, 설명 업데이트와 같이 편집할 개별 태그를 선택할 수 있습니다. 이렇게 하면 태그를 세밀하게 제어할 수 있습니다.
태그에는 설명이 제공될 수 있으며, 이 설명은 태그에 대한 정보를 가져올 때 표시됩니다. 이 설명은 태그를 리소스에 연결하는 사용자가 해당 태그의 목적을 이해하도록 합니다.
태그는 특정 리소스의 해당 키에 대해 하나의 값만 가질 수 있습니다. 예를 들어 태그 키가 environment
이고 값이 production
인 프로젝트는 environment
키의 development
값도 가질 수 없습니다.
정책 및 태그
태그와 태그를 지원하는 정책을 사용하여 조건부로 정책을 시행할 수 있습니다. 태그 값이 존재하는지 여부를 해당 정책의 조건으로 만들 수 있습니다.
예를 들어 리소스에 특정 태그가 있는지 여부에 따라 Identity and Access Management(IAM) 역할을 조건부로 부여하고 IAM 권한을 조건부로 거부할 수 있습니다.
태그를 만든 후에는 리소스에 태그를 적용할 수 있습니다. 그런 다음 지원되는 리소스에 태그가 연결되었는지 여부에 따른 조건부 정책을 만들 수 있습니다. 이러한 정책은 리소스에 연결된 태그의 존재 여부에 따라 적용됩니다.
Identity and Access Management(IAM)와 함께 태그를 사용하여 Google Cloud 리소스에 대한 액세스를 제어하는 방법은 태그 및 액세스 제어를 참조하세요.
태그 상속
태그 키-값 쌍이 리소스에 연결되면 리소스의 모든 하위 요소가 태그를 상속합니다. 하위 리소스에서 상속된 태그를 재정의할 수 있습니다. 상속된 태그를 재정의하려면 상속된 태그와 동일한 키를 사용하여 태그를 적용하되 다른 값을 사용합니다.
예를 들어 environment: development
태그를 폴더에 적용하고 이 폴더에 team-a
및 team-b
라는 두 개의 하위 폴더가 있다고 가정해 보겠습니다. 다른 태그인 environment: test
를 team-b
폴더에 적용할 수도 있습니다. 따라서 team-a
폴더의 프로젝트와 기타 리소스는 environment: development
태그를 상속하며 team-b
폴더의 프로젝트와 기타 리소스는 environment: test
태그를 상속합니다.
team-b
폴더에서 environment: test
태그를 삭제하면 이 폴더와 해당 리소스가 environment: development
태그를 상속합니다.
리소스에 연결되고 리소스에서 상속하는 모든 태그를 통칭하여 유효 태그라고 합니다. 리소스의 효과적인 태그는 리소스에 직접 연결된 태그와 계층 구조 전체에서 리소스의 모든 상위 항목에 연결된 모든 태그의 조합입니다.
태그를 사용하여 정책을 관리하는 경우 안전한 기본 태그를 만드는 것이 좋습니다.
즉, 리소스 계층 구조 전체에 상속될 조직 리소스 수준에서 태그를 설정하는 것을 의미합니다. 예를 들어 짧은 이름의 enforcement
에 값 default
, on
또는 off
이 있는 태그 키를 생각해 봅시다. 조직 수준에서 enforcement: default
를 설정하면 하위 수준에서 재정의하지 않는 한, 해당 태그가 모든 리소스에 상속됩니다.
그런 다음 enforcement: on
또는 enforcement: off
인 경우에는 리소스에 영향을 미치고 enforcement: default
인 경우에는 안전하다는 조건으로 enforcement
태크 키를 처리하는 정책을 작성할 수 있습니다. enforcement
태그가 리소스에서 삭제된 경우 상위 리소스에서 enforcement
의 태그 값을 상속합니다. 상위 리소스에 enforcement
태그가 없으면 조직 리소스에서 enforcement: default
를 상속합니다.
안전한 기본 태그를 사용하면 도움이 될 수 있지만 의도하지 않은 동작을 방지하려면 리소스를 이동하거나 태그를 삭제하기 전에 태그 및 조건부 정책을 먼저 검토해야 합니다.
태그 키 및 값 삭제
태그 키 또는 값 정의를 삭제할 때 해당 태그가 리소스에 연결되면 삭제가 실패합니다. 태그 정의 자체를 삭제하기 전에 태그 바인딩이라는 기존 태그 연결을 삭제해야 합니다.
태그 값이 삭제되지 않도록 보호
태그 보존 조치를 태그 값에 연결하여 태그 값에 추가 보호 레이어를 만들 수 있습니다. 태그 보존 조치는 태그 바인딩과 마찬가지로 사용자가 태그 값을 삭제하는 것을 방지합니다.
일부 리소스는 리소스에 연결된 각 태그 값에 태그 보존 조치를 자동으로 만듭니다. 사용자가 태그 값을 삭제하려면 먼저 이 태그 보존 조치를 삭제해야 합니다.
다음 단계
- 태그 사용 방법에 대한 자세한 내용은 태그 생성 및 관리 페이지를 참조하세요.
- Compute Engine에서 태그를 사용하는 방법은 리소스의 태그 관리를 참조하세요.