다음을 통해 공유


작업 영역 스토리지 계정에 대한 방화벽 지원 사용

각 Azure Databricks 작업 영역에는 작업 영역 스토리지 계정이라고 하는 관리되는 리소스 그룹에 연결된 Azure Storage 계정이 있습니다. 작업 영역 스토리지 계정에는 작업 영역 시스템 데이터(작업 출력, 시스템 설정 및 로그), DBFS 루트 및 경우에 따라 Unity 카탈로그 작업 영역 카탈로그가 포함됩니다. 이 문서에서는 ARM(Azure Resource Manager) 템플릿을 사용하여 권한 있는 리소스 및 네트워크에서만 작업 영역 스토리지 계정에 대한 액세스를 제한하는 방법을 설명합니다.

작업 영역 스토리지 계정에 대한 방화벽 지원은 무엇인가요?

기본적으로 작업 영역 스토리지 계정에 대한 Azure Storage 계정은 모든 네트워크에서 인증된 연결을 허용합니다. 이 액세스는 작업 영역 스토리지 계정에 대해 방화벽 지원을 사용하도록 설정하여 제한할 수 있습니다. 그러면 공용 네트워크 액세스가 허용되지 않으며 권한 없는 네트워크에서 작업 영역 스토리지 계정에 액세스할 수 없습니다. 조직에 스토리지 계정이 비공개로 유지되도록 하는 Azure 정책이 있는 경우 이를 구성할 수 있습니다.

작업 영역 스토리지 계정에 대한 방화벽 지원을 사용하도록 설정한 경우 Azure Databricks 외부의 서비스에서 모든 액세스는 Private Link에서 승인된 프라이빗 엔드포인트를 사용해야 합니다. Azure Databricks는 Azure 관리 ID를 사용하여 스토리지에 연결하는 액세스 커넥터를 만듭니다. Azure Databricks 서버리스 컴퓨팅에서 액세스하려면 서비스 엔드포인트 또는 프라이빗 엔드포인트를 사용해야 합니다.

요구 사항

  • 작업 영역에서 클래식 컴퓨팅 평면의 연결에 대해 VNet 삽입을 사용하도록 설정해야 합니다.

  • 작업 영역은 클래식 컴퓨팅 평면의 연결에 보안 클러스터 연결(공용 IP/NPIP 없음)을 사용하도록 설정해야 합니다.

  • 작업 영역은 프리미엄 플랜에 있어야 합니다.

  • 스토리지 계정의 프라이빗 엔드포인트에 대해 별도의 서브넷이 있어야 합니다. 이는 기본 Azure Databricks 기능을 위한 두 개의 주요 서브넷에 추가됩니다.

    서브넷은 작업 영역과 동일한 VNet 또는 작업 영역에서 액세스할 수 있는 별도의 VNet에 있어야 합니다. CIDR 표기법에서 최소 크기 /28을 사용합니다.

  • Microsoft Fabric Power BI 서비스와 함께 Cloud Fetch를 사용하는 경우 항상 작업 영역 스토리지 계정에 대한 프라이빗 액세스를 위해 게이트웨이를 사용하거나 Cloud Fetch를 사용하지 않도록 설정해야 합니다. 2단계(권장): Cloud Fetch 클라이언트 VNet에 대한 프라이빗 엔드포인트 구성을 참조하세요.

5단계: 필요한 ARM 템플릿 배포에서 ARM 템플릿을 사용하여 새 작업 영역을 만들 수도 있습니다. 이 경우 1~4단계를 따르기 전에 작업 영역의 모든 컴퓨팅을 종료합니다.

1단계: 스토리지 계정에 대한 프라이빗 엔드포인트 만들기

