SSH 터널을 사용하여 Databricks에 연결

중요합니다

이 기능은 베타 버전으로 제공됩니다.

베타 기능의 비용과 가격은 변경될 수 있습니다.

Azure Databricks의 SSH(Secure Shell) 터널은 Visual Studio Code, Cursor 또는 터미널을 Databricks 작업 공간과 Azure Databricks의 서버리스, 서버리스 GPU, 클래식 컴퓨트에 연결합니다. 워크페이스 파일을 편집하고 Python 스크립트와 노트북을 실행하거나 디버깅하는 데 사용하세요. Python 환경과 코드 실행은 원격 컴퓨트에 있는 상태로 사용할 수 있습니다. 서버리스 컴퓨트에 직접 연결하거나, 전용 클래식 클러스터에 재사용 가능한 SSH 연결을 설정하세요.

요구 사항

로컬 컴퓨터에서 SSH 연결을 시작하세요. 터널은 다른 원격 환경이나 도커 컨테이너에서 실행할 수 없습니다.

서버리스 또는 클래식 컴퓨트에 연결하려면 다음 조건이 필요합니다:

  • 로컬 머신에 Databricks CLI 버전 1.5.0 이상이 설치되어 있고 인증이 설정되어 있어야 합니다. databricks --version를 사용하여 설치된 버전을 확인하세요. Databricks CLI 설치 또는 업데이트를 참조하세요.
  • 다음 중 하나에 해당하는 경우:
    • Visual Studio Code 버전 1.110.0(Universal) 이상과 Remote - SSH 확장 프로그램(1.0.46+)이 설치되어 있어야 합니다.
    • 커서 버전 2.6.11 (Universal) 이상입니다.

서버리스 GPU 컴퓨팅에 연결하려면 AI 런타임 기능을 사용하도록 설정해야 합니다. AI 런타임을 참조하세요.

클래식 컴퓨트에 대한 추가 요구사항

클래식(전용 단일 사용자) 컴퓨팅에 연결하려면 다음을 수행합니다.

  • 컴퓨팅은 Databricks Runtime 17.0 이상을 실행해야 합니다. 전용 컴퓨팅 개요를 참조하세요.
  • Unity 카탈로그를 사용하도록 설정해야 합니다.
  • 컴퓨팅 정책이 있는 경우 작업 실행을 금지해서는 안 됩니다.
  • 전용 컴퓨팅에 Databricks Container Services를 사용하는 경우 Docker 이미지가 설치되어 있어야 합니다openssh-server.

SSH 연결을 선택하세요

컴퓨팅 타입에 맞는 연결 방식을 사용하세요:

Compute 연결 방법 설치 요구 사항
서버리스 컴퓨팅 databricks ssh connect 별도의 SSH 설정 단계는 없습니다.
--ide vscode 또는 --ide cursor을 추가하여 IDE를 실행합니다.
서버리스 GPU 컴퓨팅 databricks ssh connect --accelerator <accelerator> 별도의 SSH 설정 단계는 없습니다.
IDE를 실행하려면 --ide vscode 또는 --ide cursor을 추가하세요.
지원되는 가속기에 대해서는 --accelerator를 참조하세요.
클래식 전용 단일 사용자 컴퓨트 터미널에서 databricks ssh setup --name <connection-name>를 실행합니다.
그 다음 IDE에서 SSH 세션을 시작하거나 ssh <connection-name>를 실행합니다.
고전적인 컴퓨트 요구사항을 충족하는 전용 단일 사용자 클러스터를 선택하세요.
공유 클러스터는 지원되지 않습니다.

SSH 터널과 Databricks IDE 확장은 호환되지 않으며 함께 사용해서는 안 됩니다. Databricks Connect 및 다른 개발 옵션과의 비교는 IDE에서 연결을(를) 참조하세요.

서버리스 컴퓨팅에 연결

위의 요구사항을 충족하면 터미널이나 IDE에서 databricks ssh connect 를 실행하세요.

--ide 값은 어떤 에디터나 터미널에서 명령을 실행하든 실행할 에디터를 선택합니다.

비주얼 스튜디오 코드

databricks ssh connect --ide vscode

CLI는 원격 컴퓨트에 연결된 Visual Studio Code 창을 엽니다.

Cursor

databricks ssh connect --ide cursor

CLI는 원격 컴퓨팅에 연결된 Cursor 창을 엽니다.

