Share via


서버리스 컴퓨팅 액세스를 위한 방화벽 구성

참고 항목

2023년 10월 31일 이전에 Azure Databricks 설명서의 서브넷 ID를 사용하여 스토리지 방화벽을 구성한 경우 Databricks는 이 문서의 단계에 따라 또는 프라이빗 엔드포인트를 사용하여 작업 영역을 업데이트하는 것이 좋습니다. 기존 작업 영역을 업데이트하지 않도록 선택하면 변경 없이 계속 작동합니다.

이 문서에서는 Azure Databricks 계정 콘솔 UI를 사용하여 서버리스 컴퓨팅에 대한 Azure Storage 방화벽을 구성하는 방법을 설명합니다. 네트워크 커넥트성 구성 API를 사용할 수도 있습니다.

서버리스 컴퓨팅 액세스에 대한 프라이빗 엔드포인트를 구성하려면 서버리스 컴퓨팅에서 프라이빗 연결 구성을 참조 하세요.

참고 항목

현재 서버리스 기능에 대한 네트워킹 요금은 없습니다. 이후 릴리스에서는 요금이 청구될 수 있습니다. Azure Databricks는 네트워킹 가격 변경에 대한 사전 알림을 제공합니다.

서버리스 컴퓨팅에 대한 방화벽 사용 개요

서버리스 네트워크 연결은 NCC(네트워크 연결 구성)로 관리됩니다. 계정 관리자는 계정 콘솔에서 NCC를 만들고 NCC를 하나 이상의 작업 영역에 연결할 수 있습니다.

NCC에는 Azure 리소스 종류에 대한 네트워크 ID 목록이 기본 규칙으로 포함되어 있습니다. NCC가 작업 영역에 연결되면 해당 작업 영역의 서버리스 컴퓨팅은 해당 네트워크 중 하나를 사용하여 Azure 리소스를 연결합니다. Azure 리소스 방화벽에서 해당 네트워크를 나열하도록 허용할 수 있습니다.

NCC 방화벽 사용은 관리하는 데이터 원본에 대해 서버리스 SQL 웨어하우스에서만 지원됩니다. 서버리스 컴퓨팅 평면의 다른 컴퓨팅 리소스에서는 지원되지 않습니다.

필요에 따라 서버리스 SQL 웨어하우스를 포함하여 권한 있는 네트워크에서만 작업 영역 스토리지 계정에 대한 네트워크 액세스를 구성할 수 있습니다. 작업 영역 스토리지 계정에 대한 방화벽 지원 사용을 참조 하세요. NCC가 작업 영역에 연결되면 네트워크 규칙이 작업 영역 스토리지 계정에 대한 Azure Storage 계정에 자동으로 추가됩니다.

NCC 에 대한 자세한 내용은 NCC(네트워크 연결 구성)란?을 참조하세요.

지역 간 스토리지 액세스의 비용 영향

Azure Databricks 서버리스 SQL 웨어하우스의 지역 간 트래픽(예: 작업 영역은 미국 동부 지역에 있고 ADLS 스토리지는 서유럽에 있음)의 경우 Azure Databricks는 Azure NAT 게이트웨이 서비스를 통해 트래픽을 라우팅합니다.

Important

현재 이 기능을 사용하는 데는 요금이 부과되지 않습니다. 이후 릴리스에서는 사용 요금이 청구될 수 있습니다. 이러한 요금을 방지하기 위해 Databricks는 스토리지와 동일한 지역에 작업 영역을 만드는 것이 좋습니다.

요구 사항

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

  • Azure Databricks 계정 관리자여야 합니다.

  • 각 NCC는 최대 50개의 작업 영역에 연결할 수 있습니다.

  • 각 Azure Databricks 계정에는 지역당 최대 10개의 NCC가 있을 수 있습니다.

    • Azure Storage 계정의 네트워크 규칙에 액세스할 수 있어야 합니다 WRITE .

