데이터 유출을 방지하기 위해 안전한 Azure Databricks 아키텍처를 설정하는 방법에 대한 자세한 내용을 알아보세요
작성자: Ganesh Rajagopal, Bruce Nelson , 바빈 쿠카디아
마지막 업데이트: 2025년 10월 30일
시작하기 전에 다음 주제에 익숙해졌는지 확인하십시오.
Databricks Lakehouse Platform은 엔터프라이즈급 데이터 솔루션을 대규모로 구축, 배포, 공유 및 유지 관리하기 위한 통합 도구 세트를 제공합니다. Databricks는 클라우드 스토리지 및 보안과 통합되며, 사용자를 대신하여 클라우드 인프라를 관리하고 배포합니다.
이 문서의 전반적인 목표는 다음 위험을 완화하는 것입니다.
Azure Databricks는 1등급 서비스이며 전송 중 및 저장 중인 데이터를 보호하는 데 도움이 되는 Azure의 기본 도구 및 서비스를 지원합니다. Azure Databricks는 사용자 정의 경로, 방화벽 규칙 및 네트워크 보안 그룹과 같은 네트워크 보안 제어를 지원합니다.
이 블로그의 기술적 목표 외에도 다음과 같은 사항을 고려한 개 념을 제시하고자 합니다.
비용 절감 또는 비용 문제 영역을 지적하고 가능한 한 이유와 작동 방식을 명확히 하도록 노력하겠습니다.
시작하기 전에 Azure Databricks 배포 아키텍처를 여기에서 간단히 살펴보겠습니다:
Azure Databricks는 팀 간의 안전한 협업을 촉진하도록 구성되어 있으며, 데이터 과학, 데이터 분석 및 데이터 엔지니어링에 집중할 수 있도록 많은 백엔드 서비스를 관리합니다.
Azure Databricks는 두 가지 주요 구성 요소인 제어 평면과 컴퓨팅 평면을 중심으로 구성됩니다.
제어 평면:
Databricks가 자체 Azure 계정 내에서 관리하는 Azure Databricks 제어 평면은 플랫폼의 핵심 인텔리전스 역할을 합니다. 사용자 인증, 클러스터 및 작업 오케스트레이션, 워크스페이스 관리를 위한 백엔드 서비스를 제공하며, 서비스 상호 작용을 위한 웹 인터페이스 및 API 엔드포인트를 제공합니다.
컴퓨팅 리소스의 수명 주기를 오케스트레이션하지만 데이터를 직접 처리하지는 않습니다. 대신 제어 평면은 고객의 Azure 구독 또는 서버리스 배포의 Databricks 테넌트 내에서 작동하는 별도의 컴퓨팅 평면으로 데이터 처리를 지시합니다. 노트북 명령 및 기타 많은 워크스페이스 구성은 제어 평면에 저장되며 저장 시 암호화됩니다 .
컴퓨팅 평면:
컴퓨팅 평면은 데이터 처리를 담당합니다. 사용되는 컴퓨팅의 특정 유형(서버리스 또는 클래식)은 선택한 컴퓨팅 리소스 및 워크스페이스 구성에 따라 달라집니다. 서버리스 및 클래식 컴퓨팅은 기본 워크스페이스 스토리지(dbfs) 및 Azure 테넌트에 연결된 관리 ID와 같은 일부 리소스를 공유합니다.
서버리스 컴퓨팅
서버리스 컴퓨팅의 경우 리소스는 Databricks에서 관리하는 Azure의 컴퓨팅 평면 내에서 작동합니다. Azure Databricks는 프로비저닝, 확장 및 유지 관리를 포함한 거의 모든 기본 인프라를 처리합니다. 이 접근 방식은 다음을 제공합니다.
서버리스 리소스는 필요에 따라 사용할 수 있어 유휴 시간 비용이 절감됩니다. 또한 여러 계층의 보안 및 네트워크 제어가 있는 Azure Databricks 계정의 보안 네트워크 경계 내에서 실행됩니다.
클래식 Azure Databricks 컴퓨팅
클래식 Azure Databricks 컴퓨팅을 사용하면 리소스가 Azure 클라우드 테넌트 내에 있습니다. 이를 통해 고객 관리 컴퓨팅을 사용할 수 있으며, Databricks 클러스터는 Databricks 테넌트가 아닌 Azure 구독 내의 리소스에서 실행됩니다. 이를 통해 다음을 제공합니다.
중요 참고: 클래식 SQL 웨어하우스를 포함한 클래식 클러스터는 Azure 구독에서 리소스를 프로비저닝해야 하므로 서버리스 옵션보다 시작 시간이 더 길 수 있습니다.
서버리스 전용 Databricks 워크스페이스 배포(신규): 서버리스 전용 워크스페이스는 서버리스 컴퓨팅만 실행할 수 있는 워크스페이스입니다. 클래식 컴퓨팅이 없으므로 모든 시스템 리소스는 Azure Databricks에서 관리하며, 이는 워크스페이스 기본 스토리지까지 모든 기본 인프라를 처리합니다.