Terminal

databricks ssh connect

CLI는 대화형 SSH 세션을 시작합니다.

명령 옵션, 이름 있는 연결 및 인증 프로필에 대해서는 databricks ssh connect를 참조하세요.

연결 후 작업 공간 프로젝트를 열고Python 환경을 선택하세요. 연결이 실패하면 SSH 터널 연결 문제 해결을 참고하세요.

AI 런타임으로 서버리스 GPU 컴퓨트에 연결하세요

AI 런타임이 활성화된 상태에서 --accelerator를 추가하여 GPU 연산을 사용하세요:

databricks ssh connect --accelerator GPU_1xA10

databricks ssh connect 는 단일 노드에서 대화형 세션을 제공합니다. 장시간 실행되는 훈련 작업이나 다중 노드 분산 훈련의 경우에는 대신 databricks air로 워크로드를 제출하세요. Databricks CLI를 AI Runtime과 함께 사용을(를) 참조하세요.

클래식 컴퓨팅에 연결

클래식 전용 클러스터에 재사용 가능한 연결을 원한다면, SSH 호스트 이름을 설정한 후 IDE에서 그 호스트를 선택하거나 터미널에서 연결하세요.

SSH 연결 설정

비고

SSH 연결을 설정하는 것은 클래식 컴퓨팅에 연결하는 경우에만 필요합니다.

로컬 머신에서 databricks ssh setup을 실행하세요. <connection-name>를 이 연결의 이름(예: my-connection)으로 바꾸세요:

databricks ssh setup --name <connection-name>

CLI는 클러스터를 선택하라고 안내하고 SSH 구성에 호스트 항목을 추가합니다. 클러스터를 직접 선택할 수도 있습니다. 전용 클러스터의 ID로 교체하세요 <cluster-id> :

databricks ssh setup --name <connection-name> --cluster <cluster-id>

마지막 클라이언트의 연결이 끊긴 후 SSH 서버가 대기하는 시간을 설정하려면 --shutdown-delay를 설정 명령에 추가하세요. 기본값은 10분입니다. 예를 들어, 이 SSH 호스트 항목을 통한 연결에 대해 30분 지연을 설정하려면:

databricks ssh setup --name <connection-name> --cluster <cluster-id> --shutdown-delay 30m

비고

IntelliJ 사용자의 경우, Databricks는 --auto-start-cluster=false를 설치 명령에 추가하고 연결하기 전에 클러스터를 수동으로 시작할 것을 권장합니다. JetBrains IDE는 시작 시 구성된 모든 클러스터를 시작하여 예기치 않은 컴퓨팅 요금이 발생할 수 있기 때문입니다.

Visual Studio Code 또는 커서를 사용하여 연결

  1. Visual Studio Code의 경우 원격 SSH 확장을 설치합니다. 커서에는 기본적으로 원격 SSH 확장이 포함됩니다.

  2. IDE 주 메뉴에서명령 팔레트> 클릭합니다. Remote-SSH: 설정을 선택합니다. 또는 기본 설정을 선택합니다. JSON(사용자 설정)을 열어 직접 수정 settings.json 합니다.

  3. Remote.SSH: 기본 확장(또는 remote.SSH.defaultExtensions의 settings.json에서) ms-Python.Python 및 ms-toolsai.jupyter을 추가하십시오.

    settings.json을(를) 수정하는 경우:

    "remote.SSH.defaultExtensions": [
        "ms-Python.Python",
        "ms-toolsai.jupyter"
    ]
    

    비고

    필요에 따라 Remote.SSH: Connect Timeout (또는 remote.SSH.connectTimeout in settings.json)의 값을 늘려 시간 제한 오류의 가능성을 더 줄입니다. 기본 시간 제한은 360입니다.

  4. 명령 팔레트에서 Remote-SSH를 선택합니다. 호스트에 연결합니다.

  5. 드롭다운 메뉴에서 첫 번째 단계에서 설정한 연결을 선택합니다. IDE는 새 창에서 연결을 진행합니다.

IntelliJ IDE를 사용하여 연결

  1. 원격 서버 자습서에 따라 설정합니다.
  2. 새 연결 화면에서 다음을 입력합니다.
    • 사용자 이름: root
    • 호스트: <connection-name>

터미널에서 클래식 컴퓨트에 연결하세요

설정한 연결 이름을 사용하세요 databricks ssh setup:

ssh <connection-name>