1단계: 네트워크 연결 구성 만들기 및 서브넷 ID 복사

Databricks는 동일한 사업부의 작업 영역과 동일한 지역 및 연결 속성을 공유하는 작업 영역 간에 NCC를 공유하는 것이 좋습니다. 예를 들어 일부 작업 영역에서 스토리지 방화벽을 사용하고 다른 작업 영역이 Private Link의 대체 방법을 사용하는 경우 이러한 사용 사례에 대해 별도의 NCC를 사용합니다.

  1. 계정 관리자로서 계정 콘솔로 이동합니다.
  2. 사이드바에서 클라우드 리소스를 클릭합니다.
  3. 네트워크 커넥트성 구성을 클릭합니다.
  4. 네트워크 커넥트성 구성 추가를 클릭합니다.
  5. NCC의 이름을 입력합니다.
  6. 지역을 선택합니다. 이는 작업 영역 지역과 일치해야 합니다.
  7. 추가를 클릭합니다.
  8. NCC 목록에서 새 NCC를 클릭합니다.
  9. 네트워크 ID 아래의 기본 규칙에서 모두 보기를 클릭합니다.
  10. 대화 상자에서 서브넷 복사 단추를 클릭하고 서브넷 목록을 저장합니다.
  11. 닫기를 클릭합니다.

3단계: 작업 영역에 NCC 연결

NCC와 동일한 지역에 있는 최대 50개의 작업 영역에 NCC를 연결할 수 있습니다.

API를 사용하여 NCC를 작업 영역에 연결하려면 계정 작업 영역 API참조하세요.

  1. 계정 콘솔 사이드바에서 작업 영역을 클릭합니다.
  2. 작업 영역의 이름을 클릭합니다.
  3. 작업 영역 업데이트를 클릭합니다.
  4. 네트워크 커넥트성 구성 필드에서 NCC를 선택합니다. 표시되지 않는 경우 작업 영역과 NCC 모두에 대해 동일한 지역을 선택했는지 확인합니다.
  5. 업데이트를 클릭합니다.
  6. 변경 내용이 적용될 때까지 10분 정도 기다립니다.
  7. 작업 영역에서 실행 중인 서버리스 SQL 웨어하우스를 다시 시작합니다.

이 기능을 사용하여 작업 영역 스토리지 계정에 연결하는 경우 구성이 완료됩니다. 네트워크 규칙은 작업 영역 스토리지 계정에 자동으로 추가됩니다. 추가 스토리지 계정의 경우 다음 단계를 계속 진행합니다.

3단계: 스토리지 계정 잠금

Azure Storage 계정에 대한 액세스를 허용 목록에 있는 네트워크로만 제한하지 않은 경우 지금 이 작업을 수행합니다. 작업 영역 스토리지 계정에 대해 이 단계를 수행할 필요가 없습니다.

스토리지 방화벽을 만들면 클래식 컴퓨팅 평면에서 리소스로의 연결에도 영향을 줍니다. 또한 클래식 컴퓨팅 리소스에서 스토리지 계정에 연결하는 네트워크 규칙을 추가해야 합니다.

  1. Azure Portal로 이동합니다.
  2. 데이터 원본에 대한 스토리지 계정으로 이동합니다.
  3. 왼쪽 탐색 창에서 네트워킹을 클릭합니다.
  4. 공용 네트워크 액세스 필드에서 값을 검사. 기본적으로 이 값은 모든 네트워크에서 사용하도록 설정됩니다. 선택한 가상 네트워크 및 IP 주소에서 사용 으로 변경합니다.

4단계: Azure Storage 계정 네트워크 규칙 추가