대상 하위 리소스dfsblob에 대해 VNet 삽입에 사용한 VNet에서 작업 영역 스토리지 계정에 두 개의 프라이빗 엔드포인트를 만듭니다.

  1. Azure Portal에서 작업 영역으로 이동합니다.

  2. Essentials에서 관리되는 리소스 그룹의 이름을 클릭합니다.

  3. 리소스에서 이름이 dbstorage로 시작하는 스토리지 계정 유형의 리소스를 클릭합니다.

  4. 사이드바에서 네트워킹을 클릭합니다.

  5. 프라이빗 엔드포인트 연결을 클릭합니다.

  6. + 프라이빗 엔드포인트를 클릭합니다.

  7. 리소스 그룹 이름 필드에서 리소스 그룹을 설정합니다.

    Important

    리소스 그룹은 작업 영역 스토리지 계정이 있는 관리되는 리소스 그룹과 동일하지 않아야 합니다.

  8. 이름 필드에서 이 프라이빗 엔드포인트의 고유한 이름입니다.

    • 각 원본 네트워크에 대해 만든 첫 번째 프라이빗 엔드포인트에 대해 DFS 엔드포인트를 만듭니다. Databricks는 -dfs-pe 접미사를 추가하는 것이 좋습니다.
    • 각 원본 네트워크에 대해 만드는 두 번째 프라이빗 엔드포인트의 경우 Blob 엔드포인트를 만듭니다. Databricks는 -blob-pe 접미사를 추가하는 것이 좋습니다.

    네트워크 인터페이스 이름 필드가 자동으로 채워집니다.

  9. 지역 필드를 작업 영역의 지역으로 설정합니다.

  10. 다음을 클릭합니다.

  11. 대상 하위 리소스에서 대상 리소스 종류를 클릭합니다.

    • 각 원본 네트워크에 대해 만든 첫 번째 프라이빗 엔드포인트의 경우 dfs로 설정합니다.
    • 각 원본 네트워크에 대해 만드는 두 번째 프라이빗 엔드포인트의 경우 Blob으로 설정합니다.
  12. 가상 네트워크 필드에서 VNet을 선택합니다.

  13. 서브넷 필드에서 스토리지 계정의 프라이빗 엔드포인트에 대해 가지고 있는 별도의 서브넷으로 서브넷을 설정합니다.

    이 필드는 프라이빗 엔드포인트에 대한 서브넷으로 자동으로 채워질 수 있지만 명시적으로 설정해야 할 수도 있습니다. 일반적으로 호출되는 private-subnetpublic-subnet이라는 기본 Azure Databricks 작업 영역 기능에 사용되는 두 작업 영역 서브넷 중 하나를 사용할 수 없습니다.

  14. 다음을 클릭합니다. DNS 탭은 이전에 선택한 올바른 구독 및 리소스 그룹에 자동으로 채워집니다. 필요한 경우 변경합니다.

  15. 원하는 경우 다음을 클릭하고 태그를 추가합니다.

  16. 다음을 클릭하고 필드를 검토합니다.

  17. 만들기를 클릭합니다.

작업 영역 스토리지 계정에 대한 방화벽 지원을 사용하지 않도록 설정하려면 위와 동일한 프로세스를 사용하지만, 스토리지 계정 방화벽 매개 변수(템플릿의 storageAccountFirewall)를 Disabled로 설정하고 작업 영역에서 Unity 카탈로그 작업 영역 카탈로그를 사용하는지 여부에 따라 Workspace Catalog Enabled 필드를 true 또는 false로 설정합니다. Azure Databricks의 카탈로그란?을 참조하세요.

2단계(권장): Cloud Fetch 클라이언트 VNet에 대한 프라이빗 엔드포인트 구성

Cloud Fetch는 데이터를 BI 도구로 더 빠르게 가져오기 위해 클라우드 스토리지를 통해 병렬로 데이터를 가져오는 ODBC 및 JDBC의 메커니즘입니다. BI 도구에서 1MB보다 큰 쿼리 결과를 가져오는 경우 Cloud Fetch를 사용할 가능성이 높습니다.

참고 항목

Azure Databricks에서 Microsoft Fabric Power BI 서비스를 사용하는 경우 이 기능이 Fabric Power BI에서 작업 영역 스토리지 계정에 대한 직접 액세스를 차단하므로 Cloud Fetch를 사용하지 않도록 설정해야 합니다. 또는 가상 네트워크 데이터 게이트웨이나 온-프레미스 데이터 게이트웨이를 구성하여 작업 영역 스토리지 계정에 대한 프라이빗 액세스를 허용할 수 있습니다. 이는 Power BI 데스크톱에는 적용되지 않습니다. Cloud Fetch를 사용하지 않도록 설정하려면 EnableQueryResultDownload=0 구성을 사용합니다.