재사용 가능한 SSH 호스트 항목 없이 직접 연결하려면 CLI를 사용할 수도 있습니다. <cluster-id>를 전용 클러스터 ID로 교체하세요:

databricks ssh connect --cluster <cluster-id>

Databricks ssh connect를 참고하세요.

SSH를 통해 워크스페이스 프로젝트 열기

기본적으로 databricks ssh connect 명령은 임시 디렉터리로 열립니다. 작업 영역 파일에 액세스하려면 IDE 또는 터미널에서 작업 영역 디렉터리로 이동합니다.

  • Visual Studio Code 또는 커서의 명령 팔레트(Cmd/Ctrl+Shift+P)에서 폴더 열기를 선택하고 으로 이동합니다/Workspace/Users/<your-username>.
  • 터미널 창에서 디렉터리를 변경합니다. cd /Workspace/Users/<your-username>

비고

에 있는 /Workspace/Volumes파일 및 /dbfs 클러스터를 다시 시작할 때 유지됩니다. 및 /home기타 로컬 경로의 /root파일은 임시이며 다시 시작할 때 손실됩니다.

SSH 세션에서 Python과 노트북을 실행하세요

코드를 실행하기 전에 SSH 세션에서 제공하는 Python 환경을 선택하세요. 클래식 컴퓨팅의 경우, 이 환경에는 내장된 Databricks 런타임 라이브러리와 컴퓨트 범위 기반 라이브러리가 포함되어 있습니다.

  1. 명령 팔레트(Cmd/Ctrl+Shift+P)를 열고 Python 선택합니다. 인터프리터를 선택합니다.

  2. pythonEnv-xxx 목록에서 가상 환경을 선택합니다. 플래그를 사용하여 --base-environment Python 종속성을 설정하는 경우 옵션 목록에서 더 긴 가상 환경 이름을 선택합니다. 가상 환경이 표시되지 않는 경우:

    1. IDE 내의 터미널에서 실행 echo $DATABRICKS_VIRTUAL_ENV 합니다.

      출력 예제: /local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/python

    2. 전체 출력을 Python 인터프리터 경로로 붙여넣습니다. 인터프리터 프롬프트를 선택합니다.

  3. 새 터미널을 열면 가상 환경이 자동으로 활성화됩니다.

  4. Jupyter Notebook을 실행하려면 가상 환경이 커널로 선택되어 있는지 확인합니다. 노트북 오른쪽 상단의 커널 선택을 클릭합니다.

표준 Python 및 Jupyter 확장 프로그램을 사용하여 Python 파일 및 .ipynb notebook을 실행하고 디버그합니다.

서버리스 컴퓨팅의 Python 파일에서 Spark를 사용하려면 세션을 명시적으로 초기화합니다.

from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()

SSH 세션의 의존성 관리

컴퓨팅 유형에 맞는 의존성 관리를 선택하세요:

  • 서버리스 컴퓨트를 위해서는 지원되는 서버리스 환경 버전을 갖춘 작업 공간 기반 환경을 사용하세요.
  • 클래식 컴퓨트의 경우, 재시작 후에도 지속되는 의존성에 대해 클러스터 라이브러리 를 사용하세요.
  • 프로젝트 세션 범위로 지정된 의존성의 경우, 설정 노트북을 사용하세요.

비Python 패키지에 대해서는 Non-Python 의존성을 참조하세요.

작업 영역 기본 환경(서버리스 및 AI 런타임에 권장됨)

비고

이 기능을 사용하려면 작업 미리 보기 에서 서버리스 작업 영역 기본 환경 지원을 사용하도록 설정해야 합니다. Azure Databricks 미리 보기 관리를 참조하세요.

서버리스 환경 버전 4 이하의 작업 영역 기본 환경을 사용하여 Python 종속성을 미리 구성합니다. SSH 터널은 서버리스 환경 버전 5 이상에서 --base-environment을(를) 지원하지 않습니다. 작업 영역 UI 또는 Databricks CLI databricks 환경 create-workspace-base-environment 명령을 사용하여 기본 환경을 만듭니다.

연결할 때 옵션을 --base-environment 사용하여 환경을 지정합니다.

databricks ssh connect --base-environment my-workspace-env

이 --base-environment 옵션은 디스플레이 이름, 작업 공간 YAML 경로, 또는 리소스 ID를 허용합니다. 이것을 --cluster와 결합할 수는 없습니다. Databricks ssh connect를 참고하세요.

