Skip to main content

개요

MicroStrategy, Tableau Server, Power BI, Informatica 등 외부 BI/ETL 서비스가 Databricks SQL Warehouse에 접속할 때, 인터넷 대신 AWS PrivateLink를 통한 프라이빗 연결 을 구성하는 방법을 다룹니다. 이 가이드는 다음 두 가지 방향의 연결을 모두 설명합니다:
참고 이 가이드는 AWS 환경 기준입니다. Azure의 경우 Private Endpoint 구성이 다르며, 별도 가이드를 참고하세요.

외부 서비스가 Databricks에 접속하는 방식

BI/ETL 도구는 JDBC 또는 ODBC 드라이버 를 통해 Databricks SQL Warehouse에 연결합니다. 어떤 외부 서비스든 접속 방식은 동일합니다. JDBC Connection String 형식은 다음과 같습니다:
외부 서비스 입장에서 Databricks workspace 도메인에 HTTPS(443)로 접속하는 것이 전부이므로, SQL Warehouse가 Classic이든 Serverless 든 접속 경로와 PrivateLink 구성은 동일합니다.
각 BI 도구별 상세 설정은 Databricks 공식 파트너 문서를 참고하세요:

Frontend PrivateLink란?

Databricks workspace에 접속하는 경로를 인터넷 대신 AWS 내부 네트워크(PrivateLink) 로 전환하는 구성입니다. Databricks는 각 리전에 VPC Endpoint Service 를 이미 운영하고 있습니다. 외부 서비스의 VPC에 이 서비스를 가리키는 Interface VPC Endpoint 를 생성하면, 해당 VPC 내에서 Databricks workspace 도메인으로 향하는 트래픽이 인터넷이 아닌 VPC Endpoint의 Private IP → AWS PrivateLink → Databricks Control Plane 경로로 전달됩니다. PrivateLink를 적용하면 트래픽이 인터넷을 경유하지 않으므로, 보안 정책상 인터넷 아웃바운드가 차단된 환경 에서도 Databricks에 접속할 수 있습니다.
참고 핵심 포인트: 외부 서비스(MicroStrategy, Tableau 등) 입장에서는 JDBC connection string의 호스트 주소가 동일합니다. PrivateLink 구성 후에도 adb-xxxx.cloud.databricks.com으로 접속하며, DNS가 해당 도메인을 VPC Endpoint의 Private IP로 resolving하여 프라이빗 경로로 라우팅합니다.

구성 절차

Step 1: 외부 서비스 VPC에서 Interface VPC Endpoint 생성

AWS Console → VPC → Endpoints → Create endpoint 서울 리전 (ap-northeast-2) Endpoint Service name:
참고 다른 리전의 Endpoint Service name은 Databricks 리전별 엔드포인트 목록 문서를 참고하세요.

Step 2: Databricks Account Console에 VPC Endpoint 등록

  1. Account Console → SecurityNetworkingVPC endpoints
  2. Register VPC endpoint 클릭
  3. 입력:
    • VPC endpoint name: 식별 가능한 이름 (예: mstr-frontend-vpce)
    • VPC endpoint ID: Step 1에서 생성한 vpce-xxxxxxxx
    • Region: ap-northeast-2
  4. Register 클릭
주의 Workspace의 Private Access Settings 에서 Public access가 Disabled인 경우, 이 VPC Endpoint ID를 Allowed VPC endpoint IDs 목록에도 추가해야 합니다. 그렇지 않으면 VPC Endpoint를 등록해도 접근이 차단됩니다.

Step 3: DNS 구성

외부 서비스 VPC에서 Databricks workspace 도메인이 VPC Endpoint의 Private IP로 resolving 되도록 Route 53 Private Hosted Zone 을 설정합니다.
  1. Route 53 → Private Hosted Zone 생성
    • Domain: cloud.databricks.com (또는 workspace의 도메인)
    • VPC 연결: 외부 서비스 VPC
  2. A 레코드 (Alias) 추가
    • Name: workspace 호스트명 (예: adb-1234567890123456.18)
    • Alias Target: VPC Endpoint의 DNS name
기존에 동일 VPC에서 이미 Databricks Frontend PrivateLink를 사용 중이라면, DNS가 이미 구성되어 있으므로 Step 3은 생략 가능합니다. 새로운 VPC라면 반드시 DNS를 구성해야 합니다.

구성 완료 후 확인

외부 서비스 VPC 내에서 다음을 확인합니다:
Private IP(10.x.x.x 등)로 resolving 되면 PrivateLink가 정상 동작하는 것입니다.

방향 2: Databricks Serverless → 외부 서비스 VPC (NCC 경유)

언제 필요한가?

일반적인 BI 연결(외부 서비스가 Databricks에 쿼리를 보내고 결과를 받는 구조)에서는 방향 1만으로 충분 합니다. 방향 2는 다음과 같은 경우에만 필요합니다:

NCC(Network Connectivity Configuration) 개요

Serverless Compute는 Databricks 관리 VPC에서 실행되므로, 외부 VPC 리소스에 접근하려면 NCC 를 통해 프라이빗 터널을 구성해야 합니다. 구조는 다음과 같습니다:

구성 절차

Step 1: 외부 서비스 VPC 측 준비

  1. NLB(Network Load Balancer) 생성
    • 대상 리소스(DB, API 서버 등)를 Target Group에 등록
    • Listener: 대상 서비스 포트 (예: 3306, 5432, 443 등)
  2. VPC Endpoint Service 생성
    • AWS Console → VPC → Endpoint Services → Create
    • NLB를 연결
    • Require acceptance: 활성화 (수동 승인)
  3. Allow Principals 추가
    • Databricks 계정이 Endpoint에 접근할 수 있도록 허용
    • Principal: Databricks 서비스 계정 ARN

Step 2: Databricks NCC 구성

  1. Account Console → SecurityNetworkingNetwork connectivity configurations
  2. NCC 선택 (또는 신규 생성)
  3. Private endpoint rules 탭 → Add private endpoint rule
  4. 입력:
    • Type: VPC Resource
    • Endpoint Service name: Step 1에서 생성한 VPC Endpoint Service name
  5. Add 클릭
Databricks가 자동으로 VPC Endpoint를 생성합니다.

Step 3: 연결 승인

외부 서비스 VPC 측에서:
  1. AWS Console → VPC → Endpoint Services → 해당 서비스 선택
  2. Endpoint connections 탭에서 Databricks가 생성한 연결을 확인
  3. 상태가 Pending AcceptanceAccept 클릭
승인 후 수 분 내에 NCC의 상태가 ESTABLISHED 로 변경됩니다.
참고 NCC 구성에 대한 상세 가이드는 Serverless NCC 가이드 페이지를 참고하세요.

정리: 방향별 구성 요약

대부분의 BI 도구 연결은 방향 1(Frontend PrivateLink)만 구성하면 됩니다. 외부 서비스가 Databricks에 쿼리를 보내고 결과를 받는 일반적인 패턴에서는 Databricks → 외부 방향의 연결이 필요 없습니다.

FAQ


참고 자료

외부 서비스 연결

NCC / Serverless Private Connectivity (Databricks → 외부)