Cloud Fetch를 사용하는 경우 Cloud Fetch 클라이언트의 VNet에서 작업 영역 스토리지 계정에 대한 프라이빗 엔드포인트를 만듭니다.

Cloud Fetch 클라이언트에 대한 각 원본 네트워크에 서로 다른 두 개의 대상 하위 리소스dfsblob을 사용하는 두 개의 프라이빗 엔드포인트를 만듭니다. 자세한 단계는 1단계: 스토리지 계정에 대한 프라이빗 엔드포인트 만들기를 참조하세요. 이러한 단계에서 프라이빗 엔드포인트를 만들 때 가상 네트워크 필드의 경우 각 Cloud Fetch 클라이언트에 대한 원본 VNet을 지정해야 합니다.

3단계: 엔드포인트 승인 확인

스토리지 계정에 대한 모든 프라이빗 엔드포인트를 만든 후 승인되었는지 확인합니다. 자동 승인하거나 스토리지 계정에서 승인해야 할 수 있습니다.

  1. Azure Portal에서 작업 영역으로 이동합니다.
  2. Essentials에서 관리되는 리소스 그룹의 이름을 클릭합니다.
  3. 리소스에서 이름이 dbstorage로 시작하는 스토리지 계정 유형의 리소스를 클릭합니다.
  4. 사이드바에서 네트워킹을 클릭합니다.
  5. 프라이빗 엔드포인트 연결을 클릭합니다.
  6. 연결 상태를 확인하여 승인되었음을 확인하거나 선택하고 승인을 클릭합니다.

4단계: 서버리스 컴퓨팅 연결 권한 부여

NCC(네트워크 연결 구성)를 작업 영역에 연결하여 작업 영역 스토리지 계정에 연결하도록 서버리스 컴퓨팅에 권한을 부여해야 합니다. NCC가 작업 영역에 연결되면 네트워크 규칙이 작업 영역 스토리지 계정에 대한 Azure Storage 계정에 자동으로 추가됩니다. 지침은 서버리스 컴퓨팅 액세스를 위한 방화벽 구성을 참조하세요.

프라이빗 엔드포인트를 사용하여 Azure Databricks 서버리스 컴퓨팅에서 액세스를 사용하도록 설정하려면 Azure Databricks 계정 팀에 문의하세요.

5단계: 필요한 ARM 템플릿 배포

이 단계에서는 ARM 템플릿을 사용하여 Azure Databricks 작업 영역을 관리합니다. Terraform을 사용하여 작업 영역을 업데이트하거나 만들 수도 있습니다. azurerm_databricks_workspace Terraform 공급자를 참조하세요.

  1. Azure Portal에서 Deploy a custom template을 검색하여 선택합니다.

  2. 편집기에서 사용자 고유의 템플릿을 빌드합니다.를 클릭합니다.

  3. 작업 영역 스토리지 계정에 대한 방화벽 지원을 위해 ARM 템플릿에서 ARM 템플릿을 복사하여 편집기에서 붙여넣습니다.

  4. 저장을 클릭합니다.

  5. 필드를 검토하고 편집합니다. 구독, 지역, 작업 영역 이름, 서브넷 이름, 기존 VNet의 리소스 ID와 같은 작업 영역을 만드는 데 사용한 매개 변수와 동일한 매개 변수를 사용합니다.

    필드에 대한 설명은 ARM 템플릿 필드를 참조하세요.

  6. 검토 및 만들기, 만들기를 차례로 클릭합니다.

참고 항목

작업 영역 스토리지 계정의 공용 네트워크 액세스는 프라이빗 엔드포인트 없이 서버리스 컴퓨팅 리소스를 지원하기 위해 선택한 가상 네트워크 및 IP 주소에서 사용으로 설정되고 사용 안 함으로 설정되지 않습니다. 작업 영역 스토리지 계정은 관리되는 리소스 그룹에 있으며 스토리지 방화벽은 서버리스 연결을 위해 NCC(네트워크 연결 구성)를 작업 영역에 추가할 때만 업데이트할 수 있습니다. 프라이빗 엔드포인트를 사용하여 Azure Databricks 서버리스 컴퓨팅에서 액세스를 사용하도록 설정하려면 Azure Databricks 계정 팀에 문의하세요.