새로운 Dataproc 멀티 테넌트 클러스터로 데이터 과학 가속화
Chris Nauroth
Senior Staff Software Engineer, Google Cloud
* 본 아티클의 원문은 2025년 09월 10일 Google Cloud 블로그(영문)에 게재되었습니다.
AI/ML이 빠르게 성장하면서 데이터 과학팀은 혁신을 주도하기 위해 업무의 중요성과 수요 증가에 부응할 수 있는 더 나은 노트북 환경이 필요합니다. 또한 데이터 과학 워크로드를 확장하면 인프라 관리에 새로운 과제가 발생합니다. 사용자별로 컴퓨팅 리소스를 할당하면 강력한 격리(워크로드, 프로세스, 데이터의 기술적 분리)가 가능하지만, 리소스가 사일로화되어 비효율이 발생할 수 있습니다. 공유 컴퓨팅 리소스는 효율성을 높일 수 있는 더 많은 기회를 제공하지만 격리 측면에서는 손해를 봅니다. 한쪽의 이점은 다른 쪽의 손실로 이어집니다. 이점만 얻을 수 있는 방법은 없을까요?
새로운 Dataproc 기능인 멀티 테넌트 클러스터를 소개합니다. 이 새로운 기능은 노트북 워크로드를 동시에 실행하는 많은 데이터 과학자에게 적합한 Dataproc 클러스터 배포 모델을 제공합니다. 공유 클러스터 모델을 사용하면 인프라 관리자가 Google Cloud Storage(GCS) 버킷과 같은 데이터 리소스에 대해 사용자별 세분화된 승인을 포기하지 않고도 컴퓨팅 리소스 효율성과 비용 최적화를 개선할 수 있습니다.
이는 단순히 인프라를 최적화하는 것이 아니라 비즈니스가 의존하는 혁신 주기를 가속화하는 것입니다. 데이터 과학 플랫폼이 원활하게 작동하면 팀은 가설에서 인사이트, 프로덕션으로 더 빠르게 진행할 수 있습니다. 이를 통해 조직은 중요한 비즈니스 질문에 더 빠르게 답하고, 머신러닝 모델을 더 자주 반복하며, 궁극적으로 경쟁사보다 먼저 고객에게 데이터 기반 기능과 개선된 경험을 제공할 수 있습니다. 데이터 플랫폼을 필수 비용 센터에서 성장을 위한 전략적 엔진으로 발전시키는 데 도움이 됩니다.
작동 방식
이 새로운 기능은 Dataproc의 기존 서비스 계정 멀티테넌시를 기반으로 합니다. 이 구성의 클러스터에서는 관리자가 선언한 제한된 사용자 집합만 워크로드를 제출할 수 있습니다. 관리자는 사용자와 서비스 계정 간의 매핑도 선언합니다. 사용자가 워크로드를 실행하면 Google Cloud 리소스에 대한 모든 액세스는 특정 매핑된 서비스 계정으로만 인증됩니다. 관리자는 Identity Access Management(IAM)에서 승인을 제어합니다. 예를 들어 하나의 서비스 계정에 Cloud Storage 버킷 세트에 대한 액세스 권한을 부여하고 다른 서비스 계정에 다른 버킷 세트에 대한 액세스 권한을 부여할 수 있습니다.
이번 출시의 일환으로 서비스 계정 멀티 테넌시에 몇 가지 주요 사용성 개선사항을 적용했습니다. 이전에는 사용자-서비스 계정 매핑이 클러스터 생성 시에 설정되었으며 수정할 수 없었습니다. 이제 실행 중인 클러스터에서 매핑을 변경할 수 있으므로 관리자가 변화하는 조직 요구사항에 더 빠르게 적응할 수 있습니다. 또한 대규모 사용자층을 더 쉽게 관리할 수 있도록 매핑을 YAML 파일로 외부화하는 기능도 추가했습니다.
Jupyter 노트북은 Jupyter Kernel Gateway를 통해 클러스터에 연결됩니다. 게이트웨이는 클러스터의 워커 노드에 분산된 각 사용자의 Jupyter 커널을 실행합니다. 관리자는 워커 노드 수를 수동으로 조정하거나 자동 확장 정책을 사용하여 최종 사용자 요구사항을 충족하도록 워커 노드를 수평 확장할 수 있습니다.
노트북 사용자는 완전 관리형 Google Cloud 환경을 위해 Vertex AI Workbench를 선택하거나 자체 서드 파티 JupyterLab 배포를 가져올 수 있습니다. 두 모델 모두에서 BigQuery JupyterLab 확장 프로그램은 Dataproc 클러스터 리소스와 통합됩니다. Vertex AI Workbench 인스턴스는 확장 프로그램을 자동으로 배포할 수 있으며, 사용자는 서드 파티 JupyterLab 배포에서 수동으로 설치할 수도 있습니다.


