Azure Databricks 구성 개요
Azure Databricks는 데이터 엔지니어링과 데이터 과학의 가장 뛰어난 기능을 결합한 클라우드 기반 플랫폼입니다. Apache Spark빅데이터 처리를 위한 빠르고 확장 가능한 오픈소스 프레임워크를 사용하여 데이터 파이프라인을 구축, 관리 및 분석할 수 있습니다. Azure Databricks는 또한 데이터 과학자와 엔지니어가 기계 학습 및 인공지능 프로젝트를 함께 진행할 수 있는 협업 작업 공간을 제공합니다.
정부나 공공 부문 산업에 종사하고 있다면 이 참조 아키텍처 문서는 Sovereign Landing Zone이 있는 Azure Databricks를 사용하거나 주권 기준 정책 이니셔티브 가 적용된 Azure Landing Zone 배포에 대한 의견이 담긴 지침을 제공합니다.
Azure Databricks 제품 설명서 는 다양한 기사에 대한 광범위한 정보를 제공합니다. 이 문서는 Azure Databricks 환경를 구성하기 위한 주요 개념과 옵션에 대한 엄선된 권장 사항을 제공하여 설명서를 보완합니다.
Azure Databricks의 주요 기능
Azure Databricks는 다양한 기능을 갖추고 있지만, 이 참조 아키텍처에서는 인프라 요소에 초점을 맞춥니다. Azure Databricks는 다음을 제공합니다.
대화형 노트북: 노트북을 사용해 Python, Scala, SQL 또는 R로 코드를 작성하고 차트와 그래프로 결과를 시각화하세요. 공유를 사용하여 팀원과 함께 노트북에 의견을 남기고 GitHub 등의 인기 도구와 통합하세요 Azure DevOps.
컴퓨팅 옵션: Azure Databricks는 데이터 엔지니어링, 데이터 과학 및 데이터 분석 워크로드를 지원하기 위해 다양한 컴퓨팅 옵션을 제공합니다. 이러한 옵션에는 노트북 및 작업을 위한 주문형 확장 가능 서버리스 컴퓨팅, 모든 용도의 분석 및 자동화된 작업을 위한 프로비저닝된 컴퓨팅, SQL 명령을 실행하기 위한 SQL 웨어하우스가 포함됩니다. 인스턴스 풀은 시작 및 자동 확장 시간을 줄여 다양한 데이터 처리 시나리오에서 효율성을 높여 주는 유휴 상태의 즉시 사용 가능한 인스턴스를 제공합니다.
데이터 통합: Azure Blob Storage, Azure Data Lake Storage, Azure SQL Database, Azure Synapse Analytics, Azure Cosmos DB 등을 포함하여 다양한 데이터 소스 및 대상에 쉽게 연결 통합할 수 있습니다. ACID 트랜잭션과 스키마 적용을 지원하는 안정적이고 성능이 뛰어난 데이터 레이크 솔루션인 Delta Lake를 사용하세요.
기계 학습: TensorFlow, PyTorch, Scikit-learn, XGBoost와 같은 인기 있는 프레임워크를 사용하여 기계 학습 모델을 빌드, 학습, 배포합니다. 기계 학습 라이프사이클을 관리하기 위한 오픈소스 플랫폼인 MLflow를 사용하여 실험을 추적하고, 메트릭을 기록하고, 모델을 배포하세요.
기업 보안: 역할 기반 액세스 제어, 암호화, 감사 및 규정 준수와 같은 기능을 통해 데이터에 안전하게 액세스하고 처리하세요. ID와 데이터 보호를 위해 Azure Databricks를 Microsoft Entra ID, Azure Key Vault, Azure Private 연결와 통합합니다.
데이터 거버넌스 및 공유: Unity Catalog는 외부 공유를 위한 관리형 Delta Sharing과 데이터에 대한 통합된 데이터 거버넌스 모델을 제공함으로써 조직 내의 데이터 공유를 간소화하고 클라우드에서 분석을 보호합니다. 레이크하우스.
상위 수준 Databricks 아키텍처
Azure Databricks는 제어 평면 과 컴퓨팅 평면에서 작동합니다. 참조 아키텍처는 이러한 각 제어 평면에서 구성 옵션을 권장합니다. 다음 다이어그램은 전반적인 Azure Databricks 아키텍처를 설명합니다.
제어 평면
제어 평면은 클러스터 및 작업의 수명 주기와 사용자 및 데이터 액세스의 인증 및 권한 부여를 관리하는 Azure Databricks의 레이어입니다. 제어 평면에는 Azure Databricks 계정의 Azure Databricks가 관리하는 백엔드 서비스가 포함됩니다. 웹 애플리케이션은 제어 평면에 있습니다.
제어 평면은 Azure Databricks가 소유한 Azure 구독에서 실행되며 보안 API를 통해 클래식 및 서버리스 컴퓨팅 평면과 통신합니다. 제어 평면은 또한 사용자가 Azure Databricks와 상호작용할 수 있는 웹 인터페이스와 REST API를 제공합니다.
계산 평면
컴퓨팅 평면은 데이터가 처리되는 곳입니다. 컴퓨팅 플레인에는 서버리스와 클래식이라는 두 가지 유형이 있습니다. 서버리스 컴퓨팅 플레인은 즉각적이고 탄력적인 리소스를 제공하는 반면, 클래식 컴퓨팅 플레인은 사전 프로비저닝된 인프라에 의존합니다.
서버리스 컴퓨팅 플레인
서버리스 컴퓨팅은 임시 쿼리, 노트북 및 단기 워크로드에 이상적입니다. 예를 들어, 서버리스 컴퓨팅을 사용하여 노트북에서 SQL 명령을 실행하거나 가벼운 작업을 실행할 수 있습니다. 서버리스 컴퓨팅 평면에서 리소스는 Azure Databricks 계정 내의 레이어 컴퓨팅에서 실행됩니다.
Azure Databricks는 작업 공간 클래식 컴퓨팅 평면과 동일한 Azure 지역에 서버리스 컴퓨팅 평면을 생성합니다. Databricks 계정에 위치한 서버 풀을 운영하며, 몇 초 이내에 사용자에게 할당할 수 있는 Kubernetes 컨테이너를 실행합니다. 자세한 내용은 다음을 참조하세요. Databricks Serverless SQL 발표: SQL 워크로드를 위한 즉각적이고 관리되며 보안되고 프로덕션에 적합한 플랫폼 - Databricks 블로그.
사용자가 동시 부하를 처리하기 위해 보고서나 쿼리를 동시에 실행할 때 컴퓨팅 플랫폼은 더 많은 서버로 클러스터를 빠르게 확장합니다. Databricks는 서버의 전체 구성을 관리하고 필요에 따라 자동으로 패치 및 업그레이드를 수행합니다. 서버리스 컴퓨팅은 사용량(예: 쿼리 실행 또는 작업 실행 기준)을 기준으로 요금이 청구됩니다.
각 서버는 보안 구성을 실행하며, 모든 처리 과정은 3개 계층의 격리(런타임을 호스팅하는 Kubernetes 컨테이너, 컨테이너를 호스팅하는 VM, 작업 공간을 위한 가상 네트워크)로 보안됩니다. 각 레이어는 공유나 교차 네트워크 트래픽이 허용되지 않은 하나의 작업 공간으로 분리됩니다.
컨테이너는 강화된 구성을 사용하고, VM은 종료되어 재사용되지 않으며, 네트워크 트래픽은 동일한 클러스터의 노드로 제한됩니다. 모든 컴퓨팅은 일시적이며 해당 작업 부하에만 전념하고, 작업 부하가 완료되면 안전하게 삭제됩니다.
사용자, 제어 평면, 컴퓨팅 평면, 클라우드 서비스 간의 모든 트래픽은 공개 인터넷이 아닌 Azure의 글로벌 네트워크를 통해 라우팅됩니다. 서버리스 SQL 웨어하우스를 위한 서버리스 컴퓨팅 플레인은 고객이 구성 가능한 백엔드 Azure 개인 연결 연결을 사용하지 않습니다. Azure Databricks 제어 평면은 제어 평면 IP 주소에 대해서만 IP 액세스가 허용되는 mTLS를 통해 서버리스 컴퓨팅 평면에 연결됩니다.
모든 연결된 저장소는 업계 표준인 AES-256 암호화로 보호되며 사용자, 제어 평면, 컴퓨팅 평면 및 클라우드 서비스 간의 모든 트래픽은 최소 TLS 1.2로 암호화됩니다. 서버리스 SQL 웨어하우스는 관리형 디스크에 대해 고객 관리 키를 사용하지 않습니다.
워크로드에는 해당 워크로드 범위를 벗어나는 시스템에 대한 권한이나 자격 증명이 없으며, 데이터에 대한 액세스는 단기(1시간) 토큰을 통해 이루어집니다. 이러한 토큰은 각 특정 작업 부하에 안전하게 전달됩니다.
2024년 6월 현재 Azure 기밀 컴퓨팅은 서버리스 컴퓨팅에서 지원되지 않지만, 워크로드는 Azure 서버리스 컴퓨팅 격리 다이어그램에 표시된 것처럼 여러 계층의 격리로 보호됩니다.
자세한 내용은 서버리스 컴퓨팅에 워크로드를 안전하게 배포하세요를 참조하세요.
클래식 컴퓨팅 플레인
클래식 컴퓨팅 플레인은 장기 실행 작업, 프로덕션 워크로드 및 일관된 리소스 요구 사항에 적합합니다. 예를 들어, ETL 파이프라인, 기계 학습 교육 및 데이터 엔지니어링 작업에 프로비저닝된 컴퓨팅을 사용할 수 있습니다.
클래식 컴퓨트 플레인은 자체 Azure 구독에서 실행되므로 자연스럽게 격리됩니다. Azure 구독의 각 작업 공간 가상 네트워크 내에 새로운 컴퓨팅 리소스가 생성되고 구성됩니다. 컴퓨팅 리소스는 명시적으로 수정되지 않는 한 일정하게 유지되며 인스턴스 유형 및 기간에 따라 요금이 청구됩니다. 클러스터는 관리형 디스크에 대해 고객 관리 키를 사용할 수 있으며, 스팟 인스턴스가 지원됩니다.
Azure Databricks 관리자는 클러스터 정책을 사용하여 사용 가능한 인스턴스 유형, Databricks 버전, 인스턴스 크기를 포함한 클러스터의 여러 측면을 제어할 수 있습니다.
Databricks 가상 네트워크 주입은 Azure Databricks 클래식 컴퓨팅 평면 리소스를 자체 가상 네트워크에 배포할 수 있는 기능입니다. 이 기능을 사용하면 서비스 엔드포인트나 개인 엔드포인트를 사용하여 보다 안전한 방식으로 Databricks를 다른 Azure 서비스에 연결할 수 있습니다. 가상 네트워크 피어링을 사용하여 Azure Databricks 작업 공간이 실행 중인 가상 네트워크를 다른 Azure 가상 네트워크와 피어링할 수도 있습니다.