본문 바로가기
CSP (Cloud Service Provider)/GCP

Resource Manager 활용하기

by BTC_문돌이 2022. 9. 13.

안녕하세요~ BTC Hallo팀입니다. 이번주에는 GCP 공식 블로그에서 소개하는 보안 운영 시리즈 중 Resource Manager 활용하기를 소개해 드리겠습니다.

 

 

 

Google Cloud를 사용하는 고객들은 많은 자원을 사용합니다. 여기서 자원이란 클라우드가 제공하는 각종 제품, 서비스를 의미하며 대표적으로 GCE(Google Compute Engine), GCS(Google Cloud Storage), Cloud LB(Load Balancer),Composer  등을 예로 들 수 있습니다. 사용자들은 클라우드 환경에서 다양한 서비스를 제공하고 많은 리소스를 이용하여 고객 서비스를 구축하게 됩니다. 하지만 고객 서비스는 하나의 시스템으로 구성되지 않으며, 많은 종류의 클라우드 자원들이 결합하여 하나의 대형 서비스를 완성합니다. 이 과정에서 여러 데이터베이스를 구축하기도 하고 서비스를 구축하는 팀별로 별도의 프로젝트를 운영하기도 합니다.

Resource Manager는 이런 고객의 요구사항을 반영하는 아주 효율적인 도구입니다. Resource Manager는 Google Cloud에서 사용하는 모든 자원의 효율적인 관리를 위해 계층 관리 구조 방식을 제공합니다.  계층 관리 구조 방식은 컴퓨터를 사용하는 많은 사용자들에게 익숙한 구조입니다. 

예를 들어 Windows 운영체제의 탐색기를 살펴봅시다.  Windows 탐색기는 주저장장치인 C 드라이브를 보여주면서 컴퓨터에 저장된 많은 자원을 보여줍니다. C 드라이브에는 많은 폴더가 존재하고 폴더 밑에 다른 폴더를 생성할 수 있습니다. 그리고 사용자가 생성한 파일을 폴더별로 구분하여 저장할 수 있습니다. 이런 방식은 사용자가 원하는대로 파일들을 용도별, 목적별로 구분하여 저장할 수 있으며 신속하게 파일을 검색할 수 있는 장점이 있습니다. 

Google Cloud의 Resource Manager는 이러한 방식의 자원 관리기능을 제공합니다. Windows 탐색기가 파일을 관리하는 것과는 달리 Google Cloud의 Resource Manager는 클라우드에서 제공하는 모든 리소스를 관리할 수 있다는 것입니다.

 

 

 

다음으로 Resource manager 운영에 대해서 알아보겠습니다.

 

Resource Manager를 운영하려면 먼저 조직, 폴더, 프로젝트를 알고 있어야 합니다.

Google Cloud에서 모든 리소스는 상위 노드를 가집니다. 하지만 조직은 그 자신이 루트 노드로서 유일하게 상위노드가 존재하지 않습니다. 즉, 모든 리소스는 조직에서 시작하는 것입니다. 그림에서 보는 바와 같이 Google Cloud의 리소스 계층 구조는 다음 규칙을 따릅니다.

  • 조직의 하위 노드에는 폴더와 프로젝트만 생성할 수 있다.  
  • 폴더의 하위 노드에는 폴더와 프로젝트만 생성할 수 있다.
  • 프로젝트의 하위 노드에는 컴퓨팅 관련 리소스만 생성할 수 있다. 

이러한 규칙을 이해하면 다음과 같은 구조는 생성이 되지 않는 것을  알 수 있습니다. 

  • 조직의 하위 노드에 조직을 생성할 수 없다. 
  • 조직 하위 노드에  컴퓨팅(GCE, GCS 등) 리소스를 생성할 수 없다. 
  • 폴더 밑에 클라우드 리소스를 생성할 수 없다. 
  • 프로젝트 하위 노드에 폴더, 프로젝트를 생성할 수 없다.

 

Resource Manager가 제공하는 계층 구조는 클라우드 리소스의 효율적인 관리를 가능하게 합니다. 폴더 또는 프로젝트에 위치하는 하위 리소스들은 다른 리소스들과 완벽하게 분리됩니다. 예를 들어 폴더 A와 폴더 B는 별도의 리소스이며 여기에 위치하는 클라우드 스토리지도 완전히 다른 리소스입니다. 이것은 온프레미스에서 구분하는 네트워크 존(Zone)과 유사하게 동작합니다.