클러스터 라이브러리(클래식 컴퓨팅에 권장)

컴퓨팅 > 라이브러리에서 작업 영역 UI를 사용하여 종속성을 설치합니다. 이러한 항목은 클러스터 다시 시작에서도 유지되며 pythonEnv-xxx에서 사용할 수 있습니다. 클러스터 라이브러리를 참조하세요.

비 Python 종속성

비 Python 종속성을 유지하려면 컴퓨팅이 시작될 때 패키지를 설치하는 init 스크립트를 사용합니다. 필요에 따라 패키지를 Unity 카탈로그 볼륨에 저장하고 init 스크립트에서 참조합니다. init 스크립트란?을 참조하세요.

프로젝트 전용 노트북 설정

프로젝트 범위의 종속성을 위해, 각 세션 시작 시 명령이 포함된 %pip install Notebook을 실행합니다.

# Install from pyproject.toml
%pip install .

# Install from a requirements file
%pip install -r requirements.txt

# Install a wheel from Volumes or Workspace
%pip install /Volumes/catalog/schema/volume/your_library.whl

%pip 명령에는 Databricks 관련 가드레일이 포함되며 종속성을 Spark 실행기 노드로 전파합니다. 이렇게 하면 사용자 지정 종속성이 있는 UDF(사용자 정의 함수)를 사용할 수 있습니다.

자세한 예제는 명령을 사용하여 라이브러리 %pip 관리를 참조하세요.

SSH 서버가 종료되기 전에 다시 연결하면 설정 노트북을 다시 실행할 필요가 없습니다. 기본적으로 서버는 마지막 클라이언트가 연결이 끊긴 후 10분 후에 종료됩니다. 이 지연을 변경하려면 연결 방식에 해당하는 명령어와 함께 --shutdown-delay를 사용하세요:

  • 재사용 가능한 클래식 컴퓨트 연결의 경우, databricks ssh setup으로 지연을 설정하세요. 생성된 SSH 호스트 항목은 IDE에서 연결하거나 ssh <connection-name>를 실행할 때 지연이 적용됩니다.
  • 직접 CLI 연결의 지연을 databricks ssh connect로 설정하세요.

비고

동일한 클러스터의 여러 SSH 세션은 하나의 가상 환경을 공유합니다.

SSH 세션에서 Git을 사용하세요

비고

이 기능을 사용하려면 Git 폴더 미리 보기에 대한 Git CLI 지원이 필요합니다. Azure Databricks 미리 보기 관리를 참조하세요.

새로 만든 Git 폴더와 Databricks 작업 영역에서 구성한 Git 자격 증명을 사용하여 SSH 터널에서 Git CLI를 사용할 수 있습니다. Git CLI 명령 사용을 참조하세요.

CLI가 자격 증명을 자동으로 인식하지 못하고 자격 증명 입력을 요청하는 경우, Git 제공업체를 Databricks에 연결해야 합니다. Databricks에 Git 공급자 연결을 참조하세요.

SSH 터널 제한 사항

Databricks에서 제공하는 SSH 터널에는 다음과 같은 제한 사항이 있습니다.

  • 공유 클러스터는 지원되지 않습니다.
  • Databricks IDE 확장과 SSH 터널은 아직 호환되지 않으며 함께 사용해서는 안 됩니다.
  • 외부에서 /Workspace/Volumes편집된 파일은 /dbfs 클러스터를 다시 시작할 때 손실됩니다.
  • 클러스터당 최대 10개의 SSH 연결이 허용됩니다.
  • 비활성 세션은 1시간 후에 삭제될 수 있습니다.
  • SSH 터널은 다른 원격 환경 또는 Docker 컨테이너에서 시작할 수 없습니다.
  • 3개 이상의 Jupyter Notebook이 동시에 열려 있는 경우 성능 또는 연결 문제가 발생할 수 있습니다.

SSH 세션에서의 노트북 동작

SSH 터널을 사용하는 경우 Notebook에는 몇 가지 차이점이 있습니다.

  • Python 파일은 Databricks 전역(예: spark 또는 dbutils)을 정의하지 않습니다. 명시적으로 from databricks.sdk.runtime import spark를 사용하여 가져와야 합니다.
  • ipynb Notebook의 경우 다음 기능을 사용할 수 있습니다.
    • Databricks 전역 변수: display, displayHTML, dbutils, table, sql, udf, getArgument, sc, sqlContext, spark
    • %sql SQL 셀을 실행하는 매직 명령

