본문 바로가기

Archive/GCP

[GCP] 리소스 관리(Quotas, Labels, Billing)

반응형

이번 포스팅에서는 GCP를 이용해서 소비하는 리소스들을 관리하는 방법에 대해서 알아보겠다. GCP가 클라우드 서비스이다 보니 해당 서비스를 이용하면서 돈을 내야 한다. 하지만 이러한 클라우드 서비스를 이용하면서 일일이 이용 요금이 얼마 나왔는지 사용자가 직접 계산해야 한다면 진절머리가 날 것이다... 게다가 GCP는 요즘 용어로 '빅데이터'를 처리하기 위해 사용하는 클라우드 서비스이기 때문이다. 

 

소개하기 전에, 참고로 나의 리소스를 관리받기 위해서는 GCP에게 내 project ID/Number/Name을 알려주어야 관리 받을 수 있다.

 

이제 본격적으로, 리소스를 관리하는 방법으로서 크게 3가지 종류가 있는데 Quotas(한국 사전적인 의미로는 '할당량'), Labels, Billing이 있다. 바로 하나씩 개념이 무엇이고 어떠한 기능이 있는지에 대해 살펴보자.

< 1. Quotas >

Quotas는 크게 3가지 기준으로 판단된다.

  1. 하나의 프로젝트 당 얼마나 많은 리소스를 만들었는지
  2. 프로젝트에 얼마나 자주 API를 Request를 했는지
  3. 하나의 리젼(Region)당 얼마나 많은 리소스를 만들었는지

GCP의 콘솔 내 Quotas 페이지가 따로 존재하는데 그곳에서 프로젝트 사용자의 Quotas 현재 상황을 볼 수 있고 만일 에러가 발생했을 시 리소스가 과소비 되는 상황을 방지하는 기능이 있다.(리소스가 과소비 될 시 경고(alert)를 날려주는 기능이 있다.)

 

GCP Quotas 페이지

단, Quotas에 여유가 있어도 해당 리젼을 벗어나서 다른 무엇인가(리소스 등)를 만들 수는 없다!

 

< 2. Labels >

Labels란, 리소스에 붙는 '이름'이라고 보면 된다. Label의 한국 사전적 의미 그대로 라벨,꼬리표 처럼 상품(리소스)이 달고다니는 상품에 대한 표시라고 생각하면 이해하기 쉬울 것이다. 

 

Labels은 다음과 같은 특성이 있다.

  • 하나의 리소스 당 최대 64개를 만들 수 있음
  • 인스턴스에 붙일 수 있음
  • 리소스를 검색하고 비용분석이나 대용량의 Operation(연산) 운영시 도움이 됨

그리고 Label과 Tag에 대해서 헷갈릴 수가 있는데 여기서 명확히 구분하고 가면 좋을 것 같다.

  • Labels : 리소스를 정리(organize)하기 위한 key-value 형태의 사용자가 정의한 문자열
  • Tags : 오직 인스턴스에만 붙일 수 있으며, 방화벽 규칙(Firewall Rules)과 같은 네트워킹 작업을 위해 주로 사용되는 사용자가 정의한 문자열

<3. Billing > 

  • Billng은 GCP내에서 사용자가 소비할 예산을 설정하고 예산의 일정 비율이 초과될 시 경고(alert)해주는 기능이다.
  • Billing은 bottom-up형태로 축적이 된다. 다시 말하면, 하나의 프로젝트당 하나의 Billing이 존재하며 이에 따라 가장 상위의 조직(Organization)은 모든 Billing을 포함하게 된다.
  • Cloud Pub/Sub, Cloud Function을 이용해서 Billing alert 기능이 가능하다.
  • 2번에서 언급했던 리소스에 붙는 Labels을 이용해서 특정 Label이 붙은 리소스의 소비를 분석하기 위해 BigQuery와 같은 분석 서비스로 Billing data를 송신할 수 있다.

Data Studio에서 내가 쓴 리소스 소비량을 볼 수 있다.

 

반응형