보안하려는 통신 경로를 이해해 보겠습니다. Azure Databricks는 아래와 같이 다양한 방식으로 사용자와 애플리케이션에서 사용할 수 있습니다.

Databricks 워크스페이스 배포에는 보안할 수 있는 다음 네트워크 경로가 포함됩니다.
최종 사용자 관점에서 항목 1은 인바운드 제어가 필요하고 항목 2~6은 아웃바운드 제어가 필요합니다.
이 문서에서는 Databricks 워크로드의 아웃바운드 트래픽 보안에 중점을 두고 제안된 배포 아키텍처에 대한 규범적 지침을 제공하며, 이를 수행하는 동안 인바운드(사용자/클라이언트에서 Databricks로) 트래픽을 보호하기 위한 모범 사례도 공유할 것입니다.
Azure Databricks 작업 영역을 온프레미스 또는 VPN 연결(인터넷 액세스 없음)에서 액세스할 수 있도록 안전하게 만드는 여러 가지 옵션이 있습니다. 모범 사례로, 전용 엔드포인트(Private Link)를 사용하여 작업 영역 액세스를 보호하는 것이 좋습니다. 이때 표준 또는 간소화된 배포를 사용합니다. 권장 옵션은 표준 배포입니다. 작업 영역은 Azure Portal 또는 All in one ARM 템플릿을 통해 배포하거나, 보안 모범 사례로 구성된 Databricks 작업 영역 및 클라우드 인프라 배포를 지원하는 보안 참조 아키텍처(SRA) Terraform 템플릿을 사용하여 배포할 수 있습니다.
프런트 엔드 대 백 엔드 전용 링크: 프런트 엔드 전용 링크는 사용자 대 작업 영역이라고도 합니다. 백 엔드 전용 링크는 컴퓨팅 평면 대 제어 평면이라고도 합니다.
표준 배포(권장): 보안 강화를 위해 Databricks는 별도의 전송 VNet에서 프런트 엔드(클라이언트) 연결을 위해 별도의 전용 엔드포인트를 사용하도록 권장합니다. 프런트 엔드 및 백 엔드 전용 링크 연결을 모두 구현하거나 백 엔드 연결만 구현할 수 있습니다. 별도의 VNet을 사용하 여 사용자 액세스를 캡슐화하고, 클래식 데이터 평면의 컴퓨팅 리소스에 사용하는 VNet과 분리합니다. 백 엔드 및 프런트 엔드 액세스를 위해 별도의 전용 엔드포인트를 만듭니다. 표준 배포로 Azure Private Link 사용의 지침을 따릅니다.
이러한 서비스는 백 엔드 전용 엔드포인트를 통해 액세스할 수 없으므로 컴퓨팅 평면에서 시스템 스토리지, 메시징 및 메타데이터 액세스에 대한 추가 고려 사항이 필요합니다.
시스템 관리 스토리지 계정(클래식 컴퓨팅 평면만 해당): 이러한 스토리지 계정은 Databricks 클러스터를 부팅하고 모니터링하는 데 필요합니다. 이러한 스토리지 계정은 Databricks 테넌트에 있으며 서비스 엔드포인트 정책(권장)을 통해 허용해야 합니다. 대안으로는 스토리지 서비스 태그를 사용하는 것이 있지만 이는 너무 광범위하여 데이터를 유출하기 쉬우며, 또는 FQDN 또는 IP 주소의 개별 허용 목록(권장하지 않음)을 사용할 수 있습니다.
작업 영역 기본 스토리지(DBFS): 임시 공간, 서비스, 임시 SQL 결과(클라우드 페치), 드라이버에 사용되는 일반 분산 파일 시스템입니다. 클래식 컴퓨팅의 경우 전용 DBFS 기능을 사용하고 서버리스 컴퓨팅의 경우 서비스 엔드포인트 또는 전용 엔드포인트를 사용하여 전용 엔드포인트를 통해 보호할 수 있습니다.
메시징: (이벤트 허브, 클래식 컴퓨팅 평면만 해당) 계보 추적 및 기타 가벼운 메시징에 사용되는 공개적으로 액세스 가능한 리소스입니다. UDR 및/또는 방화벽에서 이벤트 허브 서비스 태그를 통해 허용할 수 있습니다.
메타데이터: (SQL, 클래식 컴퓨팅 평면만 해당): 레거시 Hive 메타스토어 트래픽에 사용되는 공개적으로 액세스 가능한 리소스입니다.
사용자 수준 스토리지 계정 액세스: 시스템 데이터가 아닌 고객 데이터에 사용되는 ALDS 및 Blob Storage 계정.
첫 번째 파티 리소스: Cosmos DB, Azure SQL, DataFactory 등…
외부 리소스: S3, BigQuery , Snowflake 등…
허브 및 스포크 참조 아키텍처를 권장합니다. 이 모델에서는 허브 가상 네트워크가 검증된 소스 및 선택적으로 온프레미스 환경에 연결하는 데 필요한 공유 인프라를 호스트합니다. 스포크 가상 네트워크는 허브와 피어링되며 다양한 비즈니스 단위 또는 팀을 위한 격리된 Azure Databricks 작업 영역을 포함합니다.
이 허브-스포크 아키텍처를 사용하면 다양한 목적과 팀에 맞게 조정된 여러 스포크 VNet을 만들 수 있습니다. 단일 대규모 가상 네트워크 내에서 팀별로 별도의 서브넷을 만들어 격리를 달성할 수도 있습니다. 이러한 경우 자체 서브넷 쌍 내의 각기 다른 격리된 Azure Databricks 작업 영역을 만들고 동일한 가상 네트워크 내의 별도 서브넷에 Azure 방화벽을 배포할 수 있습니다.
| 항목 | 세부 정보 |
|---|---|
| 가상 네트워크 |
|
| 서브넷 | 세 개의 서브넷: 호스트(공용), 컨테이너(개인) 및 전용 엔드포인트 서브넷(스토리지, DBFS 및 사용할 수 있는 기타 Azure 서비스에 대한 전용 엔드포인트를 보유). |
| 라우팅 테이블 | Databricks 서브넷에서 네트워크 어플라이언스, 인터넷 또는 온프레미스 데이터 소스로 나가는 트래픽을 채널링합니다. |
| Azure 방화벽 | 나가는 모든 트래픽을 검사하고 허용/거부 정책에 따라 작업을 수행합니다. |
| 전용 DNS 영역 | 가상 네트워크 내의 도메인 이름을 관리하고 확인하는 안정적이고 안전한 DNS 서비스를 제공합니다(사용할 수 없는 경우 배포 중에 자동으로 생성될 수 있음). |
| 서비스 엔드포인트 정책 | 작업 영역 스토리지 계정(dbfs), 아티팩트 및 로깅 스토리지, 시스템 테이블에 대한 시스템 스토리지와 같은 비전용 엔드포인트 기반 스토리지 계정에 대한 액세스를 허용하는 정책입니다. |
| Azure Key Vault | DBFS, 관리 디스크 및 관리 서비스를 암호화하기 위한 CMK를 저장합니다. |
| Azure Databricks 액세스 커넥터 | Unity Catalog를 사용하도록 설정한 경우 필요합니다. Unity Catalog에 등록된 데이터에 액세스하기 위해 관리 ID를 Azure Databricks 계정에 연결합니다. |
| 방화벽에서 허용 목록에 추가할 Azure Databricks 서비스 목록 | 이 공개 문서를 따르고 Databricks 배포와 관련된 모든 IP 주소 및 도메인 이름을 나열하십시오. |