Python 원본 "Notebooks"를 사용하려면 다음을 수행합니다.

  • jupyter.interactiveWindow.cellMarker.codeRegex을 검색하여 설정합니다.

    ^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])
    
  • jupyter.interactiveWindow.cellMarker.default을 검색하여 설정합니다.

    # COMMAND ----------
    

SSH 터널 연결 문제 해결

실패와 일치하는 증상부터 시작하세요:

증상 첫 번째 확인
SSH 연결에 실패하거나 타임아웃됩니다. 워크스페이스의 HTTPS 및 WebSocket 접근을 확인하세요. 클래식 컴퓨트의 경우, 클러스터 상태와 IDE 타임아웃도 확인하세요. SSH 연결이 실패하거나 시간 초과됨을 참조하세요.
CLI는 code을 찾을 수 없다고 보고합니다. 로컬 PATH에 Visual Studio Code 셸 명령을 설치하세요. 명령어code를 찾을 수 없습니다.
CLI 인증이 실패합니다. CLI 프로필을 확인하고, 클래식 컴퓨트의 경우 클러스터 권한을 확인하세요. CLI 인증 오류를 참조하세요.
CLI는 invalid_grant를 Refresh token is invalid와 함께 보고합니다. 같은 CLI 프로필로 다시 워크스페이스에 로그인한 후 연결을 다시 시도하세요. Refresh token is invalid을 참조하세요.
Python 코드 또는 노트북이 연결한 후 작동하지 않습니다. 선택한 인터프리터나 노트북 커널을 확인하세요. SSH 세션에서 Python 코드 또는 노트북이 실패하는 경우를 보세요.
클러스터 재시작 후에는 파일이 사라집니다. 파일이 일시적인 로컬 경로에 저장되어 있는지 확인하세요. 클러스터 재시작 후 파일이 사라지거나 환경이 초기화되는 경우를 참조하세요.

SSH 연결 실패 또는 타임아웃

  • 클래식 컴퓨트의 경우, 클러스터가 작업 공간 UI에서 실행되고 있는지 확인하세요.
  • 네트워크, VPN, 방화벽이 작업 공간 도메인에 HTTPS와 WebSocket 트래픽을 허용하는지 확인하세요. SSH 터널은 포트 22를 사용하지 않습니다. 모든 트래픽을 다른 Databricks CLI 명령어와 동일한 HTTPS 엔드포인트로 터널링합니다. 도메인 이름 방화벽 규칙 구성을 참조하세요.
  • 프록시나 방화벽이 TLS 트래픽을 검사한다면, WebSocket 업그레이드 요청을 허용하는지 확인하세요. 업그레이드를 차단하거나 제거하는 중개자가 연결을 실패하거나 타임아웃하게 만듭니다. 네트워크 관리자에게 워크스페이스 도메인에 대한 WebSocket 업그레이드를 허용하거나 해당 도메인의 TLS 검사를 우회하도록 요청하세요.
  • 기업용 HTTP 프록시를 통해 접속한다면, 환경 변수 NO_PROXY 를 HTTPS_PROXY 설정하거나 워크스페이스 도메인에서 프록시를 우회하세요. SSH 터널은 다른 Databricks CLI 명령어와 동일한 프록시 구성을 사용합니다. 프록시 서버 구성을 참조하세요.
  • 로컬 머신에서 release-assets.githubusercontent.com 및 github.com에 HTTPS로 접근할 수 있는지 확인하세요.
  • SSH 시간 제한을 늘입니다. Visual Studio Code 또는 커서를 사용하여 연결을 참조하세요.
  • 주요 불일치 오류가 발생할 경우, ~/.databricks/ssh-tunnel-keys를 삭제하고 databricks ssh setup을 다시 실행합니다.
  • "원격 호스트 식별이 변경되었습니다." 오류의 ~/.ssh/known_hosts 경우 파일을 확인하고 클러스터와 관련된 항목을 삭제합니다.
  • SSH 세션은 1시간 후에 삭제될 수 있으며 단일 클러스터에 10개 이하의 SSH 연결을 만들 수 있습니다. SSH 터널 제한 사항을 참조하세요.

code 명령어를 찾지 못했습니다