자세히 들여다보기
Dataproc 멀티 테넌트 클러스터는 독립적인 사용자 워크로드를 격리하기 위해 추가적인 강화로 자동 구성됩니다.
-
YARN에서 실행되는 모든 컨테이너는 인증된 Google Cloud 사용자와 일치하는 전용 운영체제 사용자로 실행됩니다.
-
또한 각 OS 사용자에게는 YARN과 같은 Hadoop 기반 리모트 프로시저 콜(RPC) 서비스에 대한 인증을 위해 전용 Kerberos 주 구성원이 있습니다.
-
각 OS 사용자는 매핑된 서비스 계정의 Google Cloud 사용자 인증 정보에만 액세스할 수 있습니다. 클러스터의 컴퓨팅 서비스 계정 사용자 인증 정보는 최종 사용자 노트북 워크로드에 액세스할 수 없습니다.
-
관리자는 IAM 정책을 사용하여 매핑된 각 서비스 계정에 대한 최소 권한 액세스 승인을 정의합니다.
사용 방법
1단계: 서비스 계정 멀티테넌시 매핑 만들기 | 사용자 서비스 계정 매핑이 포함된 YAML 파일을 준비하고 Cloud Storage 버킷에 저장합니다. 예를 들면 다음과 같습니다.
2단계: Dataproc 멀티 테넌트 클러스터 만들기 | 사용자 매핑 파일과 새로운 JUPYTER_KERNEL_GATEWAY
선택적 구성요소를 사용하여 새로운 멀티 테넌트 Dataproc 클러스터를 만듭니다.
나중에 사용자 서비스 계정 매핑을 변경해야 하는 경우 클러스터를 업데이트하여 변경할 수 있습니다.
3단계: Dataproc 커널이 사용 설정된 Vertex AI Workbench 인스턴스 만들기 | Vertex AI Workbench 사용자는 Dataproc 커널이 사용 설정된 인스턴스를 만들어야 합니다. 이렇게 하면 BigQuery JupyterLab 확장 프로그램이 자동으로 설치됩니다.
4단계: 서드 파티 배포에 BigQuery JupyterLab 확장 프로그램 설치 | 로컬 노트북에서 실행하는 등 서드 파티 JupyterLab 배포를 사용하는 사용자는 BigQuery JupyterLab 확장 프로그램을 수동으로 설치해야 합니다.
5단계: Dataproc 클러스터에서 커널 실행 | Vertex AI Workbench 인스턴스 또는 로컬 머신에서 JupyterLab 애플리케이션을 엽니다.
JupyterLab 런처 페이지가 브라우저에 열립니다. Jupyter 선택적 구성요소 또는 Jupyter Kernel Gateway 구성요소가 있는 Dataproc 클러스터에 액세스할 수 있는 경우 Dataproc 클러스터 노트북 섹션이 표시됩니다.


리전 및 프로젝트를 변경하려면 다음을 수행하세요.
-
설정 > Cloud Dataproc 설정을 선택합니다.
-
설정 구성 탭의 프로젝트 정보에서 프로젝트 ID 및 리전을 변경한 후 저장을 클릭합니다.
-
변경사항을 적용하려면 JupyterLab을 다시 시작합니다.
멀티 테넌트 클러스터에 해당하는 커널 사양을 선택합니다. 커널 사양이 선택되면 커널이 실행되며 커널이 초기화 상태에서 유휴 상태로 전환되는 데 약 30~50초가 걸립니다. 커널이 유휴 상태가 되면 실행할 준비가 된 것입니다.
멀티 테넌트 클러스터 시작하기
보안과 효율성 사이에서 고민하지 마세요. Dataproc의 새로운 멀티 테넌트 클러스터를 사용하면 중앙 집중식 제어를 유지하고 비용을 최적화하면서 데이터 과학팀에 빠르고 협업적인 환경을 제공할 수 있습니다. 이 새로운 기능은 단순한 인프라 업데이트 이상으로, 혁신 수명 주기를 가속화하는 방법입니다.
이 기능은 현재 공개 프리뷰 버전으로 제공됩니다. 지금 바로 기술 문서를 살펴보고 첫 번째 멀티 테넌트 클러스터를 만들어 보세요. 플랫폼을 지속적으로 발전시켜 나가기 위해서는 여러분의 의견이 매우 중요합니다. dataproc-feedback@google.com으로 의견을 공유해 주세요.