Azure Firewall(또는 기타 네트워크 가상 어플라이언스)을 허브 가상 네트워크에 배포합니다. Azure Firewall을 사용하면 다음을 구성할 수 있습니다.
Azure Firewall 대신 타사 방화벽 어플라이언스를 사용하는 경우에도 작동합니다. 그러나 각 제품에는 고유한 특성이 있으므로 관련 제품 지원 및 네트워크 보안 팀과 협력하여 문제를 해결하는 것이 좋습니다.
Databricks 컴퓨팅 평면 서브넷의 비로컬 네트워크 트래픽은 사용자 정의 경로(예: 기본 경로 0.0.0.0/0)를 사용하여 Azure Firewall과 같은 나가는 어플라이언스를 통해 라우팅되어야 합니다. 이렇게 하면 모든 나가는 트래픽이 검사됩니다. 그러나 프라이빗 엔드포인트를 사용하는 제어 평면으로의 나가는 트래픽은 이러한 라우팅 테이블 및 나가는 어플라이언스를 우회합니다. 그러나 SQL, Event Hubs 및 스토리지와 같은 다른 제어 평면 구성 요소는 나가는 어플라이언스를 통해 라우팅됩니다.
중요 고려 사항: 이렇게 하면 의도한 대상뿐만 아니라 해당 지역의 스토리지 계정 및 서비스로 나가는 트래픽이 허용됩니다. 이는 보안 아키텍처를 설계할 때 신중하게 고려해야 할 중요한 요소입니다.
예, 서비스 엔드포인트는 최적화된 경로를 통해 고객이 소유하고 관리하는 Azure 서비스(예: ADLS gen2, Azure KeyVault 또는 eventhub)에 안전하고 직접적인 연결을 제공합니다. 서비스 엔드포인트는 외부 Azure 리소스에 대한 연결을 가상 네트워크로만 제한하는 데 사용할 수 있습니다.
예, 서비스 엔드포인트 정책은 2025년 10월 1일부로 공개 미리 보기로 제공됩니다. 참조: 클래식 컴퓨팅에서 스토리지 액세스를 위한 Azure 가상 네트워크 서비스 엔드포인트 정책 구성
예, 네트워크 트래픽 규칙이 이 문서에 설명된 대로 구성된 경우 타사 NVA를 사용할 수 있습니다. 이 설정은 Azure Firewall로만 테스트했지만 일부 고객은 다른 타사 어플라이언스를 사용합니다. 온프레미스보다는 클라우드에 어플라이언스를 배포하는 것이 이상적입니다.
예, 가능합니다. Azure 참조 아키텍처에 따라 향후 계획을 더 잘 세우기 위해 허브-스포크 가상 네트워크 토폴로지를 사용하는 것이 좋습니다. Azure Firewall 서브넷을 Azure Databricks 작업 영역 서브넷과 동일한 가상 네트워크에 생성하기로 선택한 경우 위 6단계에서 설명한 가상 네트워크 피어를 구성할 필요가 없습니다.
예, 가능하지만 다음 사항을 염두에 두시기 바랍니다.
예, 해당 요구 사항에는 Azure 방화벽 로그 및 메트릭 사용을 권장합니다.
예, 관리형 Databricks 배포는 VNet 주입 작업 영역으로 업그레이드할 수 있습니다.
작업 영역에는 일반적으로 "호스트"(또는 "퍼블릭") 서브넷과 "컨테이너"(또는 "프라이빗") 서브넷이라고 하는 두 개의 서브넷이 필요합니다. 각 서브넷은 호스트(Azure VM)와 VM 내에서 실행되는 컨테이너(Databricks 런타임, 즉 dbr)에 IP 주소를 제공합니다.
보안 클러스터 연결(SCC)을 사용하여 작업 영역을 생성할 때 Databricks의 서브넷에는 퍼블릭 IP 주소가 없습니다. 호스트 서브넷의 기본 이름이 public-subnet일 뿐입니다. SCC는 외부 네트워크에서 Databricks 작업 영역 컴퓨팅 인스턴 스 중 하나로 SSH와 같은 트래픽이 들어오지 않도록 합니다.
예, 배포 후 서브넷 크기를 조정하거나 변경할 수 있습니다. 가상 네트워크를 변경하거나 서브넷 이름을 변경하는 것도 가능합니다. (게이트된 공개 미리 보기). Azure 지원팀에 문의하여 서브넷 크기 조정을 위한 지원 사례를 제출해 주세요.
예, 공개 문서를 참조하세요.
(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)
블로그를 구독하고 최신 게시물을 이메일로 받아보세요.