Error: exec: "code": executable file not found in $PATH가 표시되면 명령 팔레트(Cmd/Ctrl+Shift+P)를 열고 셸 명령: PATH에 'code' 명령 설치를 선택한 다음 IDE 또는 터미널 세션을 다시 시작하세요.

CLI 인증 오류

  • databricks auth login을 사용하여 작업 공간에 로그인하세요.
  • 클래식 컴퓨트의 경우, 클러스터에 대한 CAN MANAGE 권한이 있는지 확인하세요.

새로고침 토큰이 유효하지 않습니다

Refresh token is invalid이(가) invalid_grant, error getting token, databricks ssh connect와 함께 실패하면 권한 부여 서버가 CLI에 저장된 OAuth 새로 고침 토큰을 거부한 것입니다. 새 세션을 받으려면 다시 로그인하세요:

  1. 연결하려는 작업 공간의 구성 프로필을 식별하세요:

    databricks auth profiles --skip-validate
    
  2. 그 프로필로 다시 로그인하세요. /oidc/v1/token을 작업 공간 URL로 바꾸고, <profile-name> 경로는 제외한 다음, <workspace-url>를 일치하는 프로필 이름으로 바꾸세요:

    databricks auth login --host <workspace-url> --profile <profile-name>
    

    브라우저에서 로그인 흐름을 완료합니다.

  3. 같은 프로필로 연결을 다시 시도해 보세요:

    databricks ssh connect --ide vscode --profile <profile-name>
    

    --ide cursor커서를 사용하거나, 터미널 세션에서는 --ide생략하세요.

오류가 계속된다면, 실패한 명령이 방금 로그인할 때 사용한 작업 공간 및 프로필과 동일한 대상을 가리키는지 확인하세요. OAuth 사용자-기계(U2M) 인증도 참고하세요.

Python 코드나 노트북이 SSH 세션에서 실행되지 않습니다

  • SSH 세션에서 제공하는 Python 환경을 선택하세요. 노트북의 경우, 해당 환경을 커널로 설정하세요. SSH 세션에서 Python과 노트북 실행을 참고하세요.
  • IPYNB Notebook 및 *.py Databricks Notebook은 Databricks 글로벌에 액세스할 수 있지만 Python *.py 파일은 액세스할 수 없습니다. SSH 세션에서의 노트북 동작을 참고하세요.

클러스터 재시작 후 파일이 사라지거나 환경이 초기화됩니다

  • /Workspace, /Volumes, /dbfs 탑재 지점의 파일은 클러스터를 다시 시작할 때도 그대로 유지됩니다. 및 /home기타 로컬 경로의 /root파일은 임시이며 다시 시작할 때 손실됩니다.
  • 영구 종속성에 클러스터 라이브러리 관리를 사용합니다. 필요한 경우 init 스크립트를 사용하여 다시 설치를 자동화합니다. init 스크립트란?을 참조하세요.

WSL(Windows SSH 설정이 실패함)

Windows에서 databricks ssh setup를 WSL이 아닌 환경에서 직접 실행합니다. Windows Visual Studio Code 인스턴스는 WSL 쪽에서 만든 SSH 구성을 찾을 수 없습니다.

자주 묻는 질문(FAQ)

서버리스 컴퓨트는 SSH 설정이 필요한가요?

No. Databricks CLI를 설치하고 인증한 후, 서버리스 컴퓨트에 databricks ssh connect를 사용하세요. 이 명령어는 databricks ssh setup 클래식 전용 컴퓨트용으로 재사용 가능한 SSH 호스트 항목을 구성합니다.

Databricks SSH 터널에 포트 22가 필요한가요?

No. SSH 터널은 HTTPS를 통해 작업 공간 도메인으로 트래픽을 전달하며, WebSocket 지원이 필요합니다. 네트워크, VPN, 방화벽, 프록시가 해당 트래픽을 허용해야 합니다. SSH 연결 실패나 타임아웃을 보세요.

SSH 터널은 Databricks Connect와 어떻게 다른가요?

Databricks Connect를 사용하면 Spark API를 사용하여 코드를 작성하고 로컬 Spark 세션이 아닌 Databricks 컴퓨팅에서 원격으로 실행할 수 있습니다. Databricks Visual Studio Code 확장은 Databricks Connect를 사용하여 Databricks에서 사용자 코드의 기본 제공 디버깅을 제공합니다.