작업 영역 스토리지 계정에 대해 이 단계를 수행할 필요가 없습니다.

  1. 각 서브넷에 대해 하나의 Azure Storage 계정 네트워크 규칙을 추가합니다. Azure CLI, PowerShell, Terraform 또는 기타 자동화 도구를 사용하여 이 작업을 수행할 수 있습니다. 이 단계는 Azure Portal 사용자 인터페이스에서 수행할 수 없습니다.

    다음 예제에서는 Azure CLI를 사용합니다.

    az storage account network-rule add --subscription "<sub>" \
        --resource-group "<res>" --account-name "<account>" --subnet "<subnet>"
    
    • <sub>를 스토리지 계정에 대한 Azure 구독의 이름으로 바꿉니다.
    • 스토리지 계정의 리소스 그룹으로 바꿉 <res> 니다.
    • 스토리지 계정의 이름으로 바꿉니다 <account> .
    • 서버리스 SQL 웨어하우스 서브넷의 ARM 리소스 ID(resourceId)로 바꿉 <subnet> 니다.

    모든 명령을 실행한 후 Azure Portal을 사용하여 스토리지 계정을 보고 새 서브넷을 나타내는 Virtual Networks 테이블에 항목이 있는지 확인할 수 있습니다. 그러나 Azure Portal에서는 네트워크 규칙을 변경할 수 없습니다.

    엔드포인트 상태 열에서 "권한 부족"의 멘션 무시하거나 네트워크 목록 아래의 경고를 무시합니다. Azure Databricks 서브넷을 읽을 수 있는 권한이 없지만 Azure Databricks 서버리스 서브넷이 Azure Storage에 연결할 수 있는 기능을 방해하지 않음을 나타냅니다.

    Virtual Networks 목록의 새 항목 예

  2. 모든 서브넷에 대해 이 명령을 한 번 반복합니다. 필요에 따라 네트워크 규칙 만들기 프로세스를 자동화할 수 있습니다. 네트워크 규칙 만들기 자동화를 참조하세요.

  3. 스토리지 계정이 Azure Portal에서 이러한 설정을 사용하는지 확인하려면 스토리지 계정의 네트워킹으로 이동합니다.

    선택한 가상 네트워크 및 IP 주소에서 공용 네트워크 액세스가 사용으로 설정되고 허용된 네트워크가 Virtual Networks 섹션에 나열되어 있는지 확인합니다.

네트워크 규칙 만들기 자동화

Azure CLI 또는 Powershell을 사용하여 스토리지 계정에 대한 네트워크 규칙 만들기를 자동화할 수 있습니다.

이 Azure CLI 예제에서는 루프와 함께 사용하여 각 서브넷에 대한 명령을 실행할 수 있는 목록의 두 서브넷을 사용합니다. 이 예제 mystorage-rg 에서는 리소스 그룹이며 myaccount 스토리지 계정입니다.

#!/bin/bash
SUBNETS=(/subscriptions/8453a5d5-9e9e-40c7-87a4-0ab4cc197f48/resourceGroups/prod-azure-eastusc3-nephos2/providers/Microsoft.Network/virtualNetworks/kaas-vnet/subnets/worker-subnet /subscriptions/8453a5d5-9e9e-40c7-87a4-0ab4cc197f48/resourceGroups/prod-azure-eastusc3-nephos3/providers/Microsoft.Network/virtualNetworks/kaas-vnet/subnets/worker-subnet)
for SUBNET in ${SUBNETS[@]}
do
  az storage account network-rule add --subscription 9999999-1ff3-43f4-b91e-d0ceb97111111 --resource-group mystorage-rg --account-name myaccount --subnet ${SUBNET}
done

Powershell을 사용하려면 다음 명령을 사용합니다.

Add-AzStorageAccountNetworkRule -ResourceGroupName <resource group name> -Name <storage account name> -VirtualNetworkResourceId <subnets>

다음을

  • <resource group name> 스토리지 계정의 리소스 그룹으로 이동합니다.
  • <storage account name>를 스토리지 계정 이름으로 바꿉니다.
  • <subnets> 쉼표로 구분된 서브넷 리소스 ID 목록이 있는 경우