Resource Manager를 운영하는 방법을 살펴봅시다. 먼저 Google Cloud에 로그인을 합니다. 로그인 이후에 프로젝트 선택기에서 리소스 관리를 실행합니다.

콘솔 메뉴에서 IAM 및 관리자 -> 리소스 관리를 선택하는 방법도 있습니다.

 

폴더 생성 및 관리

폴더를 생성하려면 Folder Admin 또는 Folder Creator 권한을 가져야 합니다. 폴더를 생성할 때 다음의 규칙을 따라야 합니다.

  • 폴더명에는 영문자, 숫자, 공백, 하이픈과 언더스코어만 허용된다.
  • 폴더명의 처음과 끝은 영문자 또는 숫자여야 한다.
  • 폴더명은 3자에서 30자까지를 할당할 수 있다.
  • 동등한 레벨에서 폴더 이름은 유일해야 한다.  

생성 후 다른 폴더의 하위 또는 상위로 이동이 가능합니다. 폴더는 비어있는 폴더만 삭제가 가능합니다. 

 

 

 

프로젝트 생성 및 관리

 

프로젝트를 생성하려면 resourcemanager.projects.create 권한을 가지고 있어야 합니다. 이 권한은 resourcemanager.projectCreator 역할에 포함되어 있으므로 해당 역할을 선택합니다.

프로젝트를 생성할 때 두 가지 정보를 입력해야 합니다. 하나는 프로젝트 이름이고 다른 하나는 프로젝트 ID입니다. 프로젝트 이름은 사용자를 위한 것으로서 최대한 프로젝트의 특징 정보를 입력합니다. 이 정보는 유일성을 가질 필요도 없습니다. 이와 달리 프로젝트 ID는 GCP 내부에서 각종 API 등이 접근할 때 사용하는 값으로서 전세계 Google Cloud Platform에서 유일한 값을 가져야 합니다. 사용자가 직접 작성하기도 하지만 프로젝트 이름을 입력한 경우 Google Cloud Platform에서 유일한 값을 덧붙임으로써 자동으로 생성해줍니다. 그러므로 프로젝트 이름과 프로젝트 ID가 반드시 동일하다는 보장이 없습니다. API 또는 gcloud 명령어에 프로젝트를 명시하려면 반드시 프로젝트 ID 값을 넣어야 합니다. Resource Manager에서 프로젝트 ID를 확인할 수 있습니다.  

프로젝트도 다른 폴더로 이동이 가능합니다. 폴더는 이동이 자유로운 반면에 프로젝트를 이동하기 전에는 영향도를 충분히 고려해야 합니다. 프로젝트는 클라우드 컴퓨팅 자원들이 위치하며 이러한 자원들의 환경설정이 프로젝트  보안 정책 등의 영향을 받을 수 있기 때문입니다.

폴더와 달리 프로젝트를 삭제하면 프로젝트에 포함된 모든 하위 리소스를 함께 삭제합니다. 다만 즉시 삭제되는 것이 아니라 사용 불가 상태로 변경하고 삭제 명령 실행 후 1개월 후에 실제로 삭제됩니다. 삭제 후 1개월 이전에는 프로젝트를 다시 복구할 수 있지만 1개월 이후는 복구가 불가능합니다. 사용자의 실수로 프로젝트가 삭제되는 것을 방지하기 위해서 구글 클라우드는 프로젝트 선취권(liens) 옵션을 지원합니다.

 

지금까지 간략하게 Resource Manager의 동작 방식과 기본 개념을 살펴보았습니다. Resource Manager를 운영하려면 폴더 권한, 프로젝트 권한과 같은 다양한 IAM을 설정하는 것도 잊지 말아야 합니다.

감사합니다.

 

출처: https://cloud.google.com/blog/ko/products/identity-security/gcpsecurity-resource-manager

'CSP (Cloud Service Provider) > GCP' 카테고리의 다른 글

Cloud Composer  (0) 2022.09.22
[GCP] Ops Agent  (1) 2022.09.15
[GCP]GKE Pod에 GCE PV를 Attaching 하는 방법  (0) 2022.09.07
Kubernetes(GKE를 공부하기 위한)  (0) 2022.09.07
제로 트러스트 보안 운영  (0) 2022.09.05

댓글