SSH 터널은 IDE에서 작업 공간에 접근할 수 있게 해주며, 전체 개발 환경을 컴퓨트 환경으로 옮깁니다. Python, 커널 및 코드 실행은 컴퓨트 리소스에 액세스할 수 있는 Azure Databricks에서 실행됩니다.

내 코드와 데이터는 어떻게 보호되는가?

SSH 트래픽은 종단 간 암호화되어 있으며, 코드는 연결한 Azure Databricks 컴퓨트에서 실행됩니다. 인증은 Databricks CLI와 설정한 작업 공간 프로필을 사용합니다. 지원되는 인증 방법은 무엇인가요?를 참조하세요.

지원되는 IDE는 무엇인가요?

Visual Studio Code 및 커서가 공식적으로 지원됩니다. SSH 기능을 사용하는 모든 IDE는 호환되지만 VS Code 및 커서만 테스트됩니다.

IDE에서 모든 Databricks Notebook 기능을 사용할 수 있나요?

와 같은 display()dbutils%sql 일부 기능은 제한 사항 또는 수동 설정과 함께 사용할 수 있습니다. SSH 세션에서의 노트북 행동을 참고하세요.

SSH 터널을 사용하여 연결할 때 클러스터가 자동으로 시작되나요?

예, 하지만 연결 시간 제한보다 클러스터를 시작하는 데 시간이 오래 걸리면 연결 시도가 실패합니다. 이를 방지하려면, 명령 팔레트에서 또는 를 사용하여 remote.SSH.connectTimeout 값을 늘려 시간 초과 오류의 가능성을 더 줄입니다.

클러스터가 실행 중인지 어떻게 알 수 있나요?

Databricks 작업 영역 UI에서 컴퓨팅 으로 이동하고 클러스터의 상태를 확인합니다. 클러스터에 SSH 연결이 작동하려면 실행 중 이 표시되어야 합니다.

SSH/IDE 세션의 연결을 끊는 방법

IDE 창을 닫거나, IDE의 연결 끊기 옵션을 사용하거나, SSH 터미널을 닫거나, 터미널에서 명령을 실행하여 세션 연결을 exit 끊을 수 있습니다.

작동하지 않을 때 클러스터를 중지하고 요금을 방지하려면 어떻게 해야 하나요?

즉시 중지하려면 작업 영역 UI에서 클러스터를 종료합니다. Databricks 작업 영역 UI에서 컴퓨팅 으로 이동하여 클러스터를 찾은 다음 종료 또는 중지를 클릭합니다.

작업 영역 UI에서 클러스터에 짧은 자동 종료 정책을 설정합니다. 연결을 끊은 후 SSH 서버는 기간(기본값: 10분)을 기다린 shutdown-delay 후 클러스터의 유휴 시간 제한이 적용됩니다.

영구 종속성을 어떻게 처리해야 하나요?

클러스터를 다시 시작한 후 세션 중에 설치된 종속성이 손실됩니다. 요구 사항 및 설정 스크립트에 영구 스토리지(/Workspace/Users/<your-username>)를 사용합니다. 자동화를 위해 클러스터 라이브러리 또는 init 스크립트를 사용합니다.

지원되는 인증 방법은 무엇인가요?

인증은 Databricks CLI 및 ~/.databrickscfg 프로필 파일을 사용합니다. SSH 키는 SSH 터널에서 처리됩니다.

클러스터에서 외부 데이터베이스 또는 서비스에 연결할 수 있나요?

예, 클러스터 네트워킹이 아웃바운드 연결을 허용하고 필요한 라이브러리가 있는 한.

추가 IDE 확장을 사용할 수 있나요?

대부분의 확장은 IDE 및 클러스터에 따라 원격 SSH 세션 내에 설치될 때 작동합니다. Visual Studio Code는 기본적으로 원격 호스트에 로컬 확장을 설치하지 않습니다. 확장 패널을 열고 원격 호스트에서 로컬 확장을 사용하도록 설정하여 수동으로 설치할 수 있습니다. 특정 확장을 항상 원격으로 설치하도록 Visual Studio Code를 구성할 수도 있습니다. Databricks에 연결을 참조하세요.

예. 다만, 워크스페이스 관리자는 Visual Studio Code 및 Cursor 확장 프로그램 마켓플레이스 URL을 허용 목록에 추가해야 합니다. 로컬 머신에도 인터넷에 액세스할 수 있는 기능이 있어